So, going through some old code on Git-Hub – and having been recently blown away by how cool Gradle is for deployment, building, and testing applications – I decided to fix some issues with some old games I had worked on. Small stuff really. But then I cam across this game, simply called Simple Tank Game, for lack of a better name (It’s working title was Example 8, so it just needed a fracking name). It was a good exercise from my games programming class, and I knew my partner who co-wrote it wouldn’t mind me fixing some bugs, repackaging it, etc.., so I integrated it with Gradle and fixed some minor things, and thought I’d put it up here again. This time, complete for the world to see.

It’s a fairly simple game, but the rules were we could only use Java and OpenGL, and it must use real continuous collision detection, frame by frame, so that in essence things never do collide. Instead, they are detected for collision and dealt with accordingly before the collision occurs in the next frame. This was a concept laid out in our class. So with a lot of Vector math, and a little motivation to learn OpenGL, we wrote this tiny game, and wound up learning a lot. In fact, until LWJGL3 was released, I kept using the engine for slightly more complex game ideas, since it’s a fairly straight forward basic 3-D engine running the game loop.

Recently, I’ve read a free Gradle book I got from O’Reilly, so I decided to redo the rather complicated deployment, this time using Gradle, which is uber cool if you haven’t already been converted. So anyway, here’s the final game, almost 3 years later, with a new build system, better code, and documentation…


Written by Joshua Michael Waggoner and Dylan Otto Krider

Git-Hub site here


Linux Mac/Linux/Win JAR Windows
Download Download Simple-Tank-Game.jar Download Simple-Tank-Game.exe
Share on FacebookEmail this to someoneTweet about this on TwitterShare on Google+Share on LinkedInShare on Reddit