This page provides a summary of all of my major projects to date which have been programmed in C#.
The Revenge of the Smiling Blue Cubes (2012)
As part of my second year of university I was required to build a proof-of-concept game demo which made use of C# and Microsoft XNA Game Studio 4.0. The end result was “The Revenge of the Smiling Blue Cubes”, a tower defence game which features waves of blue cubes that are trying to cross a bridge.
This was the first 3D game project that I worked on. Notable features of the game include a 3D terrain system based on a height-map, ray-traced mouse movement (allowing the player to place and remove towers on the tile that their mouse is hovering over), an adjustable camera, a grid-based checkpoint system, and complex path-finding (implemented using the A* algorithm). The grid system is an expanded version of that originally found in Paulipede.
Athena is an open-source music playback program developed between September 2010 and March 2011. It was my first serious C# program and was built to replace the AudioLoop Music Loop Point Finder, a similar program created in Game Maker between 2008 and mid-2009. It was also the first project I developed which was released under an open source license.
At the core, Athena is a Windows Forms application driven by the FMOD Ex sound system and the Open Toolkit graphics library. The program makes use of background workers in order to implement basic threading and separate the user interface from the playback code. It has support for looping playback with manually definable loop points (replacing the functionality from AudioLoop) and also features a playlist mode that is conventionally found in a modern media player.
As part of the basic feature set, Athena can tune in to the Ginever Radio station (powered by Shoutcast).
During the development of Athena, a major bug was found with the C# wrapper for the FMOD Ex sound system which prevented Sound.GetTag() from working. I was responsible for helping to repair the bug, and Athena was the first application to both test and include the bug-fix.
Athena is currently distributed as a GinENGINE support tool. Click here to download it.
You may alternatively use a Mercurial client and clone the following repository: https://hg.ginever.net/ginengine/tools/
Other Notable Work
I previously used C# to prototype a server for the Ginever Alliance user accounts system. The server was written as a Windows Forms application and made use of both Sockets and MySQL Connector/NET, connecting to a MySQL database to authenticate users based on incoming requests. The client for this project was a Game Maker application.