J'écris actuellement en C# ce que l'on pourrait appeler ma propre interprétation du matériel NES pour un jeu à l'ancienne que je développe. J'ai lancé FCE et j'ai observé comment le NES affichait et affichait des graphiques. En un mot, le NES pouvait contenir deux images bitmap d'une valeur de 128 x 128 pixels. Ce sont les tables PPU. L'un était pour les carreaux BG et l'autre pour les sprites. Les données devaient être dans cette mémoire pour être dessinées à l'écran. Maintenant, si un jeu avait plus de données graphiques que ces deux banques, il pourrait écrire des parties de cette nouvelle information à ces banques - en l'écrasant par écrit - à la fin de chaque image, et l'utiliser dès la prochaine image. Donc, dans les vieux jeux, comment la banque des programmeurs a-t-elle changé? Je veux dire, dans la conception de niveau, comment ont-ils su quel ensemble graphique charger? J'ai remarqué que la banque Mega Man 2 bascule lorsque l'écran défile par programmation d'une partie de la scène à la suivante. Mais comment ont-ils stocké cette information dans le niveau - quels sprites copier dans les tables PPU, et où les écrire?Sprites «Bank Switching» sur les anciennes applications NES
Un autre exemple serait de faire une pause dans MM2. Les tuiles BG sont écrasées pendant la pause, puis sont restaurées lorsque le joueur se relâche. Comment se sont-ils souvenus des carreaux qu'ils ont remplacés et comment les restaurer? Si j'étais fainéant, je pourrais juste faire un bitmap statique énorme et saisir juste des valeurs de cette manière. Mais je me force à limiter ces valeurs pour créer une expérience plus authentique. J'ai lu le guide incroyable sur comment M.C. Les enfants ont été créés, et j'essaie d'être des barebones sur la façon dont je programme ce jeu. Il me vient encore à l'esprit comment ces programmeurs ont accompli ce qu'ils ont fait avec ce qu'ils avaient.
EDIT: La seule solution que je peux penser serait de tenir des tables séparées qui indiquent quelles tuiles devraient être dans le PPU à quel moment, mais je pense que ce serait une énorme ressource de mémoire que le NES ne pourrait pas gérer.
Merci, c'était très utile. –
Merci pour le compliment :) –