BioHive: Bioinformatics blast from the past

July 7, 2016 at 10:30 am (Computer Science, Processing, Programming) (, , , , , , , )

Lately, I’ve been combing through some of my old projects so I can index and archive them. Among these old projects was my BioHive code; a bioinformatics visualization tool I wrote years ago. It was an attempt at exploring genome comparison data sets. It was actually the first non-trivial Processing (P5) app I wrote.

Different genomes would get organized into layers (indexed using colour) and nodes would be joined together based on similarity strength. Thickness of the lines would indicate connection strength, and filters could be applied to reduce clutter. Selecting a node in a layer would show information on the genome it represented as well as the top similar genomes.

These are a few screenshots of the app. In this example, Syphilis is the point of interest and they are just different views of filtered results.

Permalink Leave a Comment

Ant + Processing = Grief

July 4, 2014 at 8:20 am (Computer Science, Game Development, Java, Processing, Programming) (, , , , , , , , )

This will be a humorous post coming right after the article about how great automation is. After I finished writing my Ant scripts for automating my Java project, I ran into a wall; Ant can’t update a Processing library while the Processing Development Environment is running. For some reason, Eclipse is able to deploy JAR files and have them overwrite the existing library while the PDE is running though!

So now I have to figure out a way to make this work, or else I have to ignore all of the automation I put in. I may still use Ant to back up my code projects to an external hard drive, but that’s about it right now.

And then there was sadness.

Permalink Leave a Comment

[Video] Navigation in Zombie Mansion

April 17, 2014 at 7:31 pm (Game Development, Games, Java, Processing, Programming, Video games) (, , , , , )

I’ve done up some more rooms and made another demo video! This one shows how navigation will work in the game. Right now the camera is still orthographic due to some control scheme issues, but I assure you, isometric/diagonal walls looks pretty sweet as well.

Permalink Leave a Comment

Zombie Mansion: Updates and screenshots!

November 13, 2013 at 6:32 pm (Games, Processing, Programming, Video games) (, , , , , , , , )

Yay! Screenshots! I’ve finally had some motivation to post some stuff on my project that isn’t 6 months old. I got a little side tracked with events and stuff, so I’ve been busy and unmotivated. Anyway, I’ve solved the issue I was complaining about in my last post, or at least I have a workaround for it, so it looks nice again. Also, I’ve been using Artisy: Draft for piecing together level designs and other stuff. It makes it a bit easier when I go to make levels in my editor if I have a fancy map telling me where to put stuff.

Anyway, here are some animated GIFs of my “game” right now. Note that they don’t really look right due to the GIF making process I’m using. For example, the animations and movements look really glitchy (and the particle effects die out) because the framerate dies when I record a GIF with the library I’m using. Also, the levels depicted in the GIFs are not finished and polished, so the floors look awkward, etc.

Basic room spin

Basic room spin

Shooting a zombie

Shooting a zombie

Pushing furniture

Pushing furniture

Permalink 2 Comments

Updated Paper Donkey Engine Page

March 19, 2013 at 12:16 pm (Computer Science, Games, Graphics, Processing, Programming) (, , , , , , , , , )

I’ve given the engine description page a facelift. There is now some pretty images and a more up-to-date and polished list of the features.

View it here: Paper Donkey Engine

Permalink Leave a Comment

Paper Donkey Game Engine Screenshot update

February 15, 2013 at 9:05 am (Computer Science, Games, Graphics, Processing, Programming) (, , , , , , , , )

So here’s a screenshot I took this morning before leaving for work (I’ll try to get a bigger set of them this weekend). It shows some of the new features, although not all of them are obvious. The biggest new features is the walls that only face forward. This means that you can only see the back walls of the room, and the front ones disappear automatically depending on the camera view. If you rotate the camera around then the scene will fix itself to this effect.

The next feature (which technically isn’t displayed here) is the addition of an NPC system. The second character in the scene is an NPC that you can walk up to and initiate a chat dialogue with. This dialogue system is powered by flexible scripted chat files.


My next moves will probably be to add AI logic to the NPCs so I can create enemies. I will most likely also import the particle effects I had created for my turn-based game and let the level scripts control them.

Permalink Leave a Comment

Lightning machine

August 14, 2012 at 11:28 am (Art, Computer Science, Graphics, Processing, Programming) (, , , , )

Here’s some screenshots from my lightning effects code (based on my handwriting simulator code). It looks much nicer when it’s running in real-time instead of a screenshot since it looks all lightning-like.

Permalink Leave a Comment

Tactical Game Engine Improvements!

August 2, 2012 at 3:38 pm (Computer Science, Games, Graphics, Processing, Programming) (, , , , , , , , , , , )

So in my spare time (I have a real-person job at a software company now), I’ve been working on that game I mentioned in a previous post. It’s a tactical/strategy game where you give orders to a team of units and do battle with AI-controlled enemies. The proof of concept demo was in working shape, but it was super ugly and only supported 2D stuff. So while I could test out levels and combat features, I wouldn’t be able to show it to people and expect good feedback.

So I set out to make a visually-appealing version of the software so that A) I’d have a platform to plug in new gameplay ideas and features and B) I could show it to people and have them think it was an actual game. My ultimate goal in the end is having a full game (including story, music, and art) that I can release to the general public and have them play. So after a bit of work on evenings and weekends, I now have it in the following status (also, I should note that this was all written in Java and Processing (p5):

-3D rendering. Similar to how some of my previous projects work; I’m doing 2D sprites rendered in 3D. This allows the user to rotate the camera around the map and have it work in the way they’d expect. I have to finish up the render pipeline details, but most of this is copy and paste from a previous project anyway.

-Working gameplay. Most of these components were copy and pasted from the previous iteration. However, I’ve made substantial upgrades to how the system works. Also, now the game events are handled in a way that allows the game to flow similar to a real game of the same type. For example, when the AI makes a move, it no longer moves everything at once and then starts the player’s next turn. Instead it shows the player each action it took (while allowing the player to skip ahead).

-Level Editor. I’ve added a built-in level editor and it not only has a whole whack of features, but also is designed in a way that allows new tools to be added easily.


Future features:

-Particle system. Allows explosions and powers to look nice.

-Camera cutscene paths. I have some code written for Catmull-Rom curves that would allow the camera to slide along a path created in the level editor.

-Player profile system. Allows a player to select a profile on their system so that multiple players can play the same game without overwriting saves.

-Character customization screens. I want to have an extensive menu system to allow character stat tweaking, etc. between battles. This is mostly game design/art stuff, but the GUI code might need more features.

-Game story! I have a fair bit written up for the story and characters, but I need to iron out plenty more of it. I also have to figure out if I’m going to go with episodes that are easier to write for and make (also in case nobody likes the game, I can save resources).

Permalink Leave a Comment

Platformer Engine

February 27, 2012 at 2:16 pm (Games, Processing, Programming) (, , , , , , , , )

So while waiting for feedback on my thesis (and waiting for it to be scheduled, etc.) I took a rare bit of free time to do some coding for fun! Crazy, eh? So I put together a platformer game engine and level editor. The engine features typical physics and jumping and stuff like that, but also the ability to grapple ledges and pull yourself up. Also, there’s a state-based AI architecture in place so that defining enemy behaviour is fairly simple and straightforward.

This is what the game/game engine looked like when I put it together with toy art.

The level editor lets you create platforms, gameplay nodes, and has a tile editor for graphics. This lets you create grids where you can paint on textures. You can layer them and use however many you want, but right now it lacks a proper layers system, so I guess that will be the next thing I do. I already had a 3D level editor but now that I have a stylish 2D one, I’m all set (since it dumps out the level files in a simple to reuse format!).

Here is what the game looks like with a new character skin for the player. I threw together all the animations using a spritesheet I made years ago.

Permalink Leave a Comment

Processing Tips Page

June 6, 2011 at 1:18 pm (Computer Science, Processing, Programming) (, , , , )

I have started writing some short guides to doing fun things using the language Processing ( You can view them here

Permalink Leave a Comment