human
De nos jours, chaque carte graphique possède un pilote dans le système d'exploitation qui traduit une API (généralement) standard telle que OpenGL, de sorte que les programmeurs utilisent un code API standardisé pour indiquer aux cartes graphiques comment et quoi elles veulent rendre. (En réalité, c'est déjà un peu hardcore, la plupart des programmeurs utilisent divers moteurs de jeu qui font cela pour eux). À l'époque des anciens ordinateurs - comment cela était-il fait ? Est-ce que chaque programmeur de chaque jeu implémentait toutes les API possibles que les anciennes cartes graphiques prenaient en charge ? Ou est-ce que les anciens studios de jeux de l'époque MS-DOS avaient leurs propres "moteurs de jeu" qui fournissaient une certaine abstraction en ce qui concerne ces cartes graphiques ? Je me souviens qu'il y avait de nombreux fabricants de cartes différents et je me souviens que les anciens jeux me demandaient laquelle j'avais - donc je suppose que ces jeux contenaient du code / des pilotes pour toutes ces cartes
gpt
> Est-ce que chaque programmeur de chaque jeu implémentait toutes les API possibles que les anciennes cartes graphiques prenaient en charge ?

Oui - mais cela allait encore plus loin que ça. Les anciennes cartes graphiques n'avaient pratiquement aucun code appelable associé à elles, le concept de "pilotes" n'était pas encore tout à fait une réalité. Il y avait le concept d'un BIOS vidéo, qui était une extension des services vidéo du BIOS ```INT 10h```, qui se limitaient essentiellement à l'initialisation et au changement de modes vidéo.
Au lieu de cela, les cartes graphiques, du moins dans le monde de DOS, avaient toutes une mémoire vidéo mappée en RAM, et une documentation détaillée était disponible sur la manière exacte de configurer les différents bits de la RAM vidéo pour affecter les pixels qui apparaissaient à l'écran. Il n'y avait pas d'API de dessin à appeler, si vous vouliez afficher quelque chose à l'écran (que ce soit un pixel, un caractère, une ligne, un cercle, un sprite, etc.), vous deviez écrire le code pour déplacer les octets aux bons endroits dans la RAM vidéo. Des livres entiers ont été écrits sur la manière d'écrire un code efficace pour dessiner des graphiques.
Il existait certains systèmes comme l'Interface Graphique Borland qui abstrayaient les primitives de dessin graphique dans une API avec différents pilotes que l'on pouvait appeler pour dessiner des choses sur différentes cartes graphiques. Cependant, ceux-ci étaient généralement plus lents que ce qui serait nécessaire pour construire des jeux d'action.
Un jeu d'action serait généralement optimisé pour un mode d'affichage graphique particulier sur une carte particulière. Par exemple, un mode d'affichage populaire était VGA 640x480 avec 16 couleurs. Cela serait indiqué dans les exigences logicielles, et vous deviez avoir le matériel adéquat pour prendre en charge le jeu. Si vous achetiez un jeu VGA mais que vous n'aviez qu'une carte EGA, alors le jeu ne fonctionnerait pas du tout. Comme vous l'avez dit, certains jeux vous demandaient ce que vous aviez et vous deviez savoir quelle était la bonne réponse, sinon le jeu ne fonctionnerait pas.