Où puis-je trouver de bons exemples (bien organisés) de code de jeu? [fermé]

42

Où puis-je trouver de bons exemples (bien organisés) de code de jeu? J'espère pouvoir obtenir quelques conseils d'organisation. La plupart des exemples de livres sont trop courts et laissent de nombreux détails par souci de brièveté. Je suis particulièrement intéressé par la façon de regrouper vos variables et méthodes afin qu'un autre programmeur sache où chercher dans le code. Par exemple, les initialiseurs en haut, puis les méthodes qui prennent des entrées, puis les méthodes qui mettent à jour les vues.

Je me fiche d'une langue en particulier, aussi longtemps que la POO. J'ai regardé les sources de Quake 2 et 3, mais elles sont droites et ne sont pas très utiles pour obtenir des astuces pour organiser vos objets.

Alors, avez-vous vu une bonne source? N'importe quel indicateur de code qui vous fait dire "wow, c'est bien organisé" serait génial.

smasher
la source
1
Ce n'est pas vraiment une réponse directe, alors je vais le laisser comme un commentaire. Je vous recommande de consulter le livre Conception de logiciels à grande échelle C ++ de John Lakos. C'était très éclairant pour moi.
Braffle

Réponses:

19

Plusieurs jeux commerciaux ont vu leur code source publié. Certains des jeux sont énumérés ici . Rien ne garantit que le code est bien organisé, mais en regardant du code source de jeux qui ont connu un succès commercial, vous aurez peut-être une bonne idée de ce qui fonctionne dans la pratique.

En outre, bien qu’il ne s’agisse pas d’un jeu, OpenSceneGraph contient la plupart des composants d’un jeu et est bien conçu en C ++; il utilise différents modèles de conception, plug-ins, etc. Il s’agit d’une base de code suffisamment grande et suffisamment ancienne pour que vous puissiez apprendre beaucoup de cela.

kevin42
la source
1
Merci, la liste Wikipedia était utile. Le printemps est vraiment bien organisé - toutes les méthodes sont regroupées par fonction générale (chargement / enregistrement, dessin, etc.) github.com/spring/spring/blob/master/rts/Game/Game.h Aquaria m'a aidé à me sentir mieux organisation du code: hg.icculus.org/icculus/aquaria/file/f08b7288f92c/Aquaria/… Je ne devrais pas critiquer les vrais artistes.
smasher
J'ajouterais Ogre comme une bonne référence avec OpenSceneGraph ...
Klaim
6

La bataille de Wesnoth est un:

Jeu de stratégie tactique gratuit au tour par tour avec un thème de haute fantaisie, mettant en vedette à la fois un joueur solo et un combat multijoueur en ligne / à chaud

Libre comme en open-source, sous GPL. Je viens juste de le trouver / de le télécharger, donc je ne peux pas vous dire à quoi ressemble le gameplay, mais il a obtenu d'excellentes critiques. Je ne sais pas non plus si leur code est "bien organisé" :) Mais bon, c'est open-source .

cyclope
la source
Vraiment drôle :): p
Qchmqs
4

Si vous cherchez une bonne programmation orientée objet - J'ai bien aimé le modèle objet du SDK Doom3 .
Ogre3D est une conception POO lourde, mais j'insiste beaucoup sur ce terme car il me semble qu’il est assez encombré de nombreux exemples et plug-ins.

Laissez-moi savoir ce que vous pensez.

Adam Naylor
la source
2

J'ai le code source dans les bibliothèques et les jeux complets sur mon site Un autre début de matinée, vous pouvez également trouver des projets sur ma page GitHub . Tout n’est pas un brillant exemple de qualité, mais cela tend à se produire lorsque vous souhaitez expédier quelque chose.

Alex Schearer
la source
0

J'ai la source d'une source simple que nous utilisons pour une compétition de guerre du code à Windward Wrocks . Je pense que c'est bien organisé et que c'est assez simple. Mais certaines pièces ont été créées rapidement, pas bien. Cela dit, même dans les plus grandes équipes de développement de jeux, il existe des éléments dans ceux qui sont écrits rapidement, mais pas bien.

David Thielen
la source