¿En qué plataforma se desarrollaron los viejos videojuegos de TV? [cerrado]

13

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?

Mihir Palkhiwala
fuente
3
Jordan Mechner lanzó las fuentes de Prince of Persia para Apple II hace unos meses: échale un vistazo aquí si estás interesado.
Laurent Couvidou

Respuestas:

17

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).

Michael Madsen
fuente
44
Los viejos juegos de @Mihir no eran perfectos de ninguna manera. Pero parte de por qué parecen funcionar mejor que algunos juegos recientes es porque también son mucho, mucho menos complejos que sus contrapartes modernas.
chaosTechnician
1
@AndroidCoader, lo que estás buscando se llama un emulador. Existen para muchas plataformas, emulando la función de sistemas antiguos en máquinas modernas, pero a menudo hay muchos problemas legales / áreas grises asociadas con su uso para jugar.
chaosTechnician
Creo que "Gran Turismo", cuando salió por primera vez en la PS, tenía grandes cantidades de código escrito en ensamblador debido a la física involucrada.
casperOne
3

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!

Wolf5370
fuente
3

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.

mctylr
fuente