{"id":606,"date":"2013-08-27T18:44:25","date_gmt":"2013-08-27T21:44:25","guid":{"rendered":"http:\/\/www.maurom.com\/blog\/?p=606"},"modified":"2017-05-22T10:12:46","modified_gmt":"2017-05-22T13:12:46","slug":"un-vistazo-a-codigo-de-la-demoscene-93","status":"publish","type":"post","link":"https:\/\/maurom.com\/blog\/2013\/08\/27\/un-vistazo-a-codigo-de-la-demoscene-93\/","title":{"rendered":"Un vistazo a c\u00f3digo de la demoscene &#8217;93"},"content":{"rendered":"<p>Desde mis primeros a\u00f1os cerca de las computadoras siempre me fascinaron las <b>demos<\/b>.<\/p>\n<p>No, no me refiero a las versiones recortadas de programas o juegos que se dan con fines comerciales, nada de eso. En nuestro contexto tambi\u00e9n se denominan&nbsp;<b>demos<\/b> a ciertas presentaciones multimedia creadas por programadores y artistas como una forma de arte alternativo y como muestra de sus capacidades.<\/p>\n<p>Cualquiera que vea una demo en funcionamiento podr\u00eda confundirla simplemente con un videoclip medio bizarro que se reproduce en la PC. A simple vista parecer\u00eda ser s\u00f3lo eso. Sin embargo, el archivo que almacena ese \u201cvideo\u201d, por as\u00ed decirlo, suele pesar apenas 64 kilobytes, o incluso menos, 4 kilobytes; y una de las caracter\u00edsticas que m\u00e1s asombran es precisamente esa: <b>\u00bfc\u00f3mo logran \u201calmacenar\u201d este tipo de animaciones en un archivo tan peque\u00f1o?<\/b><\/p>\n<p>El truco, en realidad, radica en que el video en s\u00ed (y la m\u00fasica, normalmente) no est\u00e1 contenido en el archivo&nbsp;binario, sino que el binario es un archivo que al ejecutarse genera completamente la animaci\u00f3n, como una especie de \u201cmueble autoensamblable\u201d.<\/p>\n<p>Adem\u00e1s de este detalle, los programadores de demos buscan aprovechar al m\u00e1ximo las caracter\u00edsticas del hardware para el cual est\u00e1n trabajando, logrando animaciones que en muchos casos son impensables de ver en esos limitados equipos.<\/p>\n<p>Buena parte de estas demos son creadas por grupos multidisciplinarios denominados <i>demogroups<\/i>, cuyos miembros son muy buscados por los departamentos de recursos humanos de la industria de videojuegos, sea como programadores, artistas gr\u00e1ficos o m\u00fasicos, e incluso figuran entre los participantes de la reconocida conferencia acad\u00e9mica de gr\u00e1ficos por computadora <a href=\"http:\/\/www.siggraph.org\/\">SIGGRAPH<\/a>.<\/p>\n<p>El coder <i>aancsiid<\/i> resume en pocos p\u00e1rrafos \u201c<a href=\"http:\/\/www.scheib.net\/play\/demos\/what\/index.html\">Qu\u00e9 es una demo<\/a>\u201d, y los art\u00edculos <a href=\"http:\/\/en.wikipedia.org\/wiki\/Demo_(computer_programming)\">Demo (Computer_programming)<\/a>&nbsp;y <a href=\"http:\/\/en.wikipedia.org\/wiki\/Demoscene\">Demoscene<\/a> en Wikipedia son buenos puntos de partida para acercarse a la historia y las particularidades de las demos, pero lo que no pueden dejar de conocer son los cl\u00e1sicos sitios <a href=\"http:\/\/www.pouet.net\/\">Pouet.net<\/a>&nbsp;y <a href=\"http:\/\/www.scene.org\/\">Scene.org<\/a>, dedicados exclusivamente a las obras de esta subcultura.<\/p>\n<p>De las que me han dejado con la mente en blanco recuerdo a <a href=\"http:\/\/www.pouet.net\/prod.php?which=5\">heaven seven<\/a> de exceed, <a href=\"http:\/\/www.pouet.net\/prod.php?which=30244\">fr-041:debris<\/a> de farbrausch, &nbsp;<a href=\"http:\/\/www.pouet.net\/prod.php?which=52938\">elevated<\/a> de rgba&amp;tbc, <a href=\"http:\/\/www.pouet.net\/prod.php?which=25774\">chaos theory<\/a>&nbsp;de conspiracy\/cns, y las mas nuevas como&nbsp;<a href=\"http:\/\/www.pouet.net\/prod.php?which=54603\">agenda<\/a>&nbsp;de fairlight,&nbsp;<a href=\"http:\/\/www.pouet.net\/prod.php?which=57446\">spin<\/a> de asd.<\/p>\n<p>Para que se den una idea, el ejecutable de <i>heaven seven<\/i> pesa 64 kilobytes, y logra todo esto &#8230; <\/p>\n<p><iframe loading=\"lazy\" allowfullscreen=\"\" frameborder=\"0\" height=\"450\" src=\"https:\/\/www.youtube.com\/embed\/tCMo-bJQC8A\" width=\"600\"><\/iframe><\/p>\n<p>con s\u00f3lo <b>64 kilobytes !!!<\/b>&#8230; <i>debris<\/i> pesa <b>177 kilobytes<\/b>, y la demo <i>elevated<\/i> pesa <b>4 kilobytes<\/b>&#8230; Piensen que al d\u00eda de hoy el c\u00f3digo HTML de una p\u00e1gina web pesa en promedio unos 52 kb, y una fotograf\u00eda digital pesa por lo menos 3.000 kb. Esta gente logra toda una experiencia multimedia en apenas una fracci\u00f3n de eso&#8230; Pero no se queden con lo que les digo: si tienen una m\u00e1quina a mano, b\u00e1jense los binarios y ejec\u00fatenlos, para ver la realidad.<\/p>\n<p>Cyberhades tiene tambi\u00e9n una buena lista de <a href=\"http:\/\/www.cyberhades.com\/category\/demoscene\/\">posts dedicados al tema<\/a>, y precisamente <a href=\"http:\/\/www.cyberhades.com\/2013\/08\/26\/disponible-el-codigo-fuente-de-la-mitica-demo-second-reality-de-future-crew-analisis-del-mismo\/\">es por ellos<\/a>&nbsp;que me entero de que el grupo Future Crew ha dejado disponible el <a href=\"https:\/\/github.com\/mtuomi\/SecondReality\">c\u00f3digo fuente de la demo \u201cSecond Reality\u201d<\/a> con motivo del 20 aniversario de su creaci\u00f3n.<\/p>\n<p>Y aqu\u00ed repito: el <b>C\u00d3DIGO FUENTE DE LA DEMO<\/b>. Piensen que, dadas las exepcionales secuencias gr\u00e1ficas que los demogroups eran capaces de generar en aquella \u00e9poca, los hacks que \u00e9stos utilizaban para lograrlas eran secretos muy bien protegidos que muchas veces defin\u00edan los primeros puestos en las competencias internacionales (<i>demoparties<\/i>). Por ello, poder acceder al c\u00f3digo completo de una, ver su estructura interna y descifrar su funcionamiento es un regalo que hay que agradecer.<\/p>\n<p><iframe loading=\"lazy\" allowfullscreen=\"\" frameborder=\"0\" height=\"450\" src=\"https:\/\/www.youtube.com\/embed\/KTjnt_WSJu8\" width=\"600\"><\/iframe><\/p>\n<p>Adem\u00e1s de felicitar a Future Crew por su amplia trayectoria, merece mis respetos Fabien Sanglard al acercarnos esta maravilla a los mortales mediante un ilustrado <a href=\"http:\/\/fabiensanglard.net\/second_reality\/index.php\">an\u00e1lisis de los fuentes de Second Reality<\/a>&nbsp;que, por caso, contienen c\u00f3digo en Assembler, C y Pascal. Recordemos que Sanglard nos viene deleitando ya con la aproximaci\u00f3n al c\u00f3digo fuente detr\u00e1s de&nbsp;<a href=\"http:\/\/fabiensanglard.net\/prince_of_persia\/index.php\">Prince of Persia<\/a>, <a href=\"http:\/\/fabiensanglard.net\/doomIphone\/doomClassicRenderer.php\">Doom<\/a> y <a href=\"http:\/\/fabiensanglard.net\/quake3\/index.php\">Quake<\/a>.<\/p>\n<p>Me encantar\u00eda seguir charlando de demos, pero mejor que eso es sentarse a ver algunas por <a href=\"http:\/\/www.demoscene.tv\/\">demoscene.tv<\/a>, <a href=\"http:\/\/capped.tv\/\">capped.tv<\/a>, o mejor, ejecut\u00e1ndolas en vivo en la PC.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Desde mis primeros a\u00f1os cerca de las computadoras siempre me fascinaron las demos. No, no me refiero a las versiones recortadas de programas o juegos que se dan con fines comerciales, nada de eso. En nuestro contexto tambi\u00e9n se denominan&nbsp;demos a ciertas presentaciones multimedia creadas por programadores y artistas como una forma de arte alternativo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[19,10,14],"_links":{"self":[{"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/posts\/606"}],"collection":[{"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/comments?post=606"}],"version-history":[{"count":3,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/posts\/606\/revisions"}],"predecessor-version":[{"id":1435,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/posts\/606\/revisions\/1435"}],"wp:attachment":[{"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/media?parent=606"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/categories?post=606"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/tags?post=606"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}