Multi User Dungeon - SQLLite, C# Project
This project was a task that was set during 2nd year, the task was to transform an existing Single User Dungeon(SUD) into a Multi User Dungeon(MUD). This was to be undertaken by utilising a DigitalOceans server hosted and interacted with on a Linux VM, and incorporating SQLite into the existing C# framework.
The finished project featured the ability to have multiple players moving around the dungeon at once, with the players able to save their progress and remain in the same place in the world if they logged off, this was done by giving each port/player instance a unique ID and saving their location to that. It also featured the ability to pick up items and use them on objects in the world, as well as imnteract with NPC's that would help the player.
Thanks to the fact that the framework for the dungeon was provided to me, features like the player input handling and room system were already complete, however adapting the SUD to become a MUD was quite the task as it involved a lot of work to the server to ensure that the multiple streams of data from different clients was has handled and processed correctly. This involved creating a lot of buffers and hold points to ensure that only one instruction was parsed through at a time, and this took a lot of work to get right, but I got it working correctly in the end and it taught me a valuable lesson in that with perseverance will get a task done in the end.
The GitHub repo for the MUD and SUD can be found here. Both the client and server can be ran locally, the instructions are held within the readme!.
