Sonar is a game prototype created during the last couple weeks of my Intro to Gameplay Programming class. The team for this project was a small team of 3 game students. The assignment was to create an original concept for a game mechanic, and then to build the mechanic into a functioning prototype. My concept was to create a competitive game where players can only see each other by creating waves in the same way a submarine uses sonar. In this particular prototype, the two players play a game of tag against each other. However, the prototype is meant to be more of a proof of concept for other possible games as well.

The first and most obvious technical challenge for this prototype was how to create a good wave effect. The effect would ideally look very cool, but more importantly it needed to be functional because it was the backbone of the gameplay. We settled on a technique that uses cellular automata to simulate waves in a pool of water. I implemented this algorithm and then modified it to allow for some of the other features of the game, like walls and moving characters.

Another interesting technical difficulty on this project was getting the two games networked. This was necessary of course, because a stealth game is not very interesting when you and your opponent are playing on the same screen. It was a challenge because networking was something that I had not done for a real-time game before.