Je souhaite télécharger le code source d'un jeu Open Source, afin de me familiariser avec l'architecture du jeu. Est-ce que quelqu'un connaît un jeu avec un code source qui est lisible et facilement compréhensible?
Edit: Après réflexion, je voudrais faire un jeu qui peut être joué sur le bureau ou un téléphone Andriod avec des graphismes 2D.
architecture
open-source
source-code
jumpnett
la source
la source
Réponses:
Je ne sais pas quel type de jeu vous demandez mais il y a un jeu open source nommé OpenTTD écrit en c ++. Je pense que vous pourriez l'utiliser comme un bon échantillon.
quelques fonctionnalités qui rendent ce jeu unique:
--Éditer--
Aujourd'hui même, j'ai commencé à lire leur code depuis le début. Pour comprendre ce qu'ils ont écrit, vous devez être un bon programmeur C et C ++ (bien que leur code soit bien commenté)! Je veux dire que vous devez maîtriser les deux langues car elles utilisent des structures des deux! donc si vous n'avez pas assez confiance en vos compétences en programmation, ne vous approchez même pas de ce code! c'est le code le plus sale que j'aie jamais vu! (et je suis moi-même un sale codeur mais ils sont autre chose!)
Je pense que maintenant je peux vous suggérer de vérifier le code supertux . c'est un jeu de plateforme (tout comme super mario) et jusqu'à présent, leur code semble vraiment propre (j'ai vérifié le jalon 1.3). ils ont des commentaires dans ce code, mais uniquement pour les endroits où vous pourriez être confus.
la source
Je pense que peut-être une bonne approche est de choisir un jeu que vous aimez et de vérifier tous les jeux open source comme ça. La liste des clones de jeux open source pourrait peut-être beaucoup aider à la dernière étape.
la source
Il y a des piliers comme Quake 3 ou si vous voulez quelque chose d'un peu plus simple (et en 2D), regardez le jeu indépendant Gish . Ils utilisent tous deux OpenGL et sont également multiplateformes.
Gish est un peu désordonné, cependant.
la source
Je vous recommande d'abord de vous concentrer sur le type d'architecture de jeu que vous souhaitez apprendre: pipeline 3D, physique, IA, etc.
Avec une demande générique d'un bon exemple de programmation de jeu, je pense que les envahisseurs spatiaux gl sont difficiles à battre car ils ont un code propre et un jeu et une interface open gl tout en gardant les choses assez simples.
à votre santé
la source
Même si la lecture de code peut être utile, si vous êtes un débutant dans le domaine, vous n'apprendrez rien. Surtout si vous regardez le code de grands projets comme Q3A ou OpenTTD. Celles-ci ont été faites par toute une équipe, chaque personne ayant différentes pratiques de codage, différentes idées sur la façon de faire les choses. Vous aurez seulement une vue d'ensemble, pas les petits détails qui font que tout reste collé.
Développez, échouez, essayez à nouveau jusqu'à ce que vous trouviez quelque chose qui semble être bon, échouez à nouveau, rincez et répétez jusqu'à ce que vous ayez quelque chose de bon. Différents développeurs signifient différentes idées sur la façon de mettre en œuvre des choses. Ce n'est pas parce qu'il a été codé par Carmack / Tout développeur célèbre qui a fait un bon jeu que c'est la meilleure chose depuis le pain en tranches, et une implémentation différente pourrait être plus claire et plus rapide.
la source
Je pense que l'une des choses les plus importantes que vous puissiez faire est de choisir un jeu auquel vous aimez jouer. Cela vous aidera à vous y intéresser et vous familiarisera avec la façon dont le code lui-même se traduit dans la perspective des joueurs.
Une fois que vous avez choisi ce jeu, quelle que soit sa taille, vous n'avez pas à essayer de comprendre comment fonctionne chaque ligne de code. Choisissez-en un morceau et regardez-le. Par exemple, essayez de comprendre comment les données des joueurs sont stockées ou comment un élément de menu est dessiné, etc.
La prochaine chose que vous pouvez faire, qui va de pair avec mon passage précédent, est d'essayer de changer quelque chose. Pas quelque chose d'énorme (au début), juste quelque chose de simple et visible dans le jeu. Même quelque chose d'aussi simple que le texte d'un bouton d'un menu ou l'ajout d'un élément de menu ou la modification des calculs de dégâts. Vous pensez peut-être qu'ils auraient dû faire quelque chose de différent, essayez de le changer vous-même.
Quand j'ai commencé à développer des jeux, j'étais vraiment dans les RPG 2D en ligne. J'ai donc trouvé la source pour un en ligne et j'ai commencé à en tirer parti. Ajout de mes propres fonctionnalités et ajustements, correction de bugs, etc. C'était dans VB6 il y a quelques années et maintenant j'utilise C # et XNA et j'écris mon propre jeu à partir de zéro. Parce que j'aimais les jeux, cela m'a motivé à vouloir y travailler, à l'améliorer. Par coïncidence, c'est aussi ainsi que j'ai appris beaucoup de techniques de programmation, de débogage et de résolution de problèmes que j'utilise aujourd'hui dans mon travail de jour non lié à gamedev.
Il est également très utile que le jeu dispose d'une communauté de moddeurs sur lesquels vous pouvez poser des questions et obtenir de l'aide et des exemples. Mais là encore, même si cela n'existe pas, vous êtes déjà là et nous sommes prêts à vous aider.
la source
Le jeu de plate-forme Android 2D open source exceptionnel est Replica Island .
La source est sur Google Code et le développement a été relaté dans le blog de développement de l'auteur .
Voici une liste de 15 jeux open source pour Android qui pourraient également être utiles.
la source
Jetez un oeil à la pénombre . Cela ressemble à un excellent endroit pour apprendre.
la source
Le Scrolling Game Development Kit 2 vous permet de créer des jeux 2D et de les jouer à l'aide d'une interface graphique sans écrire de code. Mais cela vous permet également de voir et de modifier le code intégré au projet qui représente le framework / moteur derrière le jeu. La majeure partie du code est exposée via l'interface graphique, bien qu'une petite partie de celui-ci soit du code généré en fonction de l'endroit où vous placez les sprites et des cartes que vous créez. Cependant, même ce code est visible si vous générez le projet, puis ouvrez les fichiers résultants dans Visual C # Express. L'ensemble du programme (IDE) lui-même est également open source. Il s'appuie sur la bibliothèque OpenTK (qu'il utilise pour s'interfacer avec OpenGL à partir de C #), qui est également open source.
la source