Category Archives: Games / Demos

Asteroids in JavaScript

Enjoy this classic game written in JavaScript, the most foul language I’ve ever had the displeasure of learning. Half way through, I wanted to quit, but I put aside my hate to give it a chance. It’s not that it’s hard to learn. This game only took a couple hours, including the time it took to learn JavaScript. The problem is that it has so many serious (and well documented) design flaws. That said, the source code is in plain text for your viewing pleasure, courtesy of JavaScript. Suffice to say, this is my first and last JavaScript game.

Click on the game then press space bar to play. Use the space bar to shoot, and the arrow keys to move. The goal is to make the rocks dead, while keeping the triangle alive. That’s right, you are a triangle. At least I didn’t make you a square. Who wants to be a square?



I always had a sketchy feeling about JavaScript thus I never bothered to learn it. It looked stupid. After having learned enough to make this game, I realize that I was right. It is stupid. Too bad the whole internet is built on it. JavaScript is like a rotten, termite infested wooden frame holding up a giant mansion full of cat pictures and porn.

It’s OK though, I’ll just write my own language. I’ll call it: BLEM. Best Language Ever Made. Don’t worry I took a class on this, therefor I MUST know how to write it right, right? Wrong, I dropped that class. Good thing you don’t actually need school to know how to do stuff that matters. Hate me yet? It’s alright, hate just means there’s room for understanding. Hate me even more now?  Good, that means it’s working!

Seriously. I’m going to write a right (coincidentally, using my right to write – it say I can in the constitution).


The other day, I was thinking about graphics styles in video games. I realized that the old 8-bit style graphics never really got old for me. Maybe the newer generations don’t get it, but seeing 8-bit Mario always cheers me up.

I came across some blogs that show how to use Photoshop to turn any image into an 8-bit version. I don’t have Photoshop, so I wrote a simple application that does it for you!

It has both a command line tool, and a GUI on top of that. There are only three parameters, but it produces a satisfying effect. The GUI tool can only process one image at a time, but you get to play with the parameters. With the command line tool, you simply drag and drop as many images as you want onto the application, and it automatically converts them all for you! You can also run an image through twice or more, making the effect more pronounced.

Here are a few others:

You can download the application here.

It won’t work if you don’t have .NET 4.0 installed, but if you have windows then you most likely already have it.

Space Invaders Clone in 300 Lines

I was digging through some old stuff from high-school and I found one of the first java games I ever made!

Launch the Applet

I was very efficient back then. The entire game fits in 300 lines of java code!

That said, you can download the source code. I don’t feel like deciphering my previously cryptic ways so there are no comments, but maybe it will be helpful to someone.

G’day mates.


Ahh, I remember the good old days in college when I procrastinated, got to class late, and did just enough to get by…

Wait – all that stuff is still true! THREE MORE CLASSES! Truth be told, I don’t care about the actual degree for many reasons. I’m finishing because I’m trying to train myself to have more self discipline, that way when things come along that I do want, I can work at it without hesitation.

The epitome of my procrastination surfaced last year when I took CMSC498M: Game Programming. You’d think if it was something that I loved doing, that I would put a little more effort into it. But, my laziness never ceases to amaze me. Good thing I can back up my incredible procrastination with some good bursts of intense concentration.

This is Restoration:

It’s the game that I wrote as part of our semester long project for the class. Along the way, we had to present details about our progress. Of course, I was so lazy that I made up details about a game that I wasn’t even working on. This was also supposed to be a team effort. Everyone else was in teams of 2 – 4. I went solo, because its easier to procrastinate if you don’t have others pushing you forward.

Long story short, it was 6 pm the day before the entire project and its write up was due, and I hadn’t even thought about the actual game that I was going to make. At that point, the little voice in my head said: “Start now you lazy dog”. I had learned to trust that little voice, so I sat down and started typing. It took 12 hours, lots of Dr. Pepper and I worked up until the very last minute, but I finished the game.

If college has given me anything, it’s the strategies for learning and getting work done rather than any specific class content. With the internet you can now learn just about anything you want whenever you want. Procrastination can be a very powerful tool if you use it the right way. See how I spun that pathetic story into a positive final message?

The features and such can all be found on the write-up page that went along with the game. You can tell by the awful grammar and general messiness of the writing that I was delirious after lack of sleep, and that I only had 15 minutes to write the page before class started. That said, much of it is total BS (some of it is actually true (not sure which)).

Here is the original write up for the game: Restoration

On that page, you can read about the controls and find the download link at the bottom. There is no readme with legal information, so the legal statements from my previous demos apply.

I have big plans for this one:

  • Remake the game for multiple platforms
  • Improve the graphics
  • Fix bugs
  • Add new gameplay elements
  • Add music and sound effects

As always let me know what you think. It may be hard with this one, but have fun!

Gemini Physics Test Bed

Rather than trying to explain it, here is a video with a poorly improvised commentary:

That was made about two years ago. I don’t know why I like making physics engines… That is probably my 5th or so attempt. Before that, I had been working on a project called GMPhysics (which I will post more on later), which was a DLL extension for a program called GameMaker. Today, I’m working on some really awesome physics stuff for my pet project, which I hope I can share with you soon.

GameMaker is actually what got me into programming and game development. Maybe I’ll return to GMPhysics sometime in the future…

Here are some technical details for those that care:

  • Supports rigid bodies, SPH fluid, and particle based granular
  • Iterative constraint solver for collisions
  • Spatial hashing used for everything to prune collisions
  • Narrow-phase collision detection speed is almost shape independent
  • Semi-robust SPH boundary handling
  • Visco-elastic fluid

In the near future, I will probably release the static library so that you can use it in your own application.

I have tested this only on windows 7 (64-bit), but it should work on any version of windows. See the readme for controls, as they are a bit confusing.

Download Here

I hope you get some ideas out of it, and maybe even a little fun. I wonder if I could turn this into a drinking game? Hmm…


Slime Vollyball

I’ll open with a gameplay video. I expect I’ll never agree with those who say books are better than movies…

That’s me playing myself in this little game that I wrote a while back. It’s actually a clone of an old game that I used to play in high-school. It looks slow and laggy, but that’s just the video recorder not keeping up.

I added in the fluid effects to give it some personal touch.
My friend Jef wrote the music and recorded the sound effects:

The total time to make it was probably about a day.

Technical stuff:
It’s written in about 1000 lines of C++ using OpenGL for rendering, and FMOD for audio.
The fluid simulation is based on this paper:

My current plans for this may include:

  • A linux / mac port
  • Improved graphics and bug fixes
  • Online multiplayer
  • An android / iphone app

I have only tested this on windows 7 (64 bit). However, it should work on any version of windows. After downloading, see the readme for controls and other information.

Download Here

Troll away. I love trolls. And goats.