Je suis un programmeur normal avec environ 3 ans d'expérience, qui s'intéresse au développement de jeux. Le problème auquel je suis confronté est que lorsque je regarde ces livres "débutants", la plupart d'entre eux enseignent des compétences de base en programmation, et je n'ai pas la patience de les parcourir ou de les trouver utiles. Mais, quand je regarde des livres plus avancés, ils sont au-dessus de ma tête, et encore une fois, sans résultat pour moi. Ce que je recherche, ce sont des livres qui expliquent les aspects internes des jeux, mais à un niveau plus raisonnable.
Par exemple, je connais très bien toutes sortes de structures de données (hachages, arborescences, listes liées) et de nombreux algorithmes courants (tri, recherche), mais je ne saurais pas, disons, mettre en œuvre efficacement la détection de collision. J'ai également de l'expérience avec les bibliothèques étrangères, donc je sais comment utiliser la documentation pour apprendre une API, donc je n'ai pas besoin non plus d'un livre "Apprendre à utiliser X".
Personnellement, je me fiche des plates-formes / langues / bibliothèques utilisées dans les livres, car je suis à l'aise dans de nombreuses langues, mais le jeu que je cherche à utiliser utiliserait Javascript et la toile HTML5.
Aucune suggestion? Certains sont gratuits?
PS Je dois noter que mon niveau de mathématiques et de physique est relativement faible, et un livre qui intégrerait doucement ces choses serait un plus.
EDIT: Je dois mentionner que je suis intéressé par la programmation 2D, et à ce stade, je ne me soucie pas encore vraiment de la 3D.
Réponses:
Avez-vous regardé la série Game Programming Gems ? Cela pourrait vous donner les détails que vous semblez demander. Il n'y a pas beaucoup de livres sur HTML5 / canvas car c'est assez nouveau, surtout ceux qui parlent de programmation de jeux.
la source
Quel aspect de la programmation de jeux vous intéresse? Il y a pas mal de livres qui traitent d'aspects spécifiques de la programmation de jeux. La mise en place et le fonctionnement d'un jeu ne sont pas difficiles, et toute logique de jeu est similaire à la façon dont vous géreriez les données pour toute autre application, peut-être un peu plus préoccupée par la vitesse d'exécution. Entrer dans des choses comme la programmation graphique peut cependant être quelque chose de complètement différent. Commencez avec un cadre de base d'un jeu, puis concentrez-vous sur un domaine qui vous intéresse, comme la conception d'un système de combat robuste, ou la synchronisation d'animation ou des shaders.
Livres de type informations générales que j'ai trouvé utiles:
Vous en êtes probablement au stade où vous obtiendrez le plus d'informations en consultant diverses publications de didacticiels pour des moteurs spécifiques en ligne. Il existe également un nombre suffisant de jeux open source que vous pouvez consulter.
Une chose intéressante à étudier pourrait être le moteur Monocle .
Modifier :
En ce qui concerne les mathématiques, je suis également un peu fragile sur mes fondations. Khan Academy est une bonne ressource pour ces matières générales .
Pour d'autres trucs gratuits, parcourez simplement GameDev.net, et éventuellement les articles MSDN pour XNA.
la source
Si vous êtes confiant avec la programmation orientée objet, vous devez vous assurer de choisir quelque chose qui couvre la conception orientée composant. C'est une approche de programmation au sein de la POO qui est très puissante dans le développement de jeux et est devenue une approche standard au cours de la dernière décennie.
Deux ressources qui ont énormément contribué à ma compréhension de la DCO:
Il y a une réponse sur Stack Overflow qui contient une liste incroyable de ressources: l' ingénierie logicielle basée sur les composants dans la littérature des jeux .
Remarque: COD n'est pas utilisé uniquement dans le développement de jeux. Vous pouvez trouver des ressources qui expliquent COD dans des contextes complètement différents, qui ne seront pas nécessairement utiles du tout pour comprendre le rôle qu'il joue dans les jeux (YMMV).
la source
Je vais ajouter au déluge de titres ici:
Architecture du moteur de jeu par Jason Gregory (Naughty Dog) pour un aperçu général du moteur de jeu à un niveau raisonnablement détaillé.
Détection de collision en temps réel par Christer Ericson (God of War) pour un aperçu détaillé et complet des systèmes de détection de collision.
Rendu en temps réel par Tomas Moller et Eric Haines pour un traitement similaire en profondeur du rendu.
la source
Je recommande Introduction à la programmation de jeux avec DirectX 9.0c: A Shader Approach par Frank Luna. Il est également disponible pour D3D10 si vous êtes curieux. Le livre suppose des connaissances de base en C ++ mais rien de spécifique au jeu et aucun COM, et commence par diverses bases mathématiques comme les vecteurs et les matrices, et guide assez doucement l'utilisateur à travers la configuration des jeux de base à intermédiaire. Ce qui est notable, bien sûr, c'est que le temps passant, les choses changent - par exemple, il n'enseigne pas l'instanciation matérielle ou d'autres optimisations relativement nouvelles.
la source
Je viens de trouver un éditeur avec ce qui semble être une grande liste de livres possibles: http://www.courseptr.com/Courses.aspx?MenuId=8&MenuSubId=0 - ce sont les éditeurs de la série Game Programming Gems.
la source