Inspiration

We took heavy inspiration from games like the Binding of Isaac and Paranautical Activity where rooms and worlds are procedural generated and interconnected. We are taking the bullet hell aspect from Binding of Isaac and the aesthetic from Paranautical Activity and threw in multiplayer!

What it does

Currently, the game is very limited due to the vast amount of time that was spent on the world generator. However, worlds can be any size and the world generator can even be configured for different types. of worlds. There is standard FPS movement and quick dashing for close encounters with bullets.

How I built it

I used Unreal Engine 4 using mostly C++ for the world generator and their visual Blueprint scripting system for other minute tasks such as input processing and GUI. The world generator uses a multi-stage generator with separate modules that can be configured to give the generator custom generation settings. In the first stage, the world starts as a single rectangular canvas and gets partitioned into a tree of rooms that are either split vertically or horizontally. Rooms are continuously recursively split until rooms reach a preferred size. After the world is partitioned,the leafs of the tree are filled with rooms. After the rooms are generated, they are stitched together with the hallway generator which can be configured to connect the rooms in different way. Lastly, the finalized mesh is generated based on the 2D representation of the world. All triangles here are indexed and textured with procedural meshes.

Challenges I ran into

The biggest challenge was the world generator. I added a lot of complexity and knew that it was going to be a lot going in. My laptop is also mid-range and does not handle Unreal Engine that well, so at times it was quite a bit laggy despite being a very simple game. Also, Unreal Engine iteration times (compile times) were quite slow due to my energy efficient, quad core processor from a few years back. I'm used to developing with Unreal Engine on a workstation desktop so this was a huge adjustment for me as I failed to anticipate the effect that my platform for development could have on my development efficiency.

Accomplishments that I'm proud of

I'm extremely proud of the world generator. This is not my first time playing with world generation, and I still learned a lot this time around. I have historically had a bad time finishing projects and staying through the entire hackathon so I am also proud that I at least could say that I made something this time around.

What I learned

I learned that games are difficult to make in 24 hours and most of the time only end up illustrating one concept. Next time I may choose a more focused problem area instead of making an entire game to be more marketable and demo-able for the hackathon. Also, if I do work more in Unreal Engine for future hackathons, write as little C++ as possible and focus on scripting/Blueprints! While it is more impressive to write your application in C++, it's also considerably less efficient unless you're running an Intel extreme edition and have ridiculously low build times. Lastly, this hackathon probably justifies me putting a new laptop on my wishlist as it could definitely benefit me in future hackathons. Usually I wouldn't be satisfied with making that kind of excuse, but it can really make a difference if you're a seasoned Unreal Developer and your development environment significantly changes. It can really mess with your mind if what you're used to being so fast at work becomes so slow on your laptop.

What's next for RogueMP

I actually do want to finish this game! I feel like it could be a fun little game that I might even want to release as free to play! I have wanted to release a game for so long now so I could reach an audience. If anything, I'd like to finish this game as a self project and be able to put it on my resume.

Built With

Share this project:

Updates