Web Analytics
Conecta con nosotros

Noticias

¿Por qué fallaban tanto los gráficos de Atari 2600?

Publicado el
¿Por qué fallaban tanto los gráficos de Atari 2600? 33

Ha llovido mucho desde que eché la última partida a una Atari 2600, la primera consola que pude tener entre mis manos antes de saltar a NES y Master System, pero tengo muchos recuerdos de ella perfectamente grabados en la retina.

Uno de esos recuerdos son precisamente los errores y fallos gráficos que aparecían en algunos juegos, sobre todo en los más complejos y atractivos, como por ejemplo Miss Pac-Man, que es el que sirve para ilustrar este artículo.

¿Pero por qué se producían estos errores? Pues por las propias limitaciones de la CPU de la consola. En la Atari 2600 los gráficos estaban controlados y eran generados por el procesador principal, cuya potencia era muy limitada y no siempre podía dibujar todos los gráficos que el juego requería y mover simultáneamente el código del mismo.

Esto acababa produciendo esos fallos gráficos, que en este caso en concreto se concreta en líneas de color negro situadas en la izquierda de la pantalla.

Obviamente estos errores gráficos por falta de potencia no fueron exclusivos de la Atari 2600, ya que también hicieron acto de presencia en varios juegos de las consolas de 8 bits de SEGA y Nintendo.

Os dejamos el vídeo explicativo de la fuente original ya que resulta realmente interesante y os permite ampliar información sobre el funcionamiento de los gráficos en equipos antiguos.

Más información: Engadget.

Editor de la publicación on-line líder en audiencia dentro de la información tecnológica para profesionales. Al día de todas las tecnologías que pueden marcar tendencia en la industria.

9 comentarios
  • Javier C

    si el que programaba esos juegos casí merece ser Dios, con tanto milagro que hacia.

  • roader

    No creas , esos juegos se hacían en 6-8 semanas, dada la sencillez de los mismo . Lo suyo era resolver bugs , y optimizar alguna cosilla .

  • Gusta

    recuerdo jugar con mi madre y hermanos durante las tardes…. ahora todos estamos mas viejos y algunos ya hicieron su vida aparte…. cuantos recuerdos… si alguien es de la epoca, recuerda el de cruzar la calle, el de atrapar corderos sobre un caballo, el boxeo , tanques y pacman… no recuerdo sus nombres comerciales pero si aquellas tardes y el pan con mantequilla….fue un regalo de navidad inesperado, no eramos una familia con muchos recursos.

  • Scout Traceur Blu

    Se tenía que crear en el lenguaje ensamblador. El lenguaje de programación mas dificil que hay. Para realizar solamente una cosa se necesita muchas instrucciones, estás instrucciones puede ser por ejemplo:

    lda (cargar en el registro A (acumulador) del cpu el siguiente dato)
    El ensamblador es famoso por el hecho que es como programar en binario, pero en vez
    de
    usar un conjunto de octetos 10001000 se reemplaza por letras.
    10001000 00000001 Sería:
    lda #$01 (Carga en el acumulador (registro del cpu) el dato #$01 (Hexadecimal) que
    sería
    1 en decimal.
    Por ejemplo:

    10001000 -> lda
    00000001 -> #$01
    Para escribir un pixel en pantalla sería:
    LDA #$01 (Registro A -> valor #$01 (1 decimal)
    STA $0200 ($0200 posicion de memoria (Sería el primer pixel superior izquierda
    de la pantalla)
    Con esto tendríamos un pixel en pantalla de color blanco.

    Además el programador tiene que tener cuidado donde deja los datos. El programador
    tiene que saber a la perfeccion como funciona la cpu de la atari, que velocidad tiene,
    cuantos registros tiene, para que sirve cada registro. Cual es el valor (bytes) maximo
    que puede contener los registros etc

    Los juegos de la atari se ve muy simples y sencillos. Pero dado que el programador
    del juego lo tiene que hacer en Ensamblador y no por ejemplo en Java,Javascript,C
    entonces la cosa cambia bastante ……….
    Esto es un vídeo que explica el lenguaje ensamblador:
    https://youtu.be/dApiWh1I0Ak?t=32s
    Saludos.

  • kornival

    El vicio total era el de boxeo, sobre todo cuando arrinconabas al otro y este rebotaba de un puño a otro xd.

  • roader

    Eso es cierto , pero también es cierto que hablamos de programas extremadamente pequeños , es perfectamente factible que una persona con dominio del ensamblador pueda hacer el programa de un juego en ese tiempo . Lo cual no significa que no tenga merito , la parte complicada sin embargo era asegurarse que el juego no tuviese bugs , puesto que el ensamblador es mucho menos predecible , por asi decirlo .

  • Isidro Ros

    Sin duda, eran tres palos mal puestos y los círculos de cabeza y guantes en cada muñeco, pero adictivo a más no poder :).

    Saludos.

  • Scout Traceur Blu

    Si comparamos dos juegos, el pacman de la atari por ejemplo, y el gta5. El pacman para ser representado necesita menos instrucciones para que la cpu lo pueda crear. En cambio en gta5 las rutinas de colisión de objetos, objetos 3D etc xD serían mas de 700.000 líneas (y muchas, muchas mas……………), pero como utilizan lenguajes de alto nivel la tarea de crear juegos 3D se ha facilitado bastante, si se tuviese que crear en ensamblador ………….. sería casi imposible (posible es pero no creo que hagan algo así)
    Lo que estuve comentando es que para crear algo en la atari 2600 lleva mucho trabajo, sus juegos son básicos pero como hay que programarlo en un lenguaje de bajo nivel (el mas bajo) era una tarea colosal.
    Aquí hay un tutorial bastante bueno del ensamblador de la Atari 2600, tiene unos emuladores donde crear el código ensamblador y lo ejecutas, podrás ver el resultado en la pequeña ventana negra. Se puede crear juegos completos, es muy entretenido y mas si te gusta la Atari 2600
    http://jacereda.bitbucket.org/6502facil/
    ______________________________
    En ensamblador se puede tener errores lógicos:
    ______________________________
    Los errores lógicos son errores que impiden que su programa haga lo
    que estaba previsto. Su código puede compilarse y ejecutarse sin
    errores, pero el resultado de una operación puede generar un resultado
    no esperado.

    Por ejemplo, puede tener una variable llamada FirstName y establecida inicialmente en una cadena vacía. Después en el programa, puede concatenar FirstName con otra variable denominada LastName para mostrar un nombre completo. Si olvida asignar un valor a FirstName, sólo se mostrará el apellido, no el nombre completo como pretendía.

  • roader

    Sin duda trabajar en ensamblador es mas difícil que en un lenguaje de alto nivel , pero también ten en cuenta de que , GTA V puede ser tan complejo por que recicla (bueno, básicamente va implícito en lo de alto nivel) , pero , para mi , el hecho de que utilize el mismo motor físico que otros juegos , y las mismas librerías de renderizado , no lo hace mas complejo .

Lo más leído