These game jams keep trickling in and I can’t get enough. Last weekend was the global Ludum Dare game jam. The 41st game jam! Like most other jams, there was a particular theme that participants designed around. Ours was, Combine Two Incompatible Genres. Sort of not bad… Was rough though coming up with an idea. With further ado, Stealth Royale!
Anybody who’s been playing video games lately knows Battle Royal style games are taking off!! We decided to tackle this genre and extract a small element of the game. Stealth! Sort of compatible (it is a part of the game), but we decided to remove anything that wasn’t stealthy and really force the player into hiding.
With any Battle Royale game, you have the circle forcing players closer and closer together. Surprisingly not that bad to get it working locally. Some basic scale manipulation of a mesh with a good material can create a solid closing circle.
Really, what other mechanics are there to a Battle Royale game? Some shooting? Well this is a stealth game, we want the players to hide… No Guns. Instead here’s a bright flash light that will blast away enemies while giving away your position to everyone!
Looks a little bit different compared to the Circle Code. There are nodes to help determine if this a server function and who is impacted… Replication.
Not going to lie, this was my first time ever trying to make a multiplayer game in Unreal Engine. Pretty ambitious, but I had a bunch of resources that really helped out! One of them being the UE4 Multiplayer Network Compendium. This wealth of knowledge was super useful in trying to understand replication and the different types.
Animations replicate pretty easily with UE4 as long as you’re using a Character Pawn template provided by the engine. After that though, you’re sort of on your own! So, let’s bring in a plugin to help out. Advancer User Sessions! With the help of this plugin and YouTube tutorials, setting up lobbies was actually done pretty quick!
Though some of the replication stuff was easy, some of it was not. For example, the circle was never replicated… Well, we might have been a bit to ambitious on this project.
Now Sunday came around and it started to settle in that our team might not be finishing the game we set out to make. Multiplayer aspects were getting hard to replicate correctly, mechanics needed for giving purpose to the game were lacking, and the team morale was diminishing. Not looking good. We had this sort of manageable idea, but I believe we tackled so many new aspects at once that time to learn vs time to apply was limited. Luckily, even if we didn’t produce a fully playable game by the end, we at least learned a lot of new things about the engine.
For next time though, we’ll be a bit more cautious on how we approach the game! Till our next code jam, enjoy our Gangnam Dancing Character.