Je suis très impatient de savoir comment les jeux vidéo TV (auxquels nous jouions tous dans notre enfance) ont été développés et sur quelle plateforme.
Je sais comment les jeux sont développés pour les appareils mobiles, les PC Windows et Mac, mais je ne comprends pas comment (à l'époque) Contra, Duck Hunt et tous ces jeux ont été développés. Comme ils ont des graphismes élevés et un grand nombre d'étages. Alors, comment ont-ils réussi à développer des jeux dans un environnement aussi petit et avec une plate-forme de configuration inférieure?
graphics
game-industry
Mihir Palkhiwala
la source
la source
Réponses:
Les très vieux jeux - écrits pour NES, Game Boy, SNES et même des systèmes plus anciens comme la famille Atari - étaient généralement écrits en langage assembleur . Cela était nécessaire car les compilateurs C de l'époque étaient soit inexistants, soit pas à la hauteur de générer un code suffisamment efficace.
Ils ont pu compresser tout cela dans de petites cartouches - pour NES, même 256 Ko représentaient beaucoup de données (bien que des jeux plus importants existaient) - car ils utilisaient des astuces intelligentes, telles que des graphiques à base de tuiles et de faible couleur, permettant beaucoup de données à stocker dans très peu d'espace. De plus, des puces vidéo et audio spécialisées ont permis de gérer ces choses plus efficacement, sans avoir à tout faire dans le logiciel.
Au fil du temps, les compilateurs C sont devenus plus efficaces et les appareils sont devenus plus puissants - les appareils N64, GBA et ultérieurs utilisaient tous C ou même C ++ par défaut - et l'assemblage était réservé aux petits morceaux de code où une optimisation supplémentaire était nécessaire afin de respecter systématiquement les 60FPS cible (ou quelle que soit la fréquence d'images à laquelle le jeu s'exécute).
la source
Je me souviens avoir écrit des jeux simples pour le Commodore 64 / Vic20 au début des années 80. Certains BASIC (croyez-le ou non - certains jeux étaient entièrement encodés BASIC - BASIC était sur la ROM de la machine, donc c'était un cadeau) - mais surtout assembleur. L'assembleur n'était pas cohérent non plus - la plupart des machines avaient plusieurs assembleurs commerciaux disponibles (bien que comme la plupart à l'époque, j'ai écrit le mien). Les graphiques sur le C64 étaient très avancés pour l'époque avec des sprites matériels raster (seulement 8 autorisés à l'écran à la fois - mais ceux-ci pouvaient être dupliqués dans le logiciel avec quelques astuces, donnant des centaines mais seulement 8 variétés à l'écran à la fois). Ils étaient de 16 couleurs (palette - qui pouvait être modifiée au moment de l'exécution, tout comme le sprite). Les sprites étaient 2D bien sûr.
Le premier "ordinateur personnel" avec lequel je jouais (en ignorant les machines scientifiques et commerciales antérieures) était un ZX81 (mon école avait un ZX80 - mais il était enfermé dans une boîte en verre comme une exposition de musée - personne ne savait comment l'utiliser!). Imaginez que vous écriviez un jeu en 1/4 de K (c'est 256 octets!) - maintenant c'est de l'habileté!
la source
Les systèmes de jeux vidéo ou consoles de première génération (avant d'être appelés consoles) de la fin des années 1970 et encore aujourd'hui sont développés un peu comme tout système informatique embarqué .
Un ordinateur intégré est un ordinateur (c.-à-d. Un microcontrôleur ou un microprocesseur) dans un système électronique qui ne ressemble pas à un ordinateur personnel ou à un système informatique multi-utilisateurs plus grand (par exemple, système de partage de temps, mini-ordinateurs et ordinateurs centraux); une différence majeure étant qu'ils manquent généralement de l'entrée / sortie désormais standard via un terminal vidéo et un clavier.
Le développement se fait sur un autre ordinateur, ces jours-ci généralement un développeur PC ou une station de travail utilisant un environnement de développement multiplateforme qui produit des exécutables pour le système cible - le système de jeu vidéo dans ce contexte, qui est souvent une architecture de microprocesseur différente du développement. CPU (ou hôte ) du système.
Deux exemples de systèmes de jeux vidéo actuels sont ceux de la Playstation 3 de Sony, basée sur Sony, Toshiba et IBM. de processeur Cell , et pour les appareils mobiles (téléphones intelligents, tablettes) qui sont souvent ARM microprocesseurs basés.
Comme
Michael Madsen
indiqué, la majorité de la programmation a été effectuée en assembleur plutôt qu'en langage compilé de haut niveau, tel que C ou Pascal. Cela était nécessaire pour adapter l'intégralité du contenu du jeu dans les limites du système très contraint (très peu de RAM et une capacité ROM de cartouche limitée), ainsi que pour accéder à des co-processeurs tels que le TIA de l'Atari 2600.la source