¿Que es la “Demoscene”?

En un anterior artículo, les presentamos .kkrieger, un juego FPS en solo 96K y comentamos su origen en la demoscene.

La demoscene es una subcultura informática que llegó a su auge en la era de los microprocesadores de 16 bits (la Atari ST y la Amiga), aunque las demos ya habían aparecido en computadoras de 8 bits como la Commodore 64 y la ZX Spectrum.

Las demos comenzaron siendo una firma de los crackers de software. El cracker o equipo de crackers se daban crédito modificando los programas para que, cuando un programa crackeado se iniciara, se viera una presentación gráfica impresionante, también llamada “intro”. Esto se vio por primera vez en las computadoras Apple II a fines de los 1970 y principios de los 1980. Más adelante, estas intros evolucionaron hacia una cultura independiente de los grupos de cracking. Irónicamente, muchos de los jóvenes talentos que crecieron programando demos, y de esa forma adquiriendo experiencia en programación de gráficos de computadora, luego terminaron trabajando para la industria de los videojuegos, cuyos productos habían violado anteriormente. El objetivo principal de una demo es demostrar que se es mejor programador, y se tienen mejores habilidades gráficas y musicales respecto a otros demo-groups.

Wired News ha descrito con frecuencia demos como “graffiti digital”, haciendo hincapié en la naturaleza underground de la demoscene, así como la forma en que las demos se utilizan para proclamar la superioridad de la “pandilla” de autor. Digitalcraft ha descrito las demostraciones como “origami digital”, refiriéndose a la creación de obras estéticamente agradables superando estrictas restricciones técnicas.

Concepto

Dado que, antes del PC, los ordenadores de una misma línea tenían capacidades idénticas, era posible comparar demos en plataformas más antiguas. Esto generó un ámbito competitivo, en el cual cada uno de los demo-groups (equipos de programación de demos) trataban de superar a los demás diseñando sorprendentes efectos. Los escritores de demos se concentran inusualmente en extraer hasta la última gota de rendimiento de la máquina que programan. A diferencia de los desarrolladores de juegos y aplicaciones, quienes se concentra en la estabilidad y funcionalidad, el típico programador de demos se interesa en cuantos ciclos de CPU va a consumir cada rutina, y en la mejor forma de agrupar tantos efectos y actividad en la pantalla como se pueda. Esto llegó al punto de explotar errores conocidos de hardware para producir efectos que el fabricante no había previsto, dándole a los demogroups la sensación de haber llegado a fronteras que nadie más ha alcanzado.

Recientemente, los avances tecnológicos nos han traído CPUs más veloces, más memoria, procesadores gráficos más poderosos, y hardware con aceleración 3D. Habiendo perdido muchos de los desafíos del pasado, el enfoque de las demos ha girado a la realización de arte en tiempo real bien diseñado, con estilo, y estéticamente agradable – un hecho que parece ser reprochado por los demosceners de la “vieja escuela”. Esto se explica en parte por la ruptura que introdujo el PC, donde la plataforma varía, y la mayoría del trabajo de programación que antes se realizaba a mano ha sido automatizado por la tarjeta gráfica. Esto les da más libertad de acción a los demosceners, pero puede frustrar a aquellos que buscaban un desafío de programación. Aun así, la vieja tradición sigue viva. Las “demo parties” organizan competiciones con diferentes limitaciones de plataforma o de tamaño de programa. En una computadora moderna, el tamaño del ejecutable puede estar limitado a 64KB o a 4KB. A estos programas limitados en tamaño normalmente se les llama “intros”. En otras categorías solo se permiten computadoras viejas como la Commodore 64 o Atari ST, o equipos portátiles cómo teléfonos móviles o PDAs. Ese tipo de restricciones le ofrecen un desafío a los programadores, artistas y músicos y hacen reaparecer la antigua motivación de hacer que un dispositivo haga más cosas que aquellas para las cuales fue diseñado.

Restricciones de tamaño

Los tamaños de archivo pequeños han sido una característica integral de ciertos tipos de demos desde el principio, cuando los crackers de software necesitaban introducir una introducción de crack en un área muy pequeña que quedaba de un disquete o RAM . También era importante que las intros publicitarias de BBS fueran relativamente pequeñas, ya que normalmente se incluían en todos los archivos descargados del BBS. A veces, incluso la propia plataforma dictaba algunas restricciones de tamaño: el tamaño del sector de inicio de un disquete (generalmente 512 a 4096 bytes) también era el tamaño máximo de una demostración de bloque de inicio. El límite de tamaño común de 64 kilobytes para intros, por otro lado, era el tamaño del segmento en la arquitectura x86 de 16 bits y también el tamaño máximo de un ejecutable .COM basado en MS-DOS.

En tiempos posteriores, la necesidad práctica de demostraciones muy pequeñas ha disminuido, pero la voluntad de competir en comprimir mucho en poco espacio no ha desaparecido. Por lo tanto, fue necesario introducir restricciones de tamaño artificial para desafiar a los autores. En los eventos modernos de demoscene, hay competiciones de demostración con bajas restricciones de tamaño, y competiciones de introducción con límites bastante estrictos de 64 kilobytes o menos.

Debido a los estrictos límites de tamaño, las intros muestran la capacidad del programador para empaquetar mucho en poco espacio, a menudo mediante la generación de datos gráficos y de sonido en lugar de simplemente leerlo desde un archivo de datos. En los mejores ejemplos tecnológicos se aplica generación procedurale de geometría, texturas, animaciones, audio a travéz de sintetizadores. Es extendido el uso de compresores de datos y ejecutables, como UPX, para reducir aun más los archivos finales.

Debido al límite de tamaño extremadamente bajo, las intros de 4K solían carecer de sonido o tenían música de muy baja calidad. A medida que avanza la tecnología, sin embargo, la síntesis de sonido 4K se ha convertido en una nueva frontera en la versión demo. 4K todavía no es el límite más bajo para los demosceners: algunas organizaciones de desarrollo organizan competiciones de 1K, 256 bytes, 64 bytes o incluso 32 bytes. Si bien la creación de un 4K podría no requerir conocimientos de programación de bajo nivel, las competiciones de menos de 1K requieren que el codificador de demostración sea experto tanto en programación en ensamblador como en optimización algorítmica. (A modo de comparación: el tamaño de esta sección de artículo es más de 2 kilobytes).

Las técnicas de generación de procedimientos desarrolladas para intros pequeños se han abierto paso en los juegos convencionales como el juego de Will Wright, Spore.

Parties

Assembly – una combinación de demoparty y LAN party.

Una demoparty es un evento que reúne demosceners y otros entusiastas de la informática para participar en concursos llamados Demoscene compos. Una fiesta de demo típica es un evento sin escalas que abarca un fin de semana, brindando a los visitantes mucho tiempo para socializar. Los trabajos que compiten, al menos aquellos en las competiciones más importantes, generalmente se muestran de noche, usando un videoproyector y altavoces.

Categorías de demos

Hay categorías en las que las demos pueden clasificarse informalmente. Una intro usualmente denomina una demo donde la acción transcurre infinitamente y basadas en una sola pantalla gráfica (aunque esta definición se ha extendido para incluir cualquier demo escrita bajo una limitación estricta de tamaño, sin importar el estilo de presentación). Una megademo consiste en una secuencia de muchas partes independientes, usualmente con una banda de sonido para cada parte, y a veces con la necesidad de la interacción del usuario para pasar de una parte a la siguiente. Hay algunas variantes menos usadas de estos términos, como kilodemo (una demo de muchas partes, considerada demasiado pequeña para ser una megademo) y una dentro (un híbrido entre una intro y una demo a escala completa). Desde principios de los 1990s, el formato predominante de demos ha sido el trackmo, en la cual los efectos visuales siguen una línea de tiempo prefijada, sincronizada con una banda de sonido continua, en cierta forma similar a un video musical.

A continuacion les dejamos los vinculos de algunos demos en varias categorias. No incluimos de categorias abiertas por falta de espacio, al ser archivos mayores.

La mayoría de los demos realizan al inicio la generación y precalculo, lo que puede demorar unos segundos actualmente.
Otros proveen un panel de configuración donde se pueden ajustar resolución, antialiasing, pantalla completa, etc.
También que aunque parezcan simples, algunos imponen buena carga de trabajo a los sistemas gráficos, chequear sus temperaturas.
Algunos (en los de 256 bytes y 1K-4K) pueden fallar en sistemas modernos, probar aplicar compatibilidad en las propiedades del archivo, o en sistemas mas viejos (W7 y anteriores) o en caso extremo, un sistema de estos virtulizado con un VM que provea aceleración 3D avanzada.
Alertar que debido a los métodos de compresión de ejecutables utilizados, puede haber alguna falsa detección por antivirus.

Demos de 256 bytes
Demos de 1 a 4 kilobytes
Demos de 4 kilobytes
Demos de 64 kilobytes

Esperamos lo comentarios y calificaciones al respecto. Cuál les gustó más?

Referencias:
scene.org archive, Un archivo FTP exhaustivo de demos y producciones de demoparties
demoscene.info, Información sobre la demoscene
pouet.net, Base de datos de la demoscene

7 Replies to “¿Que es la “Demoscene”?”

    • yo(el primero)

      “requirements:
      ————-
      A good graphics card, cause we’re burning
      fill rate as hell. On less powerful graphics
      cards lower resolutions are recommended. On
      ATI cards we encountered problems (stutters)
      with v-sync enabled.”
      jajajaja 2011…
      están psicodélicos, esa gente son unos monstruos, para hacer eso no es un poco de código y ya, tienen que tener un conocimiento de matemática y una capacidad de abstracción del carajo, la música es por ellos mismos ?

      Responder
      • Maikel Autor del Post

        si, los equipos de “demoers” son programadores, diseñadores, modeladores, musicos, etc, fijate los creditos
        y si, ver algunos de esos y un tin de LSD no se diferencian mucho creo, jajajaja

        Responder
        • yo(el primero)

          ya he visto algunos, de los de 256 bytes ninguno me cargó
          los de 64 kb menos uno todos los demás corrieron bien, ese primero al ver lo del readme por poco lo mando a cargar en baja resolución jaja

          Responder
    • Maikel Autor del Post

      puede pasar, yo los vi en su momento, el asunto es que los windows hay ido quitando soporte a . fijate que los de 256bytes, el codigo (ensamblador) se lleva mas (mucho mas) que el compilado. en los que puse hay de distintos años. hay otro buenos pero ya se llevan de 5 mB para arriba y no quiero consumir espacio aqui. quizas añada unas imagenes de como se ven algunos de los de menos de 4KB

      Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *