2.5D Dungeon Exploration in WebGL


About two months ago I created this little WebGL game (and a smaller version here) for a graphics course at school. The code can be found here on GitHub and the documentation here.

The course was mostly OpenGL, and I figured I should try making a project in WebGL, since it’s similar but more easily accessible (i.e., anyone with a capable web browser can play it). Decided it’d be cool to try a 2.5D game, and while brainstorming ideas, stumbled upon Bitworld, which seemed like the kind of environment I wanted to try making. So after looking up a bunch of tutorials on WebGL, javascript libraries, lighting methods, and billboarding, I came up with this.

Tumblr Sidebar Sideblog Expander

This was a while ago (I really do need to update this site more often, whoops), but back in early September, Tumblr decided to change its layout. Sideblogs, which used to be clickable links at the top of the page, are now on a right sidebar, and what’s annoying is that you have to click twice to get to a sideblog, whereas before it only took one click. Might just be a minor issue, but it kinda bothered me.

I figured that since I know a decent amount of javascript by now, I’d write a greasemonkey script to automatically expand the sideblog list on the right. So on September 8th I decided to give it a shot: here it is (or here). It will probably stop working when Tumblr changes its layout again though.

Update: Doesn’t work so well anymore.

Cubey the TF2 kill tracker


Today I was bored and I remembered this video I saw awhile back that had a TF2 kill counter using an Arduino. I’ve been playing TF2 a lot recently (since it became free to play, I’ve been doing a lot better in comparison) so I figured it would be cool to implement something like that. I could’ve done it with LEDs or even GLCD screens (actually it might be cool to do something with the LoLShield), but since Cubey’s been sitting on my desk unused for the past few months, I thought I’d put him to use. Cubey gradually turns around as I get more kills, and after a certain point, he starts moving his ears. He turns back around in disappointment when I die, though.

I used Python to read the config.log file located in the tf folder (on mine, it’s “C:¥Program Files (x86)¥Steam¥steamapps¥your_username_here¥team fortress 2¥tf”). It reads the latest lines and looks for “A killed B” or “A suicided” and sends either a + to the Arduino when A kills someone or it sends a 0 when A is killed by someone else or kills themself. The Arduino then reads from the serial port one character at a time and makes the Cubey servos move accordingly.

Python and Arduino code are in this zip file.

Binary Tree Generator


Binary tree generator. No, not the data structure, but an artistic representation of a binary tree (edit: I have learned that this kind of thing is called an L-system). The swf can be found here or embedded in the full post. Click the button on the bottom left to randomly generate a new tree. I’ve also uploaded the source FLA file here. I didn’t really bother to optimize the code, so there are probably a lot of improvements that could be made.

Note: The FLA file is saved in Macromedia Flash Professional 8 format, with Actionscript 2.0. It’s a pretty old version of Flash, so it should be openable by any of the Adobe versions of Flash as well.

Continue reading “Binary Tree Generator”

iPod Touch controlled Cubey


Now Cubey can be controlled using using TouchOSC on iPhone / iPod Touch (TouchOSC is also available on Android so this should probably work on that too).

Source code (Arduino and Processing source code, along with TouchOSC template) can be found here. It requires the oscP5 library for Processing, which can be found here.