Games I've written
What follows is a list of some of the games I have written or worked on. Nearly every game I have written has been as a result of a concept I was trying to learn. I like writing games because they are memorable and easily accessible to a wide audience.
- Connect 4 - Macintosh
When I was first learning to program on the Macintosh I wrote a basic connect 4 game to help me understand the macintosh toolbox. These days I don't remember a lot about the game except that I made one fatal mistake in not using a double buffer for drawing. At that time I either did not know about it, or I did not understand why I needed one. Interestingly I wrote a fair amount of the game before I tried opening a menu item and discovered, to my horror, that the area under the menu was not redrawn. To solve this I intercepted the menu request and copied the entire screen into an offscreen buffer. This worked, but had the terrible effect of causing a long pause every time the user tried to access a menu item. Woops. I've lost the code for this game completely and it is probably for the better.
- Connect 4 - Java
So, after first learning Java it again seemed to me like a good idea to write a game to learn AWT. Not only did I finish this game, but I also enabled the user to enter how many rows and columns s/he wanted. I did have an AI for the game, but it was a one look ahead so if you knew that you could easily plan a stragety which was two steps ahead and beat it every time. Still, it was kind of fun. No pixmaps were used so I was drawing everything by hand on the fly. After I released the game some Financial company asked me if they could host it on their web page and call it something like "You are in controll" because you could change the number of rows and columns. I agreed and I think they had it up there for something like 4 or 5 months before it got replaced by some java 3d car driving game. My short lived claim to fame.
- Bridge Builder - Macintosh
So either before or after my Java version of Connect 4 I got a contracting job at the OMSI to update a game they were using as an exhibit in the hopes it could be sold commercially. The job required taking an education game which required you to build various types of bridges and test them out. I spent a significant amount of time working on the project and learned a *lot* about screen graphics and sound. However, the guy who contracted me was fired before the project was completed so although I completed the project and was paid I don't believe they ever tried to sell it commercially. However, as of Jan 2006 you can still see this game, with my changes, on the exhibition floor at OMSI.
- Net Pong - Python/Tk
While I was in graduate school for my Masters in Computer Science I took a TCP/IP class and for my final project we had to write some sort of networked application. I decided to do a network game of Pong. The Pong game used UDP for communication about ball and paddle updates and supported a chat system which used TCP. The game was totally stupid but a blast to play and the instructor was very impressed by my project.
- Breakout - Verilog
While I was in graduate school for a Masters in Electrical Engineering (for which I have only completed the first year so far) I took a class called System on Chip. As part of the final project we had to program an FPGA which drove a video monitor. I decided to write an implementation of Breakout which used the push buttons on the board for controlling the paddle. The game used a *very small* on chip 9 bit CPU for which I was able to program most of the game logic. However the output to the screen and a collision detector were written in Verilog. My instructors were very impressed, but neither were able to pass the first level. Which was good as that was the only level I had written.
- Rebound - C++/SDL
- Play Cards - C++/Qt
See Play Cards