A list of my completed projects. Where the project is downloadable I have included any supporting applications. A select few I have also provided the source for too.
MicroChat
Completed: April 2021
MicroChat is a very simple group chat program. It consists of a client and a server, which allows up to 255 simultaneous connections.
MicroChat is a very simple group chat program. It consists of a client and a server, which allows up to 255 simultaneous connections.
- The server can broadcast a message or send messages privately to connected users.
- Users only have the ability to broadcast to everyone in the chat.
- Uses the TCP Protocol.
- Supports basic encryption.
- Lightweight and simple.
- Built as a networking experiment.
Particle Engine
Completed: March 2021
This particle engine was made to showcase how a particle system works in the MonoGame environment. Project contains both the snow and rain effects.
This particle engine was made to showcase how a particle system works in the MonoGame environment. Project contains both the snow and rain effects.
|
|
- Two versions exist, DirectX and OpenGL.
- Written in C# with MonoGame
- Both can support a high particle count without impacting FPS.
- Easy to customise
#Download DirectX version on GitHub.
#Download OpenGL version (coming soon!).
Networking Demo
Completed: May 2021
After the success of the MicroChat, this was the next logical step. This project is split into two parts;
The server is split up into a lobby server and an area server;
After the success of the MicroChat, this was the next logical step. This project is split into two parts;
- The Server: Built using Windows Forms, it consists of a lobby server and an area server.
- The Client: Built using MonoGame, the client connects to the server and controls a coloured square. When more players connect they can see the other squares (players) move around.
The server is split up into a lobby server and an area server;
- The lobby server handles incoming connections, checks the client version with the server and if they match, hands the client over to the area server.
- The area server does the bulk of the work, including the NPC movements, PC movements and handling the outgoing and incoming data.
- The project utilizes both the TCP and UDP protocols.
- TCP transmission is sent for essential updates, such as syncing players connecting and disconnecting.
- UDP is utilized for 'less critical' data such as movement updates. If a packet is missed, it will resolve upon the next update.
- Transmissions are broken down into strings
- MU@12:150:450:2£ = Movement update for player 12, to coordinates 150x450 at a movement speed of 2. £ denotes end of command. (UDP)
- NP@Player2:6484:11:12:2£ = New player called Player 2, with a unique id of 6484 at position 11x12 with a movement speed of 2. (TCP)
- Error handling is fairly robust, using the try, catch and finally statement to handle transmission errors gracefully.
Effects Showcase
Completed: September 2016
An example of the shaders available in XNA. This project shows a simple additive blend and how they can be combined to create some nice effects. Even on older systems it's possible to get a consistent 60fps with multiple shaders active.
An example of the shaders available in XNA. This project shows a simple additive blend and how they can be combined to create some nice effects. Even on older systems it's possible to get a consistent 60fps with multiple shaders active.
- Features a selection of different overlay shaders.
- Changeable ambient lighting to simulate a day and night cycle.
#Download source on GitHub
Recursive Floodfill
Completed: September 2019
A simple program to demonstrate recursion. Click on the turquoise space to fill the area.
A simple program to demonstrate recursion. Click on the turquoise space to fill the area.
Until The Rain Stops - 2D Horror Game
Completed: August 2021
Inspired by Pokemon Nightmare invasion. Until The Rain Stops is an RPG Horror game. Play as Galloway, a detective sent to a small town to investigate a murder. What will you discover as you go down the rabbit hole?
Inspired by Pokemon Nightmare invasion. Until The Rain Stops is an RPG Horror game. Play as Galloway, a detective sent to a small town to investigate a murder. What will you discover as you go down the rabbit hole?
- Written in C# on the XNA platform.
- Ported to MonoGame.
- Neo-noir style
- Old Pokemon graphics
Click here for showcase page.
Completed: July 2014
My first completed game. Initially planned as a release on the Android platform, the core was programmed in C# and XNA 4.0 then converted to MonoGame for Google Play. The Android version is not currently maintained. As the core was designed on PC I offer it here as a free download. There are some references to touch controls that are not applicable on the PC version. I learnt a lot when designing and writing this game. Not just programming techniques and problem solving, but setting deadlines and understanding good game design. Game information
|
Completed: August 2013
Armoury is a tool that makes weapons, armour and items for your RPG game and exports them into a .dat file you can load into your own project. It's not particularly powerful and doesn't have lots of user customisation, but it would be enough to populate a basic RPG game with items. Also included is a modified version of TinyWorld made by Aardaerimus that supports this tool so you can see how it works. This was my first completed project so there's probably lots of bugs floating around in it. It was written in VB.NET 2010. |