Estoy muy ansioso por saber cómo se desarrollaron los videojuegos de televisión (que todos solíamos jugar en nuestra infancia) y en qué plataforma.
Sé cómo se desarrollan los juegos para dispositivos móviles, PC con Windows y Mac, pero no entiendo cómo (en esos días) Contra, Duck Hunt y todos esos juegos se desarrollaron. Como tienen gráficos altos y una gran cantidad de etapas. Entonces, ¿cómo lograron desarrollar juegos en un entorno de tamaño tan pequeño y con una plataforma de configuración más baja?
graphics
game-industry
Mihir Palkhiwala
fuente
fuente
Respuestas:
Los juegos realmente antiguos, escritos para NES, Game Boy, SNES e incluso sistemas más antiguos como la familia Atari, generalmente estaban escritos en lenguaje ensamblador . Esto era necesario porque los compiladores de C de la época eran inexistentes o no estaban a la altura de la tarea de generar código suficientemente eficiente.
Pudieron exprimir todas esas cosas en cartuchos pequeños, para NES, incluso 256 KB era una gran cantidad de datos (aunque existían juegos más grandes), porque usaron trucos inteligentes, como gráficos basados en mosaicos y de bajo color, lo que permitió una gran cantidad de datos. de datos que se almacenarán en muy poco espacio. Además, los chips especializados para video y audio hicieron posible manejar estas cosas de manera más eficiente, sin tener que hacer todo en software.
Con el tiempo, los compiladores de C se volvieron más eficientes y los dispositivos se volvieron más potentes: N64, GBA y dispositivos posteriores usaron C o incluso C ++ de forma predeterminada, y el ensamblaje se reservó para pequeños fragmentos de código donde era necesaria una optimización adicional para cumplir constantemente con los 60FPS objetivo (o la velocidad de fotogramas a la que se ejecuta el juego).
fuente
Recuerdo haber escrito juegos simples para el Commodore 64 / Vic20 a principios de los 80. Algunos BASIC (lo creas o no, algunos juegos estaban completamente codificados en BASIC, BASIC estaba en la ROM de la máquina, por lo que era un obsequio), pero en su mayoría ensamblador. El ensamblador tampoco era consistente: la mayoría de las máquinas tenían varios ensambladores comerciales disponibles (aunque, como la mayoría en aquel entonces, escribí el mío). Los gráficos en el C64 eran muy avanzados por el momento con sprites de hardware de trama (solo 8 permitidos en la pantalla a la vez, pero estos podrían duplicarse en el software con algunos trucos, dando cientos pero solo 8 variedades en la pantalla a la vez). Eran 16 colores (paleta, que se podía cambiar en tiempo de ejecución al igual que el sprite). Los sprites eran 2D, por supuesto.
La primera "computadora en casa" con la que jugué (ignorando las máquinas científicas y comerciales anteriores) fue una ZX81 (mi escuela tenía una ZX80, pero estaba encerrada en una caja de vidrio como una exhibición de museo, ¡nadie sabía cómo usarla!). Imagina escribir un juego en 1/4 de K (¡eso es 256 bytes!), ¡Ahora eso es habilidad!
fuente
Los sistemas de videojuegos o las consolas de primera generación (antes se llamaban consolas) de finales de la década de 1970 y aún hoy se desarrollan de manera muy similar a cualquier sistema informático integrado .
Una computadora integrada es una computadora (es decir, un microcontrolador o microprocesador) en un sistema electrónico que no se parece a una computadora personal o un sistema de computadora multiusuario más grande (por ejemplo, sistema de tiempo compartido, mini computadoras y mainframes); Una diferencia importante es que generalmente carecen de la entrada / salida estándar ahora a través de un terminal de video y un teclado.
El desarrollo se realiza en otra computadora, actualmente una PC o estación de trabajo de desarrollador que utiliza un entorno de desarrollo multiplataforma que produce ejecutables para el sistema de destino : el sistema de videojuegos en este contexto, que a menudo es una arquitectura de microprocesador diferente en comparación con el desarrollo CPU (o host ) propia del sistema .
Dos ejemplos de sistemas de videojuegos actuales son los de Sony Playstation 3, que se basa en la Sony, Toshiba e IBM 's procesador Cell , y para dispositivos móviles (teléfonos inteligentes, tabletas) que a menudo son la MRA microprocesadores basados.
Como se
Michael Madsen
indicó, la mayoría de la programación se realizó en ensamblador en lugar de un lenguaje compilado de alto nivel, como C o Pascal. Esto era necesario para ajustar todo el contenido del juego dentro de los límites del sistema altamente restringido (muy poca RAM y capacidad limitada de ROM de cartucho), así como para acceder a coprocesadores como el TIA del Atari 2600.fuente