44 votes

Des jeux NES classiques ont-ils été open source?

J'ai juste joué à un jeu de RBI Baseball dans une fenêtre de navigateur.

Qui en soi me semble tout simplement incroyable. Quand j'étais jeune, la NES était une boite magique, capable de fournir des heures de plaisir pour les jeunes enfants partout dans le monde.

Maintenant, des décennies plus tard, je suis un programmeur. Et je peux apprécier la programmation qui est allé dans les jeux qui ont été développés avec le plus primitif de matériel, juste un il ya quelques décennies. En fait, un jour, je m'attends à ce que le code de certains de ces jeux sera inscrit dans la Smithsonian.

Ma Programmation De La Question:

Toute classique jeux NES (comme RBI Baseball) été open-source, et si oui, où puis-je trouver le code pour l'étude?

À défaut, il y a tout jeux NES dont le code source est disponible pour étudier?

Je pense qu'il serait très intéressant d'apprendre de leur exemple.

Par exemple:

  • Ont-ils l'utilisation de la programmation orientée objet?
  • Ont-ils l'utilisation de la conception des modèles de conserver le code maintenable?

26voto

speeder Points 3262

Pas de. Au moins aucun de ceux que je connais (et j'ai cherché).

NES est apparu juste après l'1983 du jeu vidéo crash, la principale raison pour laquelle le marché s'est effondré a été le déluge de jeux de mauvaise qualité, le déclenchement de la clients de ne pas acheter un seul jeu, car il n'y avait aucun moyen de savoir que le jeu était bon.

Afin de Nintendo lors de l'introduction de la NES (et tous les autres consoles de l'époque, comme la Master System de SEGA), a décidé que seulement approuvé jeux seront jamais libérés, ET de rien faire open source jamais être une rupture de contrat avec de lourdes amendes, la raison c'est qu'en ne publiant pas une API publique, il ferait "homebrews" plus difficiles à inonder le marché.

Aujourd'hui, Nintendo est beaucoup plus facile sur la partie permettant la des jeux, voir le flot de merde jeux sur la Wii, mais toujours pas de console vous permettent d'utiliser leur "vrai" de l'API, pour éviter les inondations, il y a même un problème quand quelqu'un a utilisé un GPL moteur (ScummVM) sur Wii, de causer des ennuis, parce que la publication de la source d'un jeu pour une console Nintendo est un système de rupture de contrat et GPL exige la source pour être libéré, dans ce cas particulier, les jeux ont été retirés des rayons.

Et non, XNA et PS3 Linux ne sont pas vraiment la console des Api, à la fois imposer de sévères restrictions sur ce que vous pouvez faire avec la console.

Peut-être que vous pouvez trouver homebrew, ou à l'ingénierie inverse des jeux. Mais je suppose que ce n'est pas ce que vous avez demandé.

Aussi la source de remakes de ports et parfois peuvent être trouvés, mais on ne peut pas utiliser la console API.

13voto

Russel Points 858

Vous avez peut-être trouvé cela depuis, mais Metroid (l'original, pour NES / Famicom) a été désassemblé et le code (en bel ASM) posté sur Romhacking.net.

Lien direct.

12voto

James McMahon Points 14356

Si vous êtes intéressé par la programmation NES, vous devriez jeter un coup d' œil à l' épisode 91 de Retronauts .

C’est essentiellement un groupe d’anciens programmeurs NES qui se remémorent le développement de jeux sur le système. De temps en temps, ils se plongent dans la technique, ce qui est vraiment fascinant.

7voto

fortran Points 26495

Je n'ai jamais travaillé dans l'industrie des jeux vidéo, mais j'ai lu un peu sur elle et je parle de temps en temps avec des amis qui le font, donc je vais essayer d'expliquer plus ou moins quelle est la différence entre un jeu et d'autres application, concernant les méthodes de programmation.

La première chose à comprendre est qu'un jeu est un produit unique. Ce n'est pas comme un tableur ou un traitement de texte, où vous pouvez sortir de nouvelles versions de l'amélioration et de l'extension de la précédente base de code.

La deuxième chose, c'est que vous avez besoin pour libérer le jeu dès que possible. Généralement, plus vous passez de temps dans un jeu, le pire qu'il sera dans la comparaison avec les autres jeux de l'époque. C'est surtout vrai pour les jeux PC, où le matériel évolue beaucoup plus vite que dans le monde de la console, mais s'applique encore dans une large mesure (jeux continuent à aller mieux, même avec le même matériel que de meilleurs outils et algorithmes sont développés).

La troisième chose, c'est que généralement les jeux devez pousser le matériel à la limite. Donc vis de tous les modèles élégants qui permettrait de rendre votre code plus belle et plus facile à gérer si ils font ça à fonctionner plus lentement.

Donc, ce que je m'attends après dissection d'un vieux jeu NES code source est juste du code spaghetti, pour la plupart écrits en assemblée avec beaucoup de bas niveau hacks étroitement liée à l'architecture de la machine.

J'espère que ma réponse est utile pour vous.

3voto

mani1986 Points 31

Je vous conseillerais de consulter nesdev.com si vous êtes intéressé par le développement de jeux NES. Ils ont une documentation détaillée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X