EDICIóN GENERAL
190 meneos
7128 clics
Waillee: Demo de 4096 bytes

Waillee: Demo de 4096 bytes  

Presentada en Berlín, en el evento deadline 2017, este pequeño ejecutable de 4K produce el resultado del vídeo.

| etiquetas: waillee , demo , intro , 4096 , 4k prismbeings
Increíble. ¿Cómo cojones hacen eso? ¿Incluye los 4K la música?
#1 Yo todavía no lo entiendo.

Cómo consiguen esas texturas, ese movimiento, etc. Y son 4 minutos.
#2 #1
Está hecho mediante funciones generadoras. Las imágenes se crean en tiempo real. No se utiliza arte precomputado (imágenes, música, etc).
#6 qué lenguaje se utiliza? No me imagino programando en ensamblador...
#7
Presumiblemente en el que quieran. No se indica lenguaje: deadline.untergrund.net/
Pero si quieres meter lo máximo posible en 4KiB de ejecutable, seguramente usen C o C++.

cc #8.
#7 Pues sí, suelen estar programados en ensamblador, y no solo eso, sino que usando trucos para que las instrucciones ocupen lo mínimo, con herramientas tipo IDE que la gente se crea las suyas a medida para el proyecto, y comprimiendo todo al final.
#29 Creo que en ensamblador ya sólo se escriben las demos de 256 bytes y similares. Las de 4 y 64 kB suelen estar escritas en C/C++, y sobre todo muchos shaders.
#6 eso ya lo habia supuesto, pero meter toda esa logica en 4k es algo que no veo. Hay demos parecidas con el codigo disponible?
#8

Elevated versión shader: www.shadertoy.com/view/MdX3Rr
Elevated con su código: files.scene.org/view/resources/code/sources/rgba_tbc_elevated_source.z
Artículo sobre cómo hicieron una demo 64K (los principios son los mismos): www.lofibucket.com/articles/64k_intro.html
#8 Si te fijas bien, en realidad no tiene tanta lógica, y lo que suelen hacer es reutilizar resultados de las funciones generadoras para múltiples cosas.
Por ejemplo, en este caso el terreno podría estar generado usando alguna de las generadoras de sonido. El espectador no se daría cuenta, pero permitiría reducir el tamaño del ejecutable.
#6 Las imágenes, texturas etc son generadas en tiempo de ejecución pero no en tiempo real. En el proceso de carga, antes de que empiece todo, se pre-calculan las texturas, audio etc... una vez cargado en memoria pasa a ocupar muchos megas en memoria (tanto RAM y gráfica).
#1 #2. Libro online completo introductorio al respecto :
'Procedural Content Generation in Games.'
pcgbook.com/

#23. Un placer. :-) Más bibliografía : www.packtpub.com/game-development/procedural-content-generation-c-game
#22 Qué gran link, gracias.
#1 quizá parte del éxito sea que no va cargado de publicidad y demás código parasitario
9 meneos y a punto de hacer portada, y todo por la pelea de noticias sobre cataluña...
#3 de todas maneras esta demo/intro se lo merece, ha impresionado a mucho crack en la scene
Pero que cojones? yo venía a hablar de Cataluña!!
#4 Yo he venido a hablar de mi libro. xD
Es un logro excepcional, y se hace de esta forma:
El lenguaje es ensamblador puro.
No hay ningún dato almacenado. Los datos ocupan mucho espacio.
Todo, las texturas, los sonidos, los movimientos, están creados algoritmicamente. Todas las imágenes están creadas con una o dos fórmulas, con distintas semillas. Se proyecta en 3D con las ecuaciones adecuadas, que en realidad son muy simples. Probablemente todo sean fractales.
Los sonidos de mar y viento no son más que ruido blanco con números…   » ver todo el comentario
#11
files.scene.org/view/parties/2017/deadline17/4k/pbr-waillee.zip

Utilizan shaders y llaman a funciones de la API gráfica. Ha utilizado un compactador de shaders escritos en GLSL y HLSL:
files.scene.org/view/parties/2017/deadline17/4k/pbr-waillee.zip
github.com/laurentlb/Shader_Minifier
#12 en mis tiempos (cof, cof) no estaban permitidas las librerías. Ni de sonido ni de vídeo. Cargabamos los registros a pelo. Pero bueno, también el hardware era más sencillo. No le resta mucho mérito
#13
Bueno, eso y que las herramientas de hoy son mucho mejores que hace años. Todo avanza.
#13 Eso pienso yo, que cada vez les salen demos más chulas y con menos código porque tiran de llamadas a librería gráfica.
#13 No sé cuáles son las restricciones de las demos de 4KB, pero tirar de librerías externas… No sé, no sé… Yo recuerdo de mis tiempos de Amiga que las demos 4K trabajaban directamente sobre los registros del chip gráfico y el de sonido (o un minitracker), nada de librerías del sistema.

Es que, si tiras de librerías externas, la demo no es estrictamente 4K…
#12 “No dejes que la realidad nos estropee un buen comentario" #11 :->
#36. Goto #12. Goto #37.
#11 mentira... son los datos que envían las voyager bit a bit durante 6 meses xD
#11 El lenguaje nos es ensamblador.
Algoritmo semialeatorio para las notas no.
#11. Creo que también deben utilizar directamente en ensamblador (sin pasar por OpenGL y similares) las funciones 3D ya implementadas en las tarjetas gráficas actuales. Eso debe ahorrar incluso más optimización y espacio en el código fuente. Si es así el milagro es que hayan podido hacerlo sin documentación oficial que los fabricantes habituales no proporcionan. Abrumadora ingeniería inversa por amor al arte.
Hacía años que no veía intros, me acabo de quedar blanco con la evolución que ha tenido. Si os interesa el tema hay un documental que está bien. Os dejo el enlace, se supone que se pueden cambiar los subtítulos aunque desde el móvil no me sale:

youtu.be/iRkZcTg1JWU
para mi esto es perfecto, teniendo en cuenta que es del 93, con las maquinas que habia en la epoca.
Tecnicamente no tiene que ver con lo actual, pero el ambiente es insuperable
www.youtube.com/watch?v=rFv7mHTf0nA
#17 Un clásico, la tengo guardadita de hace años junto otras joyas como por ejemplo fr-08 o fr-019-final. Recuerdo una muy buena que incluso vacilaban al final diciendo que les había sobrado unos Ks y no sabían que hacer (era de las de 64Ks). No se si era una competi rápida de demoscene tipo Euskal.
Siempre me he maravillado la capacidad de crear y programar del colectivo demoscene.

www.youtube.com/watch?v=EW4sqQAU2Ys
www.youtube.com/watch?v=Y3n3c_8Nn2Y

Edito: la fr-08 es la que comemtaba que en una competi de demoscene le sobraban 7Ks y ya iba corto de ideas, por lo que empieza a meter texto con lo que había procesado la demo, agradecimientos, etc.. Es el segundo enlace de las dos que he colgado.
Es como si la demo de Elevated, en lugar de haberla hecho RGBA, la hubiera hecho Jot Down.
Me esperaba algo más espectacular. Es aburrida, el movimiento del agua me parece muy artificial (veo como saltos raros en las ondas) y no me aporta nada que no se hiciera ya con Elevated hace casi 10 años.
Técnicamente es la hostia y tiene mucho mérito saber hacer eso, pero lamentablemente el resultado no me convence
Iñigo Quílez le lleva 8 años de ventaja a esta demo con Elevated. Tiene un canal web que es impresionante:
www.youtube.com/user/mari1234mari
comentarios cerrados

menéame