October 2024
This is my current personal project, it is a movement focused multiplayer roguelite looter. Let me break down the concept: The game is inspired by traditional games like Dungeons & Dragons and Magic the Gathering having mixed fantasy themes, it takes gameplay inspiration from games like Risk of Rain 2, Nuclear Throne, and Lethal company. In this giant genre amalgamation you and your band of fellow adventures will explore deep into dungeons, fighting monsters, solving puzzles, avoiding traps in search of treasures to sell. As you go deeper you will find new dungeons, new magics and new creatures for you to befriend, brawl or avoid.
October Update:
I started this project back in August, but with working over the summer and other things I had to shelve it. I finally was able to pick it back up on the side of school this month and I feel that I have made some progress. Please keep in mind that I am doing this on the side and thus the project still has some kinks.
The first thing I did was nail the movement, I want really fluid quake style movement that allows players to carry their momentum throughout dungeons. Whether this affects gameplay or not is undecided but I feel like having a smooth responsive movement system will make my game stand out. I added a grappling hook system although I scrapped it as it didn’t quite fit in with the claustrophobic nature of dungeons and catacombs. For this movement system a lot of the heavy lifting was done by changing and tweaking settings in the character movement component. I increased the air control, acceleration and braking to give the player a more responsive feel. I added a slight roll to the camera whenever the player strafes.
I added a B-Hop feature in which the player can gain a slight bit of momentum for jumping immediately after landing. I added Coyote Time, Camera smoothing and a couple of other quality features to add to the game feel. I also added an inventory system and a basic combat system, but they are incomplete and still being developed.
November/December Update:
So I’m currently in Togo, West Africa writing this, because finals exams and winter sickness killed a lot of progress, that being said a bunch of stuff got done and undone…
To list a few:
- Added Chests which can be found locked or unlocked with random loot tables
- Barrels which can be pushed around and broken
- Doors & Locked doors
- Boss Doors and Portcullises (I have no clue what the plural of Portcullis is, Portculli?)
- Levers (which will be a pain to implement procedurally)
- Basic enemy AI (Sight, and chasing)
- like 10 different procedural dungeon models
Unfortunately I can’t upload GIFS right now, images are struggling enough with the way Wifi is down here, hopefully I’ll upload a 2024-2025 update with some photographed documentation.
that being said I can still talk about the living hell that is working with Unreal to create a multiplayer randomly generation dungeon system. I currently use blueprints actors to create the rooms, which has its benefits, but they are hard to create levels in. So I desired to switch to “level instances”, which is a system developed by unreal to both speed up the level creation process and optimize large worlds in Unreal Engine 5. I ran into several road-bumps with these as they are 1. A PAIN IN THE ASS TO REPLICATE, not really but it takes some figuring out because Unreal’s anti-cheat will kick the client if they load a level instance with even a slightly different ID before the server. 2. EITHER I’M DUMB OR THEY PIVOT WEIRD, which when you’re manually placing them as the Unreal gods intended is not an issue, but if you are loading them from code creates issues. I think this a bug with level instances where once you set the pivot you cannot change it, even if it says you can, YOU CAN’T… idek. 3. Ultimately the reason I went back to blueprints is the fact that level instances only contain (to my knowledge) level data, you can’t add variables to them and do a bunch of fun stuff. So I went back to blueprints, but with a twist. I developed a system which uses what I call “flavors”. With this system the rooms themselves are blueprints, but those are simply walls and doors, each room comes with a set of flavors, so the small end room might come with 2 different flavors, a library and a barracks flavor. These flavors are level instances and are spawned randomly when the room is created. In addition each flavor has an extent of randomness, so for example one library might have a table in the center and the other might have a cauldron. Or one barracks could have a fireplace, whilst the other not. This creates an extra added layer of randomness to ensure that no two rooms are exactly alike.
I have put enemies on hold for now, simply because developing the enemy AI system I want will take me 2-3 weeks and I wanted to focus on the level generation, that being said I did create a basic enemy which can chase the player and wander around. And I have my ideal behavior documented here which is the start to a game doc, because before I was pulling stuff from my head…
I’ll leave it off with a plethora of images of stuff I’ve developed, I hope to get GIFS created when I return to the US, as for the future progress of this project, I expect it to slow down with the busy semester, but I still am very intentional about working on this. Thank you for reading this update! Eli