Empujar cajas en color de 8 bits
La ley de Moore ya no se cumple estrictamente, pero sigue siendo cierto que la mayoría de los sistemas informáticos tienden al menos a reducir su coste con el tiempo, si no también su tamaño. Esto significa un mayor acceso a hardware menos costoso, aunque ese hardware siga siendo un microcontrolador de 8 bits. Mientras algunos pasan a plataformas más potentes como resultado de esta tendencia, hay otros que siguen luchando por llevar estas plataformas al límite. [lcamtuf] ha estado trabajando con este fin, estirando un pequeño microcontrolador AVR no sólo para jugar a un videojuego clásico, sino para mostrarlo en una pantalla en color.
El videojuego que [lcamtuf] está recreando se conoce como Sokoban, un juego de puzzle que consiste en empujar cajas hasta sus espacios asignados sin caer accidentalmente en una situación sin salida. Es mucho menos común que las construcciones de Snake que hemos visto en abundancia, pero aún así se presta bastante bien a la plataforma. Se basa en un microcontrolador AVR128DA28 que no sólo controla el juego, sino también una pantalla OLED de 160×128 colores. Hacer sitio para la pantalla en un microcontrolador relativamente pequeño fue todo un reto, pero después de varias ingeniosas soluciones para aprovechar al máximo la memoria y los ciclos del procesador, el juego está funcionando en el dispositivo más pequeño posible.
[lcamtuf] afirma que este proyecto se hizo principalmente como un reto, pero también para instruir a sus hijos en algunos de los aspectos más agradables del diseño eficiente de juegos. Para aquellos menos interesados en el aspecto del diseño de juegos y más en las mejores maneras de meter tanta potencia de procesamiento en un paquete tan pequeño como sea posible, echa un vistazo a esta construcción que implementa VGA con nada más que un ESP32.