Todavía recuerdo la primera vez que vi una demo de 4KB como si fuera ayer. No tengo todos los detalles, pero sé que fue allá por fines del siglo pasado o principios de éste y en la casa de un amigo adonde llevaba mi PC para entrenar Quake 3 Arena y de paso compartir y pasarnos cosas. Lo que si me acuerdo es que me dijo “mirá lo que me pasó Botafuco, es el archivo demo.exe que pesa 4KB, ejecutalo y caete de cul*”.

Tampoco recuerdo el nombre de aquel primer demo. Lo que si recuerdo es que luego de babear más de media hora sobre el teclado recurrí varias veces a revisar el tamaño del archivo y efectivamente, era de 4 Kilobytes. Era muy similar a éste, así de psicodélico. Así de groso.

Las demos de 4KB y también las de 64KB son demostraciones de arte (efectos visuales y música) y de una altísima capacidad de programación. Se hicieron famosas en la época de las primeras computadoras hogareñas como las Commodore y las Amiga. En esa época no había Internet, ni redes sociales, ni nada de eso y quizás la mayor diversión era aprender el funcionamiento de estas máquinas para así poder sacarles el mayor “jugo” posible. Los más hábiles en la programación a bajo nivel se juntaron en distintos “grupos” y allí nació la “scene” que consistía en una especie de competencia para ver cuál de los grupos la tenía más grande y hacía cosas más espectaculares ocupando la mejor cantidad de memoria (y de recursos) posibles dentro del limitado hardware que tenían estas primeras PC’s. No fue casualidad que muchos de estos programadores terminaron haciendo carrera en el mundo de los videojuegos como Remedy, los creadores de Max Payne, que empezaron como esceners en Future Crew.

Con el advenimiento de la Computadora Personal “IBM compatible” pasó algo extraño en la “scene” ya que la misma filosofía de las PC’s y su capacidad de mejoras y actualizaciones le quitaron esa limitación que obligaba a los programadores a comprimir y revisar código de bajo nivel para hacer arte en 2 pares de Kilobytes.

El desafío de armar auténticas obras de arte audiovisuales en – relativamente – pocas miles de líneas de código tuvo su esplendor entre los 80 y los 90. Se hicieron famosas las demopartys que tenían como objetivo que los grupos hagan demos en poco tiempo, un fin de semana, por ejemplo.

Revision. La “Demo Party” más famosa del mundo. Se realiza anualmente.

¿Y por qué 4KB y 64KB?

Esos son los límites para los tipos de demos. Fueron “estandarizados” por las limitaciones de las viejas computadoras que hicieron de base para los programadores y grupos actuales. Es el límite, es el máximo posible que pueden usar (en cada categoría) para meter toda la magia posible. Lo increíble es que en tan pocos bytes los tipos pueden crear tantos efectos, tantos movimientos, en tiempo real y… ¡con música!

Son 4 Kilobytes. Hacé una prueba: creá un texto en un editor de texto, ponele tu nombre y apellido y guardalo. Fijate cuánto pesa.

La clave de que puedan meter toda esta magia en tan poco espacio virtual es – además de los compresores y lo larga que la tienen los que programan estas cosas – el software que utilizan para programar.

Dicen los que saben que los viejos sceners codeaban directamente en Assembler o código de máquina. Los sceners modernos utilizan lenguajes “duros” como C o C++ y compiladores que comprimen más que la faja que usa Susana Gimenez.

Veamos Chaos Teory, una demo de 64KB. La verdad que la diferencia con las demos de 4KB se nota y demasiado. De todas maneras, 64KB es lo que pesa una foto JPG de 640×480 con buena compresión, ¡sigue sin existir!

Cabe destacar que estos programadores hacen uso de muchísimos llamados a librerías del OS, por ejemplo, en lugar de tener un archivo de audio, tiene la partitura y “pide” que el OS la “toque” a través de alguna libería, sea MIDI o Direct3D. De esa manera ahorran muchos, pero muchos Bytes.

“The Scene is Dead”, una demo de un grupo cracker mas o menos conocido llamado Razor1911

Es increíble ver la grosura que tienen algunos tipos para programar. Son realmente cracks, genios. Cualquier adjetivo les queda chico. Son magos de la programación pero se basan en una inmensa capacidad de manejo de algoritmos, matemáticas, trigonometría y una visión para la resolución de problemas de la manera más eficiente posible.

Delight, de Mercury (Magia a 60FPS y 64KB).

Quizás el mayor exponente de la escena de los demos actual es Iñigo Quilez (web personal) el cual es, además de matemático con una capacidad de programación inmensa, un artista de reputís**a madre.

Vean elevated, y díganme si no hay que ser un genio para meter eso en 4KB.

Ahora secá el teclado de baba, tal como lo hice yo hace 13 años y lo estoy haciendo ahora.

A los que saben del tema, ¿qué demo es la que más le ha gustado?

30 Comentarios

  1. sustab

    Son uno HDP! no pueden hacer eso en 4K que genios por dios, me hace reflexionar mucho sobra la mayoría del soft hoy en día, haciéndose más pesado día a día, con capacidades de computo y almacenamiento monstruosas que tenemos y nunca alcanza. Como esta gente no desarrolla sistemas a esa talla?

    • Paco

      El terreno y las texturas se genera programáticamente.

      No hay tanto misterio.

      Hacer eso lleva muchas horas, hacer lo mismo sin la limitación de tamaño y con objetos 3d ya renderizados y las texturas hechas, lleva dos horas.

      Por eso no se hacen así las cosas, no tiene sentido.

  2. Rodolfo

    Ni en pedo me como el viaje de que “Elevated” pesa 4K. Hijos de puta. Uno odiando la programación, y estos chacales refregandote lo pijudos que son

  3. tengotutto

    Usa la misma tecnología que el KGB Archiver.

    • Guido

      Creo que ese es el nombre de lo que estaba pensando. Una vez me bajé un archivo de 2Mb que se descomprimió a un rip del Half Life 2. Tardó una banda, pero me dejó boquiabierto

      • Paco

        Y luego guardaste Internet en un disquete.

        Eso que dices es completamente mentira porque es imposible y absurdo.

  4. luchobarrios

    Esa misma optimizacion tendria que utilizarse en sofware de uso cotidiano… como un office. pero no. lo hacen pesadisimo como para que uno compre mas hardware.
    catarsis.mode=on

    Un candy crush , por ejemplo, se “arrastra” en mi Milestone 3. Como mi3rda pide tanto power una aplicacion tan pel0tuda?

    catarsis.mode=off

    • Alejandro

      El software de distribución masiva debe privilegiar la legibilidad de código y las buenas practicas para que sea mantenible en el tiempo, hacer un upgrade o solucionar un bug en esto, echo en assembler y comprimido, es imposible.

      Ademas hoy en dia las horas/hombre de desarrollo son mucho mas costosas que el hardware, mas si lo paga el usuario xD

    • Hernán

      No es “optimización”, es que todo lo que ves en estas demos de 4 o 64 KB es generado “proceduralmente”, o sea, con fórmulas matemáticas.

      De hecho, ocupan poco, pero al tener que generar todo así en tiempo real y en base a esas fórmulas, suelen requerir un procesador y una GPU bastante potente.

  5. Keiichi

    Yo tengo mi coleccion de demos que salian en las revistas de compu de hace 20 años, era increible ver imagenes y musica genial en una simple 386 con graficos que parecian 3D y los mismos creadore decian que no usaban para nada el coproceasador que usaban solo las intrucciones x86.

  6. Dr. Nick Riviera

    Hola a todo el mundo!

    Hace muchos años, cuanto estaba en el secundario y estaba a full con el 3D Studio R4 (D.O.S 800×600) me acuerdo de haber ido a una especie de evento que se anunciaba a traves de los bbs donde mostraban estas cosas. Yo fui pensando que era un evento de 3D donde habia modeladores y animadores pero no, eran todos programadores haciendo estas cosas en asm

    Tambien me acuerdo de tener dentro el directorio donde tenia el juego micro machine 1 (juegazoooo) un archivo que era marte.exe y era un fly over del terreno de marte tambien con esta metodologia.

    Saludos a todos los viejos que leyeron este post y se acordaron de cuando eran chicos.

    Adios a todo el mundo!

  7. ECLiPSE

    Ahh, que lindos recuerdos. En algún punto de mi vida estuve MUY en tema, llegando incluso a programar alguna cosita en ASM (proyectos sin finalizar que lamentablemente nunca vieron la luz!).

    Guille: es “scene”, sin “e” delante (o lo castellanizaste?) je.

    Hay que remontarse a los incios. En un principio los grupos de crackers, que competían entre sí, muchas veces acompañaban sus “releases”/ cracks con estas pequeñas “intros”. Con el tiempo, se fueron desdoblando en la scene de las demos / demoparties, ya con la intención de competir a nivel arte / diseño.

    Para otro artículo y que está íntimamente relacionado: los trackers, y módulos de música .MOD / .S3M / .XM.

    Muchos de estos capos de la programación desarrollan sus propias herramientas / motores. Por ej. y para recomendar: la mítica Second Reality de Future Crew (si mal no recuerdo habían programado su propio extensor de modo protegido de para DOS – una cosa de locos!). http://www.youtube.com/watch?v=XtCW-axRJV8)
    Acá vean como trabajaban: http://www.youtube.com/watch?v=LIIBRr31DIU
    Recuerden que esto andaba a full framerate en una 386dx a 40 mhz!!!!

    Otro muy buen grupo de la época era Triton. Miren Crystal Dreams 2: http://www.youtube.com/watch?v=b3GUfM7qkCw

    Les dejo unos links para los que les interese el tema:
    http://www.scene.org
    http://www.pouet.net
    Y hay muchas fanáticos que han subido las demos en video a youtube, así que no necesitan pelearse con DOS para disfrutarlas!

    PD: Disculpen muchachos, pero parece que me copé… y lástima que me quedé sin tiempo para agregar alguna otra cosita…..

    • WhiteRabbit

      Me ganaste de mano, iba a postear el video de Second Reality de Future Crew. Me acuerdo haberla visto cuando salió, entraba en 2 diskettes de 5 1/4, y te volaba la cabeza.

      Es de notar que muchos miembros de Future Crew fundaron empresas productoras de juegos importantes (Remedy por ejemplo, y lo que fue MadOnion y ahora es Futuremark).

  8. El Polaco

    GRACIAS POR EL POST!!!

    Me hiciste caer baba y se me pianto un lagrimon sobre todo lo que escribio el Dr. Nick, la vida se pasa volando y de vez en cuando esta bueno hacer post de abandonware =D

  9. Pablo

    ¿De donde puedo descargar esas demos viejas para ejecutar con el DOSBox?

    • ECLiPSE

      Pablo, podés empezar por las dos páginas que recomendé más arriba.

  10. Buenísimo! Yo componía música .XM y .MOD y era muy fanático de esas cosas a mediados de los 90’s. Programé una demo para DOS incluso, muy chota, pero programé jaja
    Hacía gráficos ANSI también
    Conocí a gente muy creativa de la SCENE argentina: Madbit, Rave-n, Panoramix (Bandido), arlequin, sludge, koza…
    Participé en la Flash Party que era la fiesta de la scene argentina, la primera fue en 1998 en un galpón en la zona de y la última que se hizo fue en el 2007.
    http://es.wikipedia.org/wiki/Flashparty

      • uctumi

        Estabas en la escena? cuál era tu nick?

        Los módulos los tengo la mayoría, alguno me falta por ahí.

        Estos que encontraste en hornet son malísimos, sobretodo los 4 primeros, tendría 15 años cuando los hice, los 4 últimos zafan, ya llevaba más tiempo trackeando cuando los hice.

        En el modarchive hay muchos más si te interesa
        http://modarchive.org/index.php?request=view_artist_modules&query=68914&page=1#mods

        No me hago responsable de la calidad, algunos estaban bien y otros no se cómo los “rilisié”.

        Saludos!

        • Ah….yo tambien hacia musica con .xm y .mod en aquellos años ! todavía tengo algunos temas en .xm por ahí

          Ahora también hago música, toco en una banda, pero autoproducimos todo, incluida grabación mezcla y masterizacion y me acuerdo mucho de aquellos tiempos cuando nos toca meter baterias en Midi, el sistema no ha cambiado demasiado , solo que los samples son infinitamente mejores

  11. yippekay

    A los interesados, buscad por internet los documentales Moleman. Hay 3, es sobre la demoscen húngara.

  12. Diego M. (PepiMDQ)

    Yo me acuerdo de la primera demo 4k que vi por aquellos años locos de las 286 y 386.
    Se llamaba MARS y generaba un paisaje de montañas rojas, como si de Marte se tratara. Pero además incluía interactividad: se controlaba con los cursores.
    Avanzabas, retrocedías… te movias de costado… y el paisaje se modificaba y no tenía fin.

    Les dejo un link para que lo vean.
    https://www.youtube.com/watch?v=_zSjpIyMt0k

    Después muchos juegos pirata traían un “loader” o una firma que tenían esas animaciones super grosas.

  13. Oscar

    Creo que soy un poquito más experimentado (eufemismo por viejo) que los que escribieron arriba, pero aún tengo guardada una Spectrum con 48 kB de RAM (de los cuales unos 7 se los llevaban las variables del sistema y la reservada para el video).

    Había un juego con ¡512! pantallas, tipo laberinto en 2D, con enemigos móviles y música. Obviamente, todo muy limitado, a mediados de los ’80, imagínense…

    Y un programa base de datos, digamos un “mini dBase III” (el dBase III fue uno de los éxitos entre las bases de datos), que permitía programar modificaciones en los datos de la base, en los registros o en los datos que se estaban cargando, todo en función del número de líneas en que se insertara dicha programación (en Basic, con un número para cada línea de programa).

    Uno de los libros más avanzados de programación para la ZX Spectrum lo escribió un chico español de 17 o 18 años; estaba en Assembler y/o código máquina del Z80, que era el procesador que usaba esta maravilla diseñada por Sir Sinclair.
    Por supuesto, no existía ni la intención de “portabilidad”, “upgrade” ni nada de lo que estamos acostumbrados hoy.

    La necesidad hace al hombre, dicen.

  14. Zardoz

    > Son 4 Kilobytes. Hacé una prueba: creá un texto en un editor de texto, ponele tu nombre y apellido y guardalo. Fijate cuánto pesa.

    Ojo, realmente pesa unos pocos bytes, pero el sistema de ficheros (FAT y NTFS) no permite crear ficheros mas pequeños de cierto tamaño (siendo multiples de este tamaño minimo, que es el tamaño de cluster), de ahí que sea mas grande.

Dejar respuesta

Please enter your comment!
Please enter your name here