Patrick Martin

Game Programmer
B.S. Real-Time Interactive Simulation
Minor: Mathematics and Physics
Games Physics Graphics Other All

     This is a short game I wrote for cs260. Although it doesn't feature any shooting as its name might imply, up to four people can connect in the lobby and move around in a tiled level. It uses UDP for networking, Managed DirectX for graphics, and Winsock2 for networking. C# is used for every aspect of the game except for the networking, which is written as native C++ and linked in via a mixed mode dll.

     Various aspects Slushball were based on techniques I worked out for this project. Most notably, the Slushball network model is heavily based on the 3-layer model I created for this networking engine. The user input model was also maintained across both games as it proved very dynamic and well suited for networked play.

     The basic network engine for this game consisted of three parts. The lowest is the actual interface with the operating system API. The middle layer implements various TCP features over UDP and was primarily responsible for the connection model and managing packet queues. The highest layer provides an object-oriented packet class and a simplified interface to simplify network reliant gameplay code.

How To Play

Controls:
Up Arrow: move forward
Down Arrow: move backwards
Left Arrow: rotate counter clockwise
Right Arrow: rotate clockwise
Gameplay:
Drive around a simple tile map with up to 3 of your friends.
How To Run:
Execute TankGameMDX.exe under bin\Release.
How To Start a Game:
After starting the game, the lobby screen will appear. Screen resolution and full-screen mode can be set under the settings tab and should be stored for later executions of the program. The Alias/Username must be set before hosting or joining a game. Select Host Game to host a game or enter an IP Address and click Join Server to join a game.


Download Game

All content (c) 2008 DigiPen (USA) Corporation, all rights reserved.