Me pregunto cómo la gente solía escribir juegos de DOS (como Doom), no puedo encontrar mucho sobre esto, pero me encantaría aprender más sobre los primeros días del desarrollo del juego.
¿Qué idioma se usó predominantemente?
¿Supongo que ya era C. o C ++?
¿Qué IDE (o editores / compiladores) fueron populares?
Microsoft Visual C / C ++ (o Microsoft C / C ++ como creo que solía llamarse) no existía en aquel entonces AFAIK. Entonces, ¿qué usaba la gente? editar y un compilador de línea de comandos de Intel o algo así?
¿Qué APIs se usaron?
¿Qué era común para los juegos 2D? ¿Qué pasa con los juegos 3D como Doom y Tomb Raider?
¿Algo más diferente de hoy?
Me encantaría escuchar cualquier otra diferencia, como qué formatos de imagen / audio se usaron.
software-engineering
editors
ide
futlib
fuente
fuente
Respuestas:
Lenguaje: predominaba C, pero C ++ estaba presente y se usaba.
Herramientas de desarrollo: los entornos de desarrollo incluyeron los de Borland y Watcom (casi desconocidos hoy en día) entre otros. Tanto Borland como Watcom tenían sus propios compiladores y sus propios IDE. Borland fue, con mucho, el más popular en general, aunque Watcom tenía fama de producir programas compilados más rápidos, iirc.
API: pocas API existieron o se utilizaron. La programación de video a menudo consistía en escribir píxeles directamente en el framebuffer VGA. Incluso los juegos en 3D fueron rasterizados por software. La API de sonido de Miles se usó para audio, que incluía controladores internos ya que el sistema operativo no tenía su propio marco de audio o controladores. La entrada del teclado y el mouse generalmente se leía directamente del sistema. Hubo un par de extensores de memoria populares para el modo de 32 bits que fueron muy populares y necesarios hacia el final del reinado de DOS. Afortunadamente, el hardware era simple, pero definitivamente era un dolor en los juegos de escritura a tope que funcionaban en una variedad de hardware. No existían bibliotecas para tratar todas las cosas simples de bajo nivel (como SDL, SFML, GLFW, etc.),
En una nota al margen del punto anterior, Doom no era 3D como lo conocemos hoy. Es decir, impuso enormes limitaciones en los entornos 3D debido a su algoritmo de rasterización de software altamente especializado, y los personajes y elementos eran todos sprites.
Formatos de archivo: los formatos de los activos eran tan exclusivos del motor como lo son ahora. Recuerdo vagamente que Bink estaba en ese entonces para video (lo cual era muy raro, generalmente solo en secuencias de apertura y cierre), y creo que Creative tenía algunos formatos de sonido especializados. No estoy seguro de qué fuente o formatos intermedios eran populares para sonido o video en ese entonces, pero TGA era bastante popular para imágenes.
fuente
Como complemento de la publicación de Sean, desde que mencionó Doom: hay un buen blog de Fabien Sanglard, quien realizó una revisión sobre la parte del código utilizado para hacer Doom (el de 1993). La revisión está aquí: http://fabiensanglard.net/doomIphone/doomClassicRenderer.php
PD: El blog tiene muchas revisiones de código relacionadas con Doom / Quake, y es una buena lectura para un desarrollador de juegos ver cómo otros diseñaron un juego desde cero
fuente