Un globo ocular saltarín recoge monedas mientras esquiva hierba púrpura y plantas carnívoras en "Bouncing Beholder", un completo juego de plataformas con animación fluida, física y terreno generado aleatoriamente. ¿Lo más sorprendente? Todo el juego cabe en sólo 1.024 bytes de código JavaScript. (blog del autor con explicación técnica)
|
etiquetas: bouncing beholder , 1k , plataformas
Si intentas ejecutar el codigo que proporciona, veras que tira un error.
Eso se debe a que espera encontrar un canvas como primer elemento del DOM.
Se aprecia en la primera linea del codigo:
```js
c=document.body.children[0]
````
Si tuviese que crearlo programaticamente tendra que hacer
```js
const c = document.createElement("canvas");
c.width=800;
document.body.appendChild(c);
```
Eso ya son unos 100 bytes adicionales, o sea un incremento de un 10% sobre esos 1.024 bytes
Lo que sí me sorprende es que se haya tardado más de 14 años en salir esto en menéame, porque este fue el ganador de 2010, que por cierto fue el año que empezó la competición: js1k.com/2010-first/details/635
Como aquí, vamos
...JavaScript.
Aquel equipo tenía una memoria de 1K, y todo debía de caber ahí.
Sólo tenías BASIC y código máquina, que se implementaba como texto.
Aquí, muy meritoriamente, el código ocupa eso; por tanto no queda memoria para ejecutar, y eso sin considerar al propio intérprete.
Y, sí, existían juegos para esa máquina. No obstante todos montaban la extraordinaria ampliación a 16K
En la ROM iba el intérprete de BASIC
mattkc.com/etc/snakeqr/
Y alguno se queda tan feliz.
Habría que analizar el código final a ejecutar, contando el parser, intérprete etc.
Y el primer Mario Bros de la NES ocupaba 32 Kb
Una virguería.