Una lista (da prendere con le dovute cautele) di libri da studiare per diventare gamedev

0

Tutti i libri da studiare per diventare programmatori di videogiochi, dagli inizi fino alle tecniche più avanzate (Via Reddit: http://bit.ly/2pb3sKl).

miloyip/game-programmer

github.com
game-programmer – A Study Path for Game Programmer

Lo schema e’ ben fatto ma tra i contenuti c’e’ anche roba pessima, libri che dire che sono diseducativi e’ poco…

uooops, sorry non immaginavo

Purtroppo trovare libri che hanno senso e’ difficile perche’ la maggior parte della gente che scrive libri non ha una gran storia nell’industria. Soprattutto fuori dall’a-b-c, dalla roba introduttiva.

Cio’ detto, leggere un po di tutto non fa mai male eh, basta prendere tutto con “grain of salt” e non credere ciecamente a cio’ che e’ scritto in un libro, assumendo che libro = gente importante

Poi nella lista c’e’ assolutamente un sacco di roba buona che anche io consiglierei… Un altro difetto e’ che e’ troppo grande e quindi tra cosi’ tanta roba uni rischia di iniziare dai libri peggiori.

Va detto che la lista e’ su github, potremmo forkarla e fare la lista made in gameloop!

Quali sarebbero i libri peggiori o che sconsiglieresti? Io l’ho letta al volo e alcuni li ho già letti e mi sentirei di consigliarli.

Allor. Una buona meta’ di quei libri sul C++ andrebbe segata, inoltre e’ abbastanza preoccupante notare che c’e’ un solo libro di C (il K&R) e da li una marea di roba sul C++, due libri su lua e C# e null’altro. In particolare, nulla su linguaggi che usino paradigmi diversi OOP.

Roba tipo Boost e’ da evitare come la peste, Modern C++ design e’ un libro da mettere al bando (e credo che anche Alexandrescu oggi se ne penta, non so). Design patters vanno banditi, tre libri su UML? Ma non scherziamo 😀 API Design for C++…

Poi mette libri base di CS teorica, ok, algorithms and data structures, certo. Ma non c’e’ nulla su roba che si usa in pratica, di sapere cosa sono i red-black trees ok, simpatico, ma nella vita reale e’ completamente inutile, con quei quattro testi li non saprai nulla di utile per scrivere giochi… Tipo, non saprai cos’e’ una cache…

I libri di matematica “di base” proposti sono mediocri e ridondanti (quei quattro parlano quasi tutti delle stesse cose). I libri di engine etc, non puoi mettere roba tipo tricks of windows game programming gurus (che gia’ il titolo… lol), che ti parla di DirectDraw…

Libri che insegnano OpenGL, ma peggio, -legacy- openGL, roba che oggi e’ deprecata… Una buona meta’ dei libri di CG sulla lista sono vecchi o ridondanti, non magari neanche pessimi, ma inutili. Questo un po e’ vero per quasi tutte le sezioni…

un’ecatombe!

Nah manco tanto, alla fine c’è un sacco di roba buona, anche ottima (visualizing quaternions, div curl grad, realtime collision detection e mille altri) ma se la mischi con roba mediocre o vecchia o alle volte proprio errata, non fai in favore a chi cerca una guida

Gaetano quali sono i libri che hai letto e che consigli?

Sono d’accordo con te con la questione della ridondanza di alcuni libri e sicuramente sul fatto che leggere i libri in sequenza così non serve a niente. Sbattersi LUA se poi non lo si usa, non ha senso. Però lo prendo come uno “schemino” teorico. I libri che ho letto e che mi sento di consigliare sono, più o meno, questi:

C (K&R), lo Stroustrup per il C++ e poi il Meyers. Poi il 3D math primer for game development e Game Physics Engine.

Poi, per me, sono indispensabili ( per te da evitare ), Design Patterns della Gang of Four e Head First Design Patterns. Che, non sono libri che vanno presi come il vangelo, ma comunque li trovo indispensabili al fine di poter scrivere codice manutenibile. Poi possiamo parlarne per ore, ma io mi sono sempre trovato bene ad usarli.

Letti questi, credo che si possa andare avanti da soli. OpenGL, DX, Shaders etc etc c’è veramente una montagna di roba sulla quale potersi istruire. Ma i libri che ho elencato danno una base solida.

🙂

Un tempo ero molto piu’ in prima linea contro i design pattern, oggi non ce n’e’ bisogno perche’ per fortuna sono morti.

E’ da anni che non sento parlare di DP e non vedo aziende chiederne la conoscenza nei colloqui, quindi, mission accomplished. Qualche volta, le idee sbagliate riescono a perire.

Cio’ detto, un vecchio post al riguardo http://c0de517e.blogspot.ca/2008/04/singletons-new-superglue.html ma sicuramente ancor meglio leggere qualcuno di piu’ autorevole http://realtimecollisiondetection.net/blog/?p=44 http://realtimecollisiondetection.net/blog/?p=81

Singletons: the new superglue

c0de517e.blogspot.ca
Realtime rendering and videogame programming mostly, but I love computer science and visuals in all their forms. This is a notepad of my ideas.

Ma che i Singleton sono il male lo sanno pure i sassi :P. Ma non credo che solo questo giustifichi il tuo disappunto.

Cmq lo leggerò e ti risponderò volentieri non appena ho tempo.

I singleton sono il pattern piu’ usato tra i design patterns, in assoluto. Cio’ detto non se ne salva nessuno, perche’ e’ l’idea di base che e’ una fesseria

Continuo a non essere d’accordo, io uso molto spesso l’Observer, il Factory, il Command da anni senza sentirmi nel girone dell’inferno. Il Singleton é un arma a doppio taglio, ma non lo uso più da tempo.

Beh certo, perche’ e’ quello il ruolo dei DP. Ti fanno sentire al calduccio di (supposti) anni di scuola di Buon Design anche se in verita’ stai semplicemente facendo copia ed incolla di roba mediocre senza motivo.

Il singleton e’ solo l’epicentro, il piu’ illustre, il piu’ chiaro esempio. E’ -esattamente- idempotente a scrivere una banalissima variabile globale in C, ma se la chiami “singleton” fa subito design… E -nessuno- che legge quella merda e dice, oh, ma questa e’ -esattamente- una variabile globale, ne piu’, ne meno…

Leggo l’articolo e cerco di risponderti. Perché se rimaniamo generici non ne veniamo fuori :P.

In materia di AI idem.
Ci sono cose classiche e che vanno benissimo ma anche qualcuna un po’ sui generis già allora ed adesso ovviamente datata.
Naturalmente sarebbe utile avere riferimenti specifici anche a machine learning che, certo, è cosa più recente ma avrà una utilità sempre maggiore e “trasversale” (non solo per fare training di un controller per un bot/NPC).

Comments are closed.