So, I just completed my eighth Ludum Dare entry (and fifteenth jam game). In Ludum Dare 28 I won the innovation category with Rude Bear Resurrection. It’s been a bit over a year since then, and I’m due to release the full version on PS4/Xbox One/Steam this year.
Since then I made two really dumb games In Ludum Dare 30 and 31: Rude Bear RPG which was just a fun homage to other RPGs with a cool (albeit hectic and occasionally confusing) battle system, and Rude Bear Ride, which I made on the last day of the last jam after starting from scratch and throwing out everything else I’d worked on out of frustration.
I also made something I privately think is awesome but was a bit glitchy and didn’t win any medals or anything of the like.
Regardless, this time I decided to make the spiritual successor to Rude Bear Resurrection. On one hand I think I managed. This is probably the best jam game I ever made. On the other hand, it’s an online multiplayer game that’s played best with mates over skype, so I doubt I’m going to rank well at all in Ludum Dare, but I’m still happy with what I’ve done.
I decided instead of making something purely cooperative like Rude Bear Resurrection to instead make something versus. An endless war between Bears and Boars. Because it was going to be a big task to do the online stuff I stuck to what I know best and made a platformer, using the same tiling system I use in SRBR.
The two teams each have a base they have to protect, connected by various rooms that they have to conquer to get to the enemy’s base. It’s a little bit like the standard TF2 game mode where both teams are trying to capture the point and push back into each other’s base.
The theme was Unconventional Weapon, so I decided the players would become the weapon. You can press x at any time to turn into a Guardian, which is just some form of turret, ranging from homing launchers and bots that actively seek you to traps and shields. You then immediately respawn.
The game’s asynchronous, so every time you become a Guardian, other players can see it in their game and fight it.
In this way, you can build up a base. Because you start in your own base and have to battle through to the opponent’s base, it’s easy for you to quickly add a few Guardians close to your base in the time it takes your enemies to walk all the way through the level.
The difference between each Guardian is the class you play. On each team you can choose three classes, of more Unconventional Weapons. These are silly but actually quite dark in tone when considered. Bears can attack the boars using guns that fire bacon and effigies of pigs being spit roasted on a spinning death laser.
More overpowered weapons come with slower movement speed, and there are super fast moving classes which can fire their weapons at the floor to burst/hover around which are weaker but good for mobility and taking a point quickly.
Each weapon is tuned to be efficient at destroying one type of Guardian and terrible at destroying an other. In this way, you’re forced to regularly change class based on the opponent’s strategy or play a balanced team.
The game and game world are asymmetric. The bases were designed to be similar but different fundamentally. The left side of the map is made with open areas and vantage points to place Spinning Death Lasers and closed corridors that are good for placing a series of shields, and also impossible to hide traps in.
The right side of the map, home of the Boars, descends massively as you go into the Boar base, as their weapons are most efficient firing up. There are also good places for quickly hiding a trap. If you can leave an undetected Guardian in a room and the Bears don’t notice it, they’ll simply try and take the next point without destroying it. In this way you can take a few points without the Bears realising there’s a threat.
Likewise, the Bears have an interesting Guardian, the Baconbot, which will follow people through the base. Once the Boars have opened a few doors, all the waiting Baconbots will flood into the base, so if the Boars aren’t careful they can potentially open up the whole route for the Bears. The upside for the Boars though is that they can strategically lead all of the Baconbots straight back into the Bear’s spawns, thus removing all their progress, or straight to the heart of their own base, which is risky but allows the whole Boar team to quickly wipe out all of them and erases the Bears progress in the in-between rooms.
This strategy only works if the Bears are relying on Baconbots to get ahead, though this is often the case as the Trigonometric Bacon Rifle is the best for clearing out larger Boar bases.
Generally, the Bears are much better at offense. They can spam a lot of bullets, and playing a Bear is mostly a case of quickly running through, destroying as much stuff as possible and playing turrets. The Boars, however, are much better at “Ramboing”. Their base class has a magnum that goes through all bullets and bounces, allowing them to destroy (or at least damage) any kind of trap around corners, although the quickly moving Baconbots that fly around are their weakness, and the heavy shotgun type class is occasionally required to take out a hoarde of them.
Likewise, the Bears can make some bases that are pretty difficult for the Boar secondary classes to get through, and their Guardians complement each other, but the Boars are able to assemble arsenals of missile launches which can make a hellstorm for any Bears. In fact, if the Boars are left for long enough, they can fortify a base so strong that only someone running Bacon rifles and Lasers with a high spec PC will even be able to get past the framerate drops, and probably have to wipe out the base running at 10 frames per second.
This is obviously an issue, and could be combatted by putting a maximum limit on the number of Guardians you can put in a room. In the Ludum Dare honour system though I can’t update something like this postrelease.
There’s a few other problems with the game. You have to walk really far to get into an opponent’s base. This is a design choice to make it easier to defend than attack, but it can get tedious to make the large trip for the winning team (and especially if no one is playing at the same time as you).
As an async game, Rude Bear Resurrection worked a lot better because it was a cooperative effort and you didn’t need someone else to be playing at the same time to enjoy it, you could simply see all the other hundreds of corpses.
Another problem is that.. as soon as someone has placed a bot in your room, you can destroy that as quickly as possible, but because the game’s asynchronous and loads everything at launch, that person is now already running your base by the time you notice it. i.e. by the time you notice it, it could be too late to stop already. I mean, ideally all bases should always have some fortification it’s impossible to get by in one run at the beginning, that way you’ll notice some stuff blows up and that’ll be your hint. If you find an enemy Guardian in your room and no defense it’s really all down to whether your teammates made sufficient defense further on or managed to destroy their intermediate Guardians in time.
In this sense, the game can end pretty anticlimactically, with you feeling like you’re nearly there and then someone else wins. However, winning is always extremely fun, especially as you get to brag with a message as you fly into the sky.
Another issue with messages though, when you’re in a big team you can sit around making dumb puns and that’s fine. When you’re in a small team you just want to churn out Guardians as quickly as possible so you end up writing really short non-messages for your Guardians. I think there should’ve been maybe a 3-5 second cooldown when you write a taunt to make sure it’s a good one. I was worried about frustrating people though. But I don’t like that it’s technically the rookie thing to do to use the feature properly.
Also, this would balance people with worse internet connections who used their go better (as it only updates Guardians you interacted with, so the more you do per turn the longer it takes to save to the server). This way everyone would have roughly the same respawn time. This game, however, is the most fun jam game I’ve ever made if you can get people to play. I’ve had people repeatedly asking to play over skype and we’ve played for hours at a time, it’s crazy how much fun it is if you can get 4 people playing over skype, but that’s a problem for a jam game.
One last issue I had: after making the core of the game, I decided to do the GUI. I thought I may as well give NGUI another chance, so I added its files to the project and then quickly realised it'd fucked with all my settings and layers and I couldn't even identify how to quickly make a single clicking button. After 5 minutes of despair I just wrote my own code for it in a couple of minutes, deciding it wasn't worth bothering with, and then preceeded to rip all traces of NGUI from my project.
Except that that absolutely ruined my project files, and a few times a day for the next 3 days suddenly my project would randomly remove all my project settings, so I'd have to change the build settings, add all my layers again, set all the controls again (which required remembering AZERTY/DVORAK layers) and set all the layer collisions, which is ultimately why I ended up not supporting controllers. Even if I copied my project settings over. Even if I deleted the library. I should've started in a fresh folder but I was in jam mode so didn't bother. Never again NGUI. I even now have a screenshot of the physics just in case stuff messes up.
Things I learnt:
- Probably don't do versus multiplayer again if you want to win. It's more fun but it's probably led to poor ratings.
- Supporting a multiplayer jam game is also a full time job, if you want people to enjoy it you have to be playing it most days. I was at A Maze in Berlin for the few days after the jam.
- You should probably get people to playtest a game like this. I kinda knew this already but had no time unfortunately, but it was only several days after the jam ended that we really realised the things that needed improving.
- Polishing can be fun. Not that I did a tonne of it, but slightly more than usual by starting with the UI. That took pressure off the end. Normally SFX and UI are my endtime nightmares.
- Knowing exactly what your game is going to include before you even start making it is stressful as hell. If you don't finish it all, you don't have a game. Normally I have a plan and then a bunch of contigency plans I can fall back on. I'd prefer to do that again, even if it ultimately ends in a bit of disappointment at not implementing all the features you want.
- My friend told me a better way to do async that I want to try next time.
- When it comes to doing GUI in my commercial release, I'm writing it myself again, not relying on third party software.
Things that went well:
- The whole process. I don't need to win a medal this jam. I'm just happy I made something I really enjoy.
- Doing Ludum Dare over skype was super fun and showed me some new perspectives on how other people work, although my own process is pretty insular.
- Working with my employees Kitt and Simon who did the graphics. We really came together and got everything done even if I might've been a bit stressy at time. It bodes well for the release window though.
- Working with Atmospherium again who helped with the music on day 3 after doing the compo on days 1-2. After last jam working together we really ironed out the bugs and got a nice dynamic soundtrack ingame.
- Doing more stuff with Rad Boar too was fun. And making a shooty game, I've never made a shooty game.
And if you want to go shoot bears/boars, go here, but it's most fun (read: not otherwise very fun at all) if you get a couple of friends to play with you:
So, until next Ludum Dare, adios. (Actually, I want to write something at the end of this jam so stay tuned for that if I actually do it). Follow me for more information about games about bears: @AlexRoseGames
Originally posted on my dev blog.