Quelle était la chaîne d'outils typique pour le développement de jeux DOS? [fermé]

15

Je me demande comment les gens écrivaient des jeux DOS (comme Doom), je ne trouve pas grand-chose à ce sujet, mais j'aimerais en savoir plus sur les premiers jours du développement de jeux.

Quelle langue a été utilisée principalement?

Je suppose que c'était déjà C. Ou C ++?

Quels IDE (ou éditeurs / compilateurs) étaient populaires?

Microsoft Visual C / C ++ (ou Microsoft C / C ++ comme je crois qu'il s'appelait auparavant) n'existait pas à l'époque AFAIK. Alors qu'est-ce que les gens ont utilisé? modifier et un compilateur en ligne de commande d'Intel ou quelque chose?

Quelles API ont été utilisées?

Qu'est-ce qui était commun aux jeux 2D? Qu'en est-il des jeux 3D comme Doom et Tomb Raider?

Quelque chose d'autre qui est différent d'aujourd'hui?

Je serais heureux d'entendre d'autres différences, comme les formats d'image / audio utilisés.

futlib
la source
Je suis assez sûr que vous aviez l'intention de faire des recherches pour ce devoir de classe. Peut-être que gdcvault.com/play/1014627/Classic-Game-Postmortem peut vous donner un début.
Daniel Carlsson
Ce n'est pas une affectation, je suis loin de l'école / du collège. J'ai fait des recherches sur Google pendant un certain temps, mais je n'ai pas trouvé grand-chose.
futlib
Je me souviens avoir lu une note d'un des gars de l'ID sur Watcom C ++. Borland a toujours été assez populaire parce que leurs compilateurs flippaient RAPIDEMENT. (J'avais l'habitude de reconstruire trois ou quatre fois de suite parce que je n'étais pas convaincu que quelque chose s'était réellement passé.)
3Dave

Réponses:

19

Langage: C était prédominant, mais C ++ était présent et utilisé.

Outils de développement: les environnements de développement comprenaient ceux de Borland et Watcom (presque inconnus aujourd'hui) entre autres. Borland et Watcom avaient leurs propres compilateurs et leurs propres IDE. Borland était de loin le plus populaire en général, bien que Watcom ait la réputation de produire des programmes compilés plus rapidement, iirc.

API: peu d'API existaient ou étaient utilisées. La programmation vidéo consistait souvent à écrire directement des pixels dans le tampon d'images VGA. Même les jeux 3D ont été tramés par logiciel. L'API sonore Miles a été utilisée pour l'audio, qui comprenait des pilotes en interne car le système d'exploitation n'avait pas sa propre infrastructure audio ni ses propres pilotes. Les entrées du clavier et de la souris étaient généralement lues directement à partir du système. Il y avait quelques extensions de mémoire populaires pour le mode 32 bits qui étaient très populaires et nécessaires vers la fin du règne de DOS. Heureusement, le matériel était simple, mais c'était vraiment une douleur dans les jeux d'écriture bout à bout qui fonctionnaient sur une variété de matériel. Les bibliothèques pour gérer tous les trucs simples de bas niveau (comme SDL, SFML, GLFW, etc.) n'existaient pas,

À côté du point précédent, Doom n'était pas en 3D comme nous le connaissons aujourd'hui. Autrement dit, il imposait d'énormes limitations aux environnements 3D en raison de son algorithme de rastérisation logicielle hautement spécialisé, et les personnages et les objets étaient tous des sprites jut.

Formats de fichiers: les formats d'actifs étaient tout aussi propriétaires du moteur qu'à l'époque actuelle. Je me souviens vaguement que Bink était là à l'époque pour la vidéo (ce qui était très rare, généralement uniquement dans les séquences d'ouverture et de fermeture), et je pense que Creative avait des formats sonores spécialisés. Je ne sais pas quels formats sources ou intermédiaires étaient populaires pour le son ou la vidéo à l'époque, mais TGA était assez populaire pour les images.

Sean Middleditch
la source
1
Le middleware omniprésent que de nombreux sous licence pour l'audio était Miles , qui a fourni l'abstraction du pilote pour de nombreux appareils. Si vous n'avez pas utilisé Miles, vous avez probablement pris en charge uniquement Adlib ou SoundBlaster compatibles. Pour activer la prise en charge VESA sur les cartes héritées, certains jeux utilisaient UniVBE .
Lars Viklund
C'est vrai! Bonne mémoire! :)
Sean Middleditch
Je me trompe peut-être, mais je pense que la référence que vous essayez de faire était pour Watcom , pas Watson . Ils ont fait un excellent compilateur C et un serveur SQL léger appelé Watcom SQL, un prédécesseur de SQLite, que j'ai beaucoup aimé.
Bob Mc
En effet, vous avez raison. Ma mémoire devient définitivement plus confuse dans ma vieillesse.
Sean Middleditch
L'ASM était probablement plus courant que maintenant. Vous aviez besoin de réduire les performances supplémentaires et les optimiseurs du compilateur n'étaient pas aussi bons qu'aujourd'hui. Autrement dit, la majorité est toujours en C, mais les moteurs avaient probablement des pièces ASM.
edA-qa mort-ora-y
4

Pour compléter le post de Sean, puisque vous avez mentionné Doom: il y a un joli blog de Fabien Sanglard, qui a fait une revue de la partie du code utilisé pour faire Doom (celui de 1993). La revue est ici: http://fabiensanglard.net/doomIphone/doomClassicRenderer.php

PS: Le blog a beaucoup de critiques de code liées à Doom / Quake, et c'est une bonne lecture pour un développeur de jeu de voir comment les autres ont conçu un jeu à partir de zéro

Timotei
la source