PDA

View Full Version : [c/c++]Informazioni per gioco 3D


sam333
09-07-2013, 08:15
Ciao a tutti è un po di tempo che stavo pensando di provare a creare uno giochino scemo in 3D o in prima persona...in c o in caso in c++ dato che mi hanno detto che è più adatto, ora però non saprei da dove partire ...secondo voi qual è la libreria più adatta?con la quale si riesce a raggiungere un buon livello...e seconda cosa sapete consigliarmi qualche guida,tutorial,libro o manuale in pdf per aiutarmi è imparare le basi e come andare avanti? naturalmente su windows

grazie in anticipo a tutti....

banryu79
09-07-2013, 12:22
Non pensare al linguaggio o alle librerie/framework, per ora: pensa al giochino.
Cioè prova a prendere carta & penna (oppure i loro equivalenti elettronici) e prova a buttare giù un abbozzo di descrizione del giochino che vorresti implementare.
Concentrati su qualcosa di molto, molto, molto, mooooolto semplice, per cominciare. Pensa al gameplay e a poche semplici features che servono per sostenere quel gamaplay.

Butta giù un'idea di massima e poi si valuta cosa usare per l'implementazione.
Questo è quello che ti consiglio di fare invece del solito approccio (scelgo linguaggio ambiente e poi una scusa per usarli)

sam333
09-07-2013, 14:47
eh sì un idea c'è l ho però non so quale libreria usare....e non ho un manuale o guida...

vendettaaaaa
09-07-2013, 15:55
edit

sam333
09-07-2013, 19:16
vi serve lo schizzo del progetto?ah scusate non avevo capito......penavo di fare un gioco MOLTO Breve ....in terza persona dove il personaggio si trova in una stanza e ha un enigma da risolvere per uscire e nel momento in cui esce il gioco finisce....lo so è una cavolata però giusto per imparare o una cosa simile a slender o a crash bandicoot(solo un mini livello) cose diciamo semplici anche se tanto semplici non sono per me..:stordita:

banryu79
10-07-2013, 08:41
vi serve lo schizzo del progetto?ah scusate non avevo capito...
Ciao, dunque il "progetto" non serve a noi, serve a te :)

L'idea è che prima svisceri un attimo per benino quello che vuoi realizzare.
La descrizione qua sotto è un'inizio:

...penavo di fare un gioco MOLTO Breve ....in terza persona dove il personaggio si trova in una stanza e ha un enigma da risolvere per uscire e nel momento in cui esce il gioco finisce...

Se scrivi un documento che delinea i puti salienti del gioco e ne definisce il gameplay, sei costretto a fermarti a riflettere per bene su diversi aspetti (con il limite delle tue conoscenze specifiche attuali) inerenti il gameplay.
Questo dovrebbe aiutarti a individuare, in linea di massima, le features (funzionalità) neccessarie per supportare quel gameplay e quindi dovresti poterle elencare.

Fatto questo ti puoi orientare sugli strumenti da utilizzare con l'aiuto del forum/altri utenti.

Sviluppa un po' l'idea che hai avuto, ad esempio, partendo dal gamplay minimale che hai descritto prima (personaggio intrappolato dentro una stanza che deve risolvere un enigma per poterne uscire) prova a immaginare una stanza definendo un enigma per batterla.
Descrivi la stanza, com'è fatta, qual'è l'enigma e come è integrato nell'ambiente, dove si trova il giocatore imprigionato nella stanza, cosa deve fare per liberarsi (risolvere l'enigma) e come può interagire con l'ambiente:
- se e come può spostarsi nell'ambiente;
- se e come può modifcare l'ambiente.

Cerca di considerare ogni aspetto e tenere tutto molto semplice.

sam333
10-07-2013, 15:34
grazie per gli ottimi consigli!!:D ho iniziato a buttare giu il "copione" del gioco...e di certo ora riuscirò ad avere le idee più chiare e sarà più ordinato....però il problema non sono le idee...ma come realizzarlo....non saprei da dove partire ne come fare per realizzarlo per quello chiedo quale libreria e se c era un manuale o libro...che spiegasse le basi...

Tommo
10-07-2013, 16:43
Unity 3D Free (http://unity3d.com/unity/download/) e passa la paura :D

Se è un gioco 3D in prima persona dove giri e clicchi le cose ci metti seriamente un'oretta a farlo, una volta che capisci come funziona.
Il problema è fare i modelli 3D :read:
Quelli puoi rubbarli da internet, oppure se ti va di farti del male e farteli da solo puoi prendere la versione Student di Maya o Blender che è sempre gratis.

PS: l'approccio "prima scrivi tutto il GDD e poi esegui" lo trovo personalmente pessimo, i giochi si fanno iterando e provando... you can't design "fun" (cit.).
Però si, almeno il tipo di gioco a grandi linee dovresti averlo presente... anche se probabilmente, qualsiasi cosa sia 3D è meglio farla con Unity comunque :D

PPS: a meno che non hai intenzione di studiare per cultura personale/carriera non usare C++. Se non sai dove mettere le mani, per fare una cosa semplice come quella che dici puoi metterci mesi.

sam333
10-07-2013, 17:01
Avrei un paio di domande cosa intendi con "rubare"?non credo si possa:eek:
come mai mi scondigli c++ anche se ci impiego tanto?e un ultima cosa ma unity non usa il c# e la verione gratuita non è molto limitata?

Tommo
10-07-2013, 18:47
Con "rubare" intendevo semplicemente scaricarli da internet, ci sono un sacco di siti che regalano modelli 3D prefabbricati... anche se di solito fanno veramente schifo :asd:

Unity free ha tutto tranne le cose più avanzate e dato che hai aperto il thread penso che al 99% non ti serviranno...
il C++ te lo sconsiglio per il 3D perchè la matematica diventa complicata e il codice da scrivere è tanto... per fare un "semplice giochino in prima persona" paragonabile a un gioco moderno ti servirebbe di scrivere, come minimo:
-la base di un motore grafico
-codice di skinning per le animazioni (matrici e quaternioni come se piovesse)
-supporto agli shader
-gli shader
-un importer di .fbx per caricare modelli + animazioni
-sistema per le particelle
-sistema di shadow mapping più o meno complesso

e questo prima ancora di iniziare a scrivere il gioco stesso... e se non sai di cosa si parla non sarà facile.
Se ti va di perderci tempo e studiarti queste cose fai pure (per me scrivere questa roba è divertente di per se :asd: ) ma se il tuo obiettivo è fare un gioco in meno di un anno, usa Unity che ha tutto già fatto :)

PS usa C# ma senza .NET, quindi gira dappertutto.

sam333
10-07-2013, 19:23
e come reperisco le guide o le informazioni per tutto questo?...

Alex_87_xelA
10-07-2013, 19:48
Ciao a tutti è un po di tempo che stavo pensando di provare a creare uno giochino scemo in 3D o in prima persona...in c o in caso in c++ dato che mi hanno detto che è più adatto, ora però non saprei da dove partire ...secondo voi qual è la libreria più adatta?con la quale si riesce a raggiungere un buon livello...e seconda cosa sapete consigliarmi qualche guida,tutorial,libro o manuale in pdf per aiutarmi è imparare le basi e come andare avanti? naturalmente su windows

grazie in anticipo a tutti....

su windows puoi utilizzare sia le OpenGL che le DirectX come librerie grafiche per realizzare giochi ad alte prestazioni, e i relativi linguaggi di shading GLSL(OpenGL) e HLSL(DirectX).
Ma prima di utilizzarle dovrai conoscere BENE anche le API di Windows, (Windows SDK) oltre che il c++, matematica, fisica, algebra(per far muovere gli oggetti, ruotarli, ... ).

OpenGL può essere utilizzato in multipiattaforma, quindi potrai programmare sia per Windows che per Ubuntu che per Mac che per ... (ad esempio), mentre con le DirectX puoi programmare solo per Windows.

Quindi se dovrai studiarti tutte queste cose ti consiglio il seguente ordine:
0- Basi di Informatica, programazione
1- C++, C++11
2- Windows SDK (fondamentali ... Window, Threads e sincronizzazione, Socket (per multiplayer ad esempio), gestione mouse e tastiera, ...)
3- matematica, fisica, algebra (almeno)
4- DirectX(con HLSL) oppure OpenGl(con GLSL)
----------------------------------------------

c'è n'è da studiare :)

Tommo
10-07-2013, 19:56
e come reperisco le guide o le informazioni per tutto questo?...

www.google.com

Ti ho consigliato Unity anche perchè è il motore più usato e più documentato, quando hai un problema al 99% qualcuno l'ha già affrontato e risolto :D
Per partire prova le guide ufficiali :D

Se vuoi provare C++ invece a parte internet ci sono diversi libri che trattano questi argomenti, ma non saprei consigliartene uno (personalmente ho sempre usato internet).

Corollario: qualsiasi cosa decidi, abituati a usare google, e impara l'inglese :asd:

sam333
13-07-2013, 19:38
e questi modelli gratuiti per unity dove li trovo?