Original Post

On Saturday the 8th, my colleagues and I from the development team at MeinAuto hosted one of 160 Code Retreat events that took place all over the world.

The “Global Day of Coderetreat” is a day-long, intensive practice event, focusing on the fundamentals of software development and design. Our task that day was to program Conway’s Game of Life, a cellular automaton, or, easier put, a very simple evolution simulation, in six one hour long sessions under different preconditions, like for example using no conditional statements. After each session the code had to be thrown away to start from scratch in the next one.

The language to write in was our choice, so I decided to do something special and bring the Game of Life to the Virtual Boy.

gdcr2012

Everything was done in pair programming, so for each sessions, I paired up with another developer and mostly worked in Java that day. In the one session I actually worked in C on a Virtual Boy version, I got it running just in time, though. Although the code was deleted in the very next moment, I was trained enough to write it again in like 20 Minutes after the event.

That particular version makes use of the Virtual Boy Virtual Image Processor’s (VIP) characters and backgrounds being perfectly suited and therefore uses an array of 48×28 8×8 pixel cells. In the following days I also created a version using 4×4 pixel cells on 4 layered backgrounds and an experimental (and not fully working) one with variable sized cells that writes directly to the framebuffers instead of using the VIP. In case you want to have a look at the surprisingly small sources, here they are, including compiled binaries:

Conway’s Game of Life VB (8px)
Conway’s Game of Life VB (4px)
Conway’s Game of Life VB (Direct Screen Draw)

game_of_life_vb

2 Replies

Oooooo… pretty.

Now, a more badass and even more VB-specific version would make use of the V810’s bitstring instructions. 😀

 

Write a reply

You must be logged in to reply to this topic.