C# C# e game design....?

Stato
Discussione chiusa ad ulteriori risposte.

Frattak_

Utente Emerald
25 Settembre 2009
1,123
97
206
604
Come da titolo sarei interessato ad intraprendere un percorso di istruzione che mi porti a diventare un game designer,ho cercato in rete e da quel che ho capito un game designer dovrebbe avere una conoscenza generale,in modo tale da incastrarsi bene nel team e poter collaborare con programmatori e sviluppatori vari.....il C# per iniziare va bene o mi consigliate qualcos'altro?


P.S:Sto facendo in 3° scientifico ma dato che il massimo di informatica che ci fanno fare è usare office penso mi convenga studiare da autodidatta in modo tale che quando andrò all'università non mi ritroverò in una condizione di svantaggio abissale rispetto agli altri....
 
Ultima modifica:
A livello professionale non va bene, le grandi software house utilizzano il: C++ per i lori giochi, motori grafici etc... per ovvi motivi. Mentre a livello hobbistico\Indie va più che bene, dipende dai tuoi obbiettivi.
 
A livello professionale non va bene, le grandi software house utilizzano il: C++ per i lori giochi, motori grafici etc... per ovvi motivi. Mentre a livello hobbistico\Indie va più che bene, dipende dai tuoi obbiettivi.
MA il C++ non è un'estensione del C#?Cioè,se studio bene il C# poi posso facilmente passare al C++ no?
 
MA il C++ non è un'estensione del C#?Cioè,se studio bene il C# poi posso facilmente passare al C++ no?
Il c++ è un evoluzione del c, e in più supporta l'object oriented. Il csharp è sviluppato dalla microsft ed anch'esso un evoluzione del c, ma col c++ non centra nulla, anche se ha un sintassi simile proprio perchè entrambi nascono dal c.
 
Il c++ è un evoluzione del c, e in più supporta l'object oriented. Il csharp è sviluppato dalla microsft ed anch'esso un evoluzione del c, ma col c++ non centra nulla, anche se ha un sintassi simile proprio perchè entrambi nascono dal c.
Quindi in soldoni,cosa mi conviene fare?Il C# non è anch'esso object oriented?Leggevo su wikipedia che le differenze col C++ sono abbastanza poche.....
 
Ti perdi i puntatori (che puoi comunque usare in C# ma non sono necessari), e credimi è una bel vantaggio :)

Il mio consiglio è prendi bene la mano con un linguaggio ad alto livello (C#, java, ecc.. anche perchè per fare un gioco ne hai bisogno, non è così semplice) e poi passi a C++. In questo modo ti sarà più facile entrare nella programmazione a più basso livello che è un po' più complcata (C/C++,asm ecc...)
 
Quindi in soldoni,cosa mi conviene fare?Il C# non è anch'esso object oriented?Leggevo su wikipedia che le differenze col C++ sono abbastanza poche.....

Non devi guardare le differenze di features... o comunque differenze di performance tra una applicazione scritta in: .NET e un'altra scritta in: C++, in quanto nei giochi la situazione è del tutto differente.

Le differenze principali sono, per il C#: la perdita di performance nei giochi, la poco portabilità; il c# + xna gira solo su: Windows, Xbox e Phone 7, e anche su xbox sviluppatori anche avuto non pochi problemi di perfomance... ora non so come è messo xna 4, librerie, etc.

Il C++, da come si può intuire, è decisamente più performante per queste tipo di cose, hai la gestione della memoria nelle tue mani, la quale è un punto critico nei giochi, gira su: Ps3. Xbox, Windows, Linux etc... etc..., puoi sfruttare le OpenGL o le DirectX, non "wrappate", quindi le pure, hai a disposizione motori fisici come: Havok, PhysX, Bullet etc... praticamente, se il tuo intendo è lavorare in questo campo, l'unica scelta che puoi fare, è il: C++, non ci sono vie di mezzo.
 
Non devi guardare le differenze di features... o comunque differenze di performance tra una applicazione scritta in: .NET e un'altra scritta in: C++, in quanto nei giochi la situazione è del tutto differente.

Le differenze principali sono, per il C#: la perdita di performance nei giochi, la poco portabilità; il c# + xna gira solo su: Windows, Xbox e Phone 7, e anche su xbox sviluppatori anche avuto non pochi problemi di perfomance... ora non so come è messo xna 4, librerie, etc.

Il C++, da come si può intuire, è decisamente più performante per queste tipo di cose, hai la gestione della memoria nelle tue mani, la quale è un punto critico nei giochi, gira su: Ps3. Xbox, Windows, Linux etc... etc..., puoi sfruttare le OpenGL o le DirectX, non "wrappate", quindi le pure, hai a disposizione motori fisici come: Havok, PhysX, Bullet etc... praticamente, se il tuo intendo è lavorare in questo campo, l'unica scelta che puoi fare, è il: C++, non ci sono vie di mezzo.
E il C++ posso studiarlo da subito o è meglio che faccio come dice Exit93 ed inizio con C# o java?
 
Ultima modifica:
Fai come vuoi, tanto qui danno consigli a pazzo di cane xD. Chi dice: parti dal C (quindi prima ti metti a pensarla come ragiona la macchina, e poi dovrai subirti il dramma del passaggio, dal procedurale all'oop ([l'oop è più vicino all'uomo, infatti sono concetti che applichiamo nella vita reale e in ogni momento]), ora persino, studiarsi prima il: C#\Java per poi passare al C++... io ti consiglio di studarti: l'asm per poi passare ad autoit per poi passare al python per poi passare al c++ (scherzo)
 
Fai come vuoi, tanto qui danno consigli a pazzo di cane xD. Chi dice: parti dal C (quindi prima ti metti a pensarla come ragiona la macchina, e poi dovrai subirti il dramma del passaggio, dal procedurale all'oop ([l'oop è più vicino all'uomo, infatti sono concetti che applichiamo nella vita reale e in ogni momento]), ora persino, studiarsi prima il: C#\Java per poi passare al C++... io ti consiglio di studarti: l'asm per poi passare ad autoit per poi passare al python per poi passare al c++ (scherzo)
Vabbè,parto diretto dal C++ e salto tutte ste rogne.......ci sono videoguide buone in italiano?Anche l'inglese va bene ovviamente.....
 
Non devi guardare le differenze di features... o comunque differenze di performance tra una applicazione scritta in: .NET e un'altra scritta in: C++, in quanto nei giochi la situazione è del tutto differente.

Le differenze principali sono, per il C#: la perdita di performance nei giochi, la poco portabilità; il c# + xna gira solo su: Windows, Xbox e Phone 7, e anche su xbox sviluppatori anche avuto non pochi problemi di perfomance... ora non so come è messo xna 4, librerie, etc.

Il C++, da come si può intuire, è decisamente più performante per queste tipo di cose, hai la gestione della memoria nelle tue mani, la quale è un punto critico nei giochi, gira su: Ps3. Xbox, Windows, Linux etc... etc..., puoi sfruttare le OpenGL o le DirectX, non "wrappate", quindi le pure, hai a disposizione motori fisici come: Havok, PhysX, Bullet etc... praticamente, se il tuo intendo è lavorare in questo campo, l'unica scelta che puoi fare, è il: C++, non ci sono vie di mezzo.

Ci sono diversi in giochi in C#, le prestazioni sono quasi pari al C++ ;) (Sempre supponendo che entrambi i codici siano scritti nel modo migliore possibile)
E per quanto riguarda il multipiattaforma non è così semplice, in C++ devi stare attento a fare un codice che vada su tutte le piattaforme e con mono C# gira su tutte le piattaforme (e non devi stare attento a fare un codice multipiattaforma, giusto per le cartelle).
Ormai hanno portato anche le XNA su mono

E il C++ posso studiarlo da subito o è meglio che faccio come dice Exit93 ed inizio con C# o java?

Puoi studiare C++ da subito ma ti sarà più complicato che studiarlo dopo aver acquisito la mentalità da programmatore. Però è anche vero che i linguaggi ad alto livello saranno facili per te.
 
Se ti interessa un linguaggio (per esempio, perché è il più adatto per sviluppare giochi) studiati quello. Passare da un linguaggio quando l'obbiettivo è un altro linguaggio è controproducente.
Come ti è già stato detto in C++ hai molte librerie a disposizione (per grafica, fisica, audio, etc) e questo non è un vantaggio da poco; oltre a questo hai anche più performance di molti altri linguaggi (C# incluso) e hai la possibilità di portare lo stesso codice su più piattaforme (la cosa si complica un po', ma è fattibilissimo).

Detto questo è meglio chiarire un po' di cose... una volta chiarite ti possiamo dare consigli più appropriati.
cos'è un game designer per te? cosa vuoi fare nel lato pratico? dirigere un team, ideare grafica e gameplay, programmare il gioco o cosa?
Il gioco lo vuoi fare in 3D o in 2D? (sappi che in difficoltà c'è una differenza non indifferente tra i due)
Hai preso in considerazione l'ipotesi di usare un editor?
Hai conoscenze di programmazione? (quanto tempo vuoi dedicare all'apprendimento di un linguaggio?)

È inutile dirti di studiare il C++ (molto tempo da dedicargli e molto tempo senza fare giochi), che è il più adatto nel mondo dei videogames, quando magari ti annoieresti soltanto perché non è quello che cerchi.
 
Se ti interessa un linguaggio (per esempio, perché è il più adatto per sviluppare giochi) studiati quello. Passare da un linguaggio quando l'obbiettivo è un altro linguaggio è controproducente.
Come ti è già stato detto in C++ hai molte librerie a disposizione (per grafica, fisica, audio, etc) e questo non è un vantaggio da poco; oltre a questo hai anche più performance di molti altri linguaggi (C# incluso) e hai la possibilità di portare lo stesso codice su più piattaforme (la cosa si complica un po', ma è fattibilissimo).

Detto questo è meglio chiarire un po' di cose... una volta chiarite ti possiamo dare consigli più appropriati.
cos'è un game designer per te? cosa vuoi fare nel lato pratico? dirigere un team, ideare grafica e gameplay, programmare il gioco o cosa?
Il gioco lo vuoi fare in 3D o in 2D? (sappi che in difficoltà c'è una differenza non indifferente tra i due)
Hai preso in considerazione l'ipotesi di usare un editor?
Hai conoscenze di programmazione? (quanto tempo vuoi dedicare all'apprendimento di un linguaggio?)

È inutile dirti di studiare il C++ (molto tempo da dedicargli e molto tempo senza fare giochi), che è il più adatto nel mondo dei videogames, quando magari ti annoieresti soltanto perché non è quello che cerchi.
Io ho intenzione di diventare un game designer,inteso come colui che mette l'idea alla base del gioco e che quindi deve anche supportarla ideando scenari e parti del gameplay,però per fare ciò e guidare un ipotetico team verso ciò che desidero occorre anche intervenire sul campo e per farlo servono conoscenze di più cose possibili,prima di preoccuparmi della scelta dell'università ho ancora 2 anni e voglio impiegarli al meglio cercando di apprendere più cose possibili....il gioco vorrei svilupparlo in 3d,non importa se occorre tempo,ma se dite che è meglio che inizi col 2d farò così,meglio dare retta a chi ne sà di più di me dato che non ho nessuna conoscenza della programmazione.....Per l'uso di un editor a me va benissimo usare un editor,ma non è meglio che prima di iniziare a fare giochi,anche se con un editor preesistente,mi studi il linguaggio alla base?
 
Io ho intenzione di diventare un game designer,inteso come colui che mette l'idea alla base del gioco e che quindi deve anche supportarla ideando scenari e parti del gameplay,però per fare ciò e guidare un ipotetico team verso ciò che desidero occorre anche intervenire sul campo e per farlo servono conoscenze di più cose possibili,prima di preoccuparmi della scelta dell'università ho ancora 2 anni e voglio impiegarli al meglio cercando di apprendere più cose possibili....il gioco vorrei svilupparlo in 3d,non importa se occorre tempo,ma se dite che è meglio che inizi col 2d farò così,meglio dare retta a chi ne sà di più di me dato che non ho nessuna conoscenza della programmazione.....Per l'uso di un editor a me va benissimo usare un editor,ma non è meglio che prima di iniziare a fare giochi,anche se con un editor preesistente,mi studi il linguaggio alla base?

Se non hai intenzione di programmare il gioco ti consiglio di evitare il C++, non è un linguaggio tanto semplice da imparare... dai un occhiata a python, C#, java o altri. Per dare direttive suppongo che "basti" imparare la mentalità e sopratutto le tecniche utilizzate (almeno puoi consigliare chi ha il compito principale [programmatori, grafici, etc]), secondo me non ha senso imparare a fondo un linguaggio quando il tuo compito non è programmare.
Il 3D è più impegnativo sia per i grafici (i disegni 2D [anche se brutti] li sanno fare tutti, ma per farli 3D bisogna necessariamente studiare di più) che per i programmatori (la matematica 3D è più complessa e gestire modelli invece che sprite è più complesso, esperienza personale); sicuramente ti consiglio di iniziare con il 2D, sia per te che per gli altri membri del team.
Ovviamente queste sono solo mie opinioni... non so come si faccia il game designer e come apprendere meglio questo compito.

Se vuoi un consiglio: capisci perfettamente quali sono i tuoi compiti e prova a fare qualcosa (tira su un team); nel peggiore dei casi fallisci e hai un pizzico di esperienza in più per il progetto successivo.
 
Ultima modifica:
Se non hai intenzione di programmare il gioco ti consiglio di evitare il C++, non è un linguaggio tanto semplice da imparare... dai un occhiata a python, C#, java o altri. Per dare direttive suppongo che "basti" imparare la mentalità e sopratutto le tecniche utilizzate (almeno puoi consigliare chi ha il compito principale [programmatori, grafici, etc]), secondo me non ha senso imparare a fondo un linguaggio quando il tuo compito non è programmare.
Il 3D è più impegnativo sia per i grafici (i disegni 2D [anche se brutti] li sanno fare tutti, ma per farli 3D bisogna necessariamente studiare di più) che per i programmatori (la matematica 3D è più complessa e gestire modelli invece che sprite è più complesso, esperienza personale); sicuramente ti consiglio di iniziare con il 2D, sia per te che per gli altri membri del team.
Ovviamente queste sono solo mie opinioni... non so come si faccia il game designer e come apprendere meglio questo compito.

Se vuoi un consiglio: capisci perfettamente quali sono i tuoi compiti e prova a fare qualcosa (tira su un team); nel peggiore dei casi fallisci e hai un pizzico di esperienza in più per il progetto successivo.
Vabè ma il ruolo di un game designer è polifunzionale,vorrei comunque apprendere un linguaggio,in modo tale che poi posso anche dare una mano o comunque adattarmi ad altri ruoli.....e da quel che ho capito il C++ è il più completo,anche se più complesso quindi direi di studiarmelo tanto ho ancora 2 anni,tanto vale approfittarne e più avanti provare a fare qualche giochino anche aiutandomi con editor e SDK....

---------- Post added at 16:14 ---------- Previous post was at 00:32 ----------

La guida di html.it sul C++ com'è?
 
per il game programming sicuramente il C++
se però non sei piu che determinato e pensi che per le tue caratteristiche personali non arriverai in fondo e ti stuferai (la strada del game development non è cosi semplice come si pensa) allora inutile perdere tempo, imparati il C# o ancora meglio il VB.NET che a livello professionale (non parlo di game development) sono molto utilizzati e ti torneranno sempre utili.
 
per il game programming sicuramente il C++
se però non sei piu che determinato e pensi che per le tue caratteristiche personali non arriverai in fondo e ti stuferai (la strada del game development non è cosi semplice come si pensa) allora inutile perdere tempo, imparati il C# o ancora meglio il VB.NET che a livello professionale (non parlo di game development) sono molto utilizzati e ti torneranno sempre utili.
Tranquillo,sono determinato......appena trovo una buona guida comincio subito,ne avete da consigliare?
 
Per il C++ ce ne sono una marea

Ogre3D;
Irrlicht;
Pixelight;
etc...

Informati un po' su tutti, e poi fai la tua scelta.
 
Stato
Discussione chiusa ad ulteriori risposte.