Backed up from a local Blogger export (298219057033377286/298219057033377286.html) on 2026-01-01.

http://photos1.blogger.com/blogger2/3211/2667/1600/beatbox_alive.gif

Okay well this isn’t the sky falling but screenshots are so much fun, especially really dumb ones during development. What was at one point actually a fairly fun playable little game is currently a shadow of itself living on top of all new (actually rehashed I get to that in a minute) stuff.

http://photos1.blogger.com/blogger2/3211/2667/1600/beatbox_2player.jpg

Now I’ll provide a little story about beatbox, mostly for my own benefit. About a year ago I was having a lot of trouble getting any coding done after our second kid came along. I still had time but I just couldn’t really get myself motivated to do anything good. Discouragement mostly came from the fact that I didn’t figure that I had time to really write anything of any good quality.

So I got this idea to just hack, not worry much about proper design or object orientation or really doing anything right at all. I wanted to get back to the root of what I loved, the thing that made me write reams of code in Jr and Sr High School. Just get something up and going no matter how sloppy or lame it was and have fun doing it. So I put some 3d graphics to music using glut, and it was a blast.

http://photos1.blogger.com/blogger2/3211/2667/1600/jrdemo.jpgAfter awhile just doing different 3d scenes at different sample points in the song became a bit mundane for my own personal enjoyment so I decided to make the blocks fall down and controllable. And that’s more or less how beatbox was born. I wanted to have poyupoyu style gameplay with my own individual twists because that was really what I wanted to play and I didn’t have a poyupoyu game on hand to enjoy.

This whole time I was still hacking. The entire game logic was in poyu.cpp and the rendering was in render.cpp. It was a pretty mess. I copy-pasted chunks of code that I dragged in from all kinds of personal projects from as far back as 2002, yeah a glorius mess. At some point I just dropped the binaries in a folder and called it good. I realized this was a dead end and I was re-inventing and ruining all kinds of work I had already done for the past few years as well as writing some code that would never again be useful. So I made a big choice. I was going to take 5 years of code and make it into a set of consistent usable libraries and make all my games compile off of that. I knew this was a huge project but I decided that it would be fun and good for me.

So I’ve come to a summit of that work. I actually have the original beatbox code retrofit into the new set of libraries with a new resource system thrown in for good measure. It feels good but all I have to show for it is a white triangle on a grey background. At least I’m happy.