Envoyé par
Paul TOTH
...ça m'échappe...je suis même surpris qu'un éditeur prenne le risque de publier sur le sujet
C'est simple: l'éditeur, c'est l'auteur:
Et le raycasting n'est qu'une petite partie du bouquin. Ce qui est intéressant, c'est toutes les petites merdes des PC et des OS de l'époque qui obligeaient à faire plein de bricolage:
->L'OS ne pouvait adresser qu'1 Mo de RAM, même si on en avait plusieurs dans sa machine. Pour pouvoir tout adresser, il fallait installer des drivers sur sa machine. Et bien sûr, il y avait plusieurs drivers différents avec des API complètement différentes, les applis qui avaient besoin de RAM devaient donc toutes les gérer. Et pour pouvoir en profiter, il fallait expliquer à l'utilisateur comment installer ces drivers.
->Et même pour le 1er Mo de RAM, il fallait se faire chier à construire un pointeur sur 20 bits pour pouvoir y accéder, sinon on n'avait accès qu'aux 64 premiers Ko.
->Il fallait gérer 3 marques de cartes son différentes, plus le bipeur de la machine quand l'utilisateur n'en avait aucune, chacune avec ses spécifités et ses limitations. De plus, chaque son devait être sauvegardé en 3 versions différentes, pour avoir la meilleure qualité possible selon la carte de l'utilisateur.
->Rien que le fait de rafraîchir un écran en 320x200 en VGA assez vite était compliqué, car pour être plus rapide, les cartes VGA avaient leur framebuffer répartis sur 4 banques séparées, dans lesquelles il fallait bien sûr écrire à la main
->Pour être optimisées pour la rasterization après un raycast, les sprites étaient stockés dans un format bien particulier. Pour gérer le scaling des sprites en software, pour ne pas avoir à scaler le sprite à la volée, ce qui serait lent, le programme générait au lancement un tas de fonctions de scaling qui retournaient directement les pixels à afficher.
->Et il fallait faire tenir le tout dans une seule disquette de 3 pouces et demi, pour que le jeu puisse être partagé le plus facilement possible :p Donc il a fallu ajouter de la compression à tout ça
J'oublie sûrement plein de trucs, et j'ai peut-être déformé certaines choses (j'avoue que je n'ai moi-même pas tout compris
) J'ai trouvé ça assez motivant à lire, on se dit que si on arrivait à faire tout ça à l'époque, avec toutes ces contraintes, on n'a aucune excuse pour ne pas arriver à faire le jeu qu'on veut aujourd'hui. Et à tous ceux qui fuient le C/C++ parce que "il faut gérer la mémoire"... Au moins aujourd'hui, on peut pointer où on veut dans la RAM sans avoir d'abord à créer un gestionnaire de mémoire pendant 3 semaines :p
5 |
0 |