DOMANDA Libri Game Programmer?

Tonino30

Nuovo Utente
11
0
Salve a tutti, volevo chiedervi un consiglio su qualche libro interessante per programmare, e mi scuso in anticipo se sono nella sezione sbagliata. Essendo in Estate, volevo approfittare del tempo per leggere qualcosina su questo argomento, ma non saprei proprio da dove cominciare. Libri sul C++, C# o direttamente un libro che parli delle fasi di un videogioco, non ne ho la minima idea su dove metter piede.

So che intraprendere questa strada è molto difficile, e anche se intriga non è di certo semplice, ma è una passione che va avanti da tempo, che vorrei trasformare in lavoro prima o poi

P.S= Ho 17 anni, quindi sto ancora studiando i linguaggi di programmazione alle superiori, anche se non è molto approfondito(almeno da quel che vedo)
 

Marcus Aseth

Utente Attivo
404
138
OS
Windows 10
Tutti i libri che conoscono al massimo ti guidano a fare un gioco per console(console di window, quel blocco nero con caratteri al suo interno xD) esclusi alcuni tipo SDL Game Development che è piu grafico ma ho letto un sacco di brutte recensioni per via di errori nel libro ecc... quindi un'esperienza frustrante in quel caso.

Il punto è che (come immagino gia sai) creare un gioco non è un gioco e quindi ogni argomento dall'IA alla grafica agli algoritmi ecc... richiede un libro (o piu!) tutto suo a parte, per cui semplicemente se trovi un libro che contiene TUTTO, allora non vale la pena leggerlo perchè è troppo superficiale.

La cosa piu vicina a quello che stai cercando penso sia questa serie qui https://hero.handmade.network/episodes dove l'host crea un engine e pure il gioco e ti mostra e spiega tutto passo passo, dove ogni entry in quella lista è un video di 50 minuti circa e ciò và avanti da piu di un anno quindi se noti ci sono in al momento in cui scrivo 396 video da 50 minuti ciascuno, tutti sullo sviluppo dello stesso gioco.
Non usa molto C++ moderno da quel che sento (piu C) ma il succo della creazione del gioco è lo stesso indipendentemente da quello.
Buona visione.
 

1nd33d

Utente Attivo
653
279
CPU
Intel i5 3570K @ 4,5Ghz
Dissipatore
Scythe Mugen 2
Scheda Madre
Gigabyte Z77X-UD3H
HDD
Samsung 840 PRO 256GB + Sandisk Ultra 250GB + Sandisk Plus 960GB
RAM
2x8GB Crucial Ballistix Tactical @2000Mhz CL9
GPU
XFX RX480 GTR Black Edition
Audio
Auzentech X-Fi Forte
Monitor
AOC i2369VW
PSU
Seasonic P660
Case
eh?
Periferiche
Razer Naga HEX v2
OS
Windows 10 64bit - Linux Mint 18
Programmazione e "creazione di videogiochi" sono due cose che in relazione al contesto possono essere molto distanti.
Reinventarsi la ruota (l'engine) non ha molto senso, se non per curiosità e interesse specifico. In generale studi piccoli o medi prediligono l'utilizzo di engine già pronti o che necessitano di piccole modifiche, così che allo sviluppatore del gioco rimane al più una parte di scripting e il team può concentrarsi sullo sviluppo dei contenuti (ciò che è realmente importante) e non perdere tempo in scrittura e debug di un codice potenzialmente molto complesso.
Tra l'altro il C++ è uno dei linguaggi più problematici da gestire... se vuoi intraprendere quella strada, sai che dovrai perderci tanto (tanto) tempo prima di produrre qualcosa che potresti produrre con molta meno fatica. Il punto è capire se vuoi imparare come funziona un game engine, o se vuoi creare un gioco.
 
  • Mi piace
Reazioni: Mursey

Tonino30

Nuovo Utente
11
0
Beh, in realtà il punto è che non so esattamente come procedere, o meglio non so bene di cosa si occupa specificatamente un Game Engine Programmer rispetto agli altri. L'unica cosa su cui sono sicuro è che il mio obiettivo non è quello di creare il codice da zero, quindi penso che la strada che voglio intraprendere non sia quella di Game Engine Programmer. Il punto è: quali sono esattamente i compiti degli altri? Non vorrei che alla fine scelgo un ruolo che non mi si addice.

Sì, lo so di essere molto confuso, ma non ho mai trovato qualcosa che spieghi perfettamente questo campo(o magari sono cieco io, può essere)
 

1nd33d

Utente Attivo
653
279
CPU
Intel i5 3570K @ 4,5Ghz
Dissipatore
Scythe Mugen 2
Scheda Madre
Gigabyte Z77X-UD3H
HDD
Samsung 840 PRO 256GB + Sandisk Ultra 250GB + Sandisk Plus 960GB
RAM
2x8GB Crucial Ballistix Tactical @2000Mhz CL9
GPU
XFX RX480 GTR Black Edition
Audio
Auzentech X-Fi Forte
Monitor
AOC i2369VW
PSU
Seasonic P660
Case
eh?
Periferiche
Razer Naga HEX v2
OS
Windows 10 64bit - Linux Mint 18
Beh, in realtà il punto è che non so esattamente come procedere, o meglio non so bene di cosa si occupa specificatamente un Game Engine Programmer rispetto agli altri. L'unica cosa su cui sono sicuro è che il mio obiettivo non è quello di creare il codice da zero, quindi penso che la strada che voglio intraprendere non sia quella di Game Engine Programmer. Il punto è: quali sono esattamente i compiti degli altri? Non vorrei che alla fine scelgo un ruolo che non mi si addice.
Come detto sopra, studi piccoli e medi tipicamente usano game engine già completi, collaudati e mantenuti da professionisti (Unreal Engine, Cryengine, Unity...).
Il ruolo che tu descrivi è riservato a grandi studi (almeno qualche decina di sviluppatori software) dove i ruoli sono molti e diversi. Se tu lavori nel team di engine develeoper (insieme ad altre persone ovviamente, non lo farai mai da solo a meno che non devi scrivere giochi semplicissimi), ci saranno altri team che si occuperanno delle animazioni, altri dei tools per lo sviluppo e interfacce utente, altri del networking, altri si occuperanno del gameplay, dei contenuti...

Giusto per darti una idea, sul sito del team Cryengine nella sezione "carriere" ci sono offerte di lavoro per posizioni aperte nei più disparati ruoli, tra cui, appunto, engine programmer: http://www.crytek.com/career/offers...gramming-engineering/senior-engine-programmer Nella colonna di sinistra vedrai anche altre posizioni aperte e la descrizione delle stesse. Puoi farti una idea dell'immensità di competenze e il numero di persone richieste anche solo per creare l'engine, su cui dopo qualcuno creerà un gioco (Cryengine è un engine, non un gioco...).

Riassumendo: il C++ è il linguaggio d'elezione per creare engine potenti e complessi, ma voglio sottolineare un paio di cose:
1) C++ è un linguaggio complesso e "pericoloso", se non lo conosci bene rischi di farti male.
2) C++ è solo un linguaggio, per contribuire allo sviluppo di un engine è necessario avere forti competenze in software engineering e software development (non solo saper programmare, ma anche sapere *come* farlo).
3) Programmare è solo parte dell'implementazione: se programmi la parte grafica dovrai avere solide nozioni di algebra lineare e algoritmi; se programmi la parte network dovrai conoscere le reti di calcolatori molto bene... e così via
4) Non lo fai da solo.
 
Ultima modifica:

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!