Sicuramente vi sarà capitato di finire su un “awesome-like repository” come questo: https://github.com/mbrukman/awesome-gamedev

Per quanto attraente sia questo format di repository, ha diversi problemi e penso che con l’aiuto di tutti i professionisti che abbiamo qui su Gameloop, si possa fare una lista di risorse molto più utile e valida di quelle che si trovano in giro al momento.

Vi spiego i problemi che trovo attualmente:

  1. Non si è a conoscenza di chi consiglia le risorse e perché lo consiglia (potrebbero essere persone che non hanno nulla a che fare con il gamedev)
  2. Non si può chiedere informazioni/feedback a nessuno
  3. Troppe risorse: alla fine ci si limita a cliccare un paio di link a caso

Proposta

Ho creato un repository di prova: [EDIT: link aggiornato al repository ufficiale GL] https://github.com/GameLoop-it/libri-gamedev/tree/master

Fatemi sapere cosa ne pensate e sentitevi obbligati a dire la vostra e a proporre modifiche (sia direttamente tramite pull request, che come feedback).

Butto cosi su due piedi i primi libri che mi vengono in mente che ho acquistato recentemente (ovviamente principalmente orientati al rendering):
– Real Time Rendering 4th Edition
– Physically Based Rendering: from Theory to Implementation
– Foundations of Game Engine Development, Volume 1: Mathematics
– Real-Time Collision Detection
– GPU Zen: Advanced Rendering Techniques

Prima di ogni altra cosa, consiglio la lettura delle mie bellissime note. 😅

Corralx Riguardo al rendering, per i buzzurri illetterati con la terza elementare come me, consiglio anche “Ray Tracing from the Ground Up” di Kevin Suffern che ti impara le basi, le tabelline del raytracing. 😉

Altre risorse che ho linkato di recente in chat riguardo l’andare un po’ piu’ nel low level sono:
Programming from the Ground Up
– Il sempre verde Smashing The Stack For Fun And Profit
– La recente presentazione di Godbolt al CppCon 2018: The Bits Between the Bits: How We Get to main()

Ah, e prima che qualcun altro lo faccia, linko anche A Study Path for Game Programmer.

Ottimo, quindi immagino che l’idea vi piaccia 😃 Allora il repository lo apro direttamente sotto l’organizzazione Github di Gameloop e poi ci aggiungo anche i vostri suggerimenti!

@Corralx ma quei libri li hai già letti tutti? 😮

@encelo in realtà di quel repository ne avevamo parlato alla fine di una live twitch. La presentazione è ottima, però ci sono troppi libri ed alcuni nemmeno meritevoli di una lettura (sotto opinione di Wintermute). Ed onestamente il tizio non lo conosco, non so se sia veramente affidabile… per dire, preferisco i consigli made in GameLoop 😛

PS: una cosa che mi piace di quel repository è che dispone i libri per formare un percorso di crescita. Infatti potremmo pensare anche noi di usare quella struttura e mettere i vari libri in sequenza. Magari quando ci saranno contributi e feedback anche dagli altri.

davcri @encelo in realtà di quel repository ne avevamo parlato alla fine di una live twitch. La presentazione è ottima, però ci sono troppi libri ed alcuni nemmeno meritevoli di una lettura (sotto opinione di Wintermute). Ed onestamente il tizio non lo conosco, non so se sia veramente affidabile… per dire, preferisco i consigli made in GameLoop 😛

Si, quel repo e’ una accozzaglia, ha le freccine (a volte sensate, a volte meno) e basta. Non e’ chiaro cosa ogni libro contenga (non e’ “curato”, appunto) e quindi ha il problema classico che diventa una pila di roba non digeribile e di difficile orientamento, e anzi in alcuni casi la combo pila+frecce+no informazioni sforna delle ciofeche, tipo sotto “Computer Science”, lo step 1, ci sta “Compuer Science Foundation” e la freccia a “Structure and Intepretation of Computer Programs”, che probabilmente il 90% dei programmatori professionisti non ha mai letto per piu’ di qualche pagina (e nel caso di gamedev estenderei la percentuale al 98% tipo)… Pero’ uno che arriva a quella lista dal nulla rischia di pensare che sia un libro fondamentale!

Quindi si, ci sta avere una lista piu’ curata, e magari possiamo non fare i percorsi ma possiamo listare i libri che sono per “iniziare” o per “esperti”, e magari anche metterli in ordine nella lista, non so…

Sono d’accordo @Wintermute, per ora teniamolo così semplice ed inseriamo solo dei feedback personali ed il livello!

@encelo e @Corralx proprio per mantenere “ordine e pulizia” nella lista, potete aggiungere delle considerazioni brevi a fianco ai vostri consigli (come ha fatto Winter)? Anzi se fate il commit direttamente sul repo è meglio, così si può fare anche il git blame per sapere chi ha aggiunto qualcosa 😆