Never ever miss a Ludum Dare if you can help it. I missed #LD31, and I made damn sure I would make this one.
The theme: AN UNCONVENTIONAL WEAPON
Which is actually pretty fun. However – a confession – I went into this jam with a preconceived idea of what I wanted to make, and just kinda rolled with the theme. I wanted to make a mecha platformer, and mecha kinda fit “an unconventional weapon” (no not really, I know), so I just went with it and made:
(Easter egg: 2875 is a… visual pun on 2015. 8 looks like 0 and 7 looks like 1)
A visual post-portem
When I first got the riding in a mech mechanic going I was ecstatic:
And then I got the plough-through-the-civilians-if-you-were-running-in-a-mech mechanic :
Then I got to set up a bit of a level with a base of operations:
Slowly but surely, mission one, with mech destruction mechanics:
Eventually and finally, after the Compo period was over, I got to doing some art. so late!
The mechs made of cubes were only ever meant to be programmer art to be replaced later. But then I ran out of time and just animated them instead of upgrading them. And surprisingly, they turned out alright. Mecanim may be unwieldy, but it’s very very useful for doing things on the fly.
In retrospect, what went right:
Going in with an idea of what to make. Having a goal is actually a good thing.
Gameflow polish – I had a title screen, a completable game that had a start, a middle and an end, and a scoring system, and that’s quite valuable. Jam games without a feeling of progression are easily ignored.
Visual polish – the mechs were made of cubes and was originally intended as placeholders, but they actually turned out pretty well once animated.
Visual polish – a variety of particle effects made the game feel quite lively.
Making an accessible single-player game as opposed to a multiplayer one that’s difficult to playtest.
I’m getting better at Unity, so things went a lot quicker.
Using an existing and open-source platformer controller (some may see this as cheating, but I really don’t see the point of re-inventing the wheel each time in a jam, I already made a horrendously messy platformer controller last jam.)
I slept. About 3-4 hours each night, it made the waking hours that much more productive.
Annnnd what went wrong:
Going in with an idea of what to make – My goal (make a mech platformer game) completely stifled creativity and I ended up with a bit of a limp, lifeless game thematically. Comparing my goal this time to the goal I had set for myself for the previous LD, this one was a bad idea.
Overscoped. This is the number one killer of jam games. I fought this hard, but the fact remains I couldn’t make 48 hours and went into 72, and then STILL missed out on a lot of what needed to be in.
Too many interdependent systems – this was a cascading domino set that fell like this:
I wanted mechs to be able to dash.
I wanted the dash to carry a penalty.
So, if you dash, you could accidentally stomp civilians and kill them.
So I gotta make civilians.
And of course criminals.
Where would there be civilians and criminals? A fucking huge sprawling city.
What do you do in a sprawling city?
Missions, of course.
What’s the point of getting into a mech if there’s only one?
Let’s make three.
What’s the point if they all do the same thing?
Give them abilities.
What’s the point of abilities?
Give missions variety, mechs match mission parameters.
Etc etc etc.
In the end, all those systems intertwined too much, building them took forever, and changing one meant changing a whole bunch of others.
No time to tweak and find the fun – this was a consequence of overscoping. Being too busy building interlocking systems.
Intended to do a 48 hours compo entry. Had to “upgrade” to a 72 hour jam entry.
In the end, I think this was the least successful of my three Ludum Dares, despite having experienced up and having made much more stuff in the time allotted than ever before. Sigh.
Although, it has seen pretty positive responses on the concept and its prettiness, which is encouraging. I’ve always wanted to make the mecha platformer, and it seems to be something people want. I just need to settle into the mecha seats and find the fun in the mechanics.
If you’ve read any of my posts from Ludum Dare 31, you’ll have seen how I celebrated this theme as a great restriction. While many moaned about the theme being too open-ended, I really enjoyed that it was a mechanical restriction rather than a thematic one.
(I guess the “everyone hates it” perception comes from confirmation bias for seeing negative posts but no “YAY LOVE THIS THEME” posts, after all the theme didn’t just materialise out of randomness – the majority of it voted for it in the slaughter for it to be chosen!)
How I interpreted the restrictions
In summary, I boiled “Entire Game One Screen” theme to these strict restrictions:
The entire game must exist on the screen when it starts
That means no instantiating new things
And because of the previous point, removing things would be bad as I couldn’t make new ones.
That means no bullets, no treasure chests/powerups/whatever, no collectibles.
No falling off the edge and disappearing… etc.
The thing with restrictions is that they really spark something different. Creativity with no restrictions is really, really stifling, in fact. So, embrace restrictions!
Setting learning goals
After I set that restriction for myself, I thought a bit more around what I wanted to get out of this jam. We as gamedevs (or gamedev wannabes) often have ideas that we don’t get around to making, and often that’s because we simply don’t have time or don’t know how. But if we never know how we never will know how.
So I thought about the stuff I wanted to learn with this time that I have now, so I can try and do THAT.
I had been thinking about making a platform arena shooter. I haven’t really made a platform game controller before so I decided I’d do that.
My platformer idea I had was to have players that could pilot robots, so players would control different things in the game at different points in time.
I wanted to use built-in physics for hilarity – I usually stick to restricted movements with my game designs.
So with those in mind, I set out to design my game. A look at the outcome will show you that I’ve basically hit my learning goals:
I made a platformer – the platformer controller was really tricky to get right, I could still improve it, but I now know a lot more about platformer controls. They are NOT easy at all, as I suspected when I started, but now I *know*.
Players would come back as different characters, so I got the swapping controls between objects thing working, and I now understand it.
Wrangling built-in physics so that it provided a good stable background against which platforming could happen was VERY tough. I had some experience with one of my previous prototypes Bear Chuck, but this was more freeform and thus harder. The results were glitchy but satisfactory, and a lot of learning was gleaned from it. As well as an idea of how I could improve the system.
Bonus: Give people the best chance of playing your game
As I sat through this year’s entries into LD I noticed a lot of problems that was excluding people from playing their game. Hell I made a fundamental “mistake” too, so let’s talk about that:
The basic principle: LOWER BARRIER TO PLAY. This sounds so simple but so few people seem to keep it in mind. This encompasses many things:
Web player. This is the single easiest and best way to get people to play your game – it works across Macs, Windows, and is usually the best option to deliver your game on if you want people to play your game. And you do, obviously.
Be aware of current affairs: I said “usually” in the above point because Chrome is having a row with Unity web plugin. You can find more details if you Googled for it, basically Unity acknowledges it as Google not liking a tech that they’ve been using and Google’s shut it down with Chrome. I’ve been using Safari as a backup to continue playing Unity web games, but so many people won’t know this and it just appears as if the developer screwed up. So…
Deliver in as many platforms as you can: So yes you got a web player, but it’s better to get a Windows and OSX build up alongside – not only are more options intrinsically better for getting more people access, it also gives streamers more options, if you get their attention.
Single player option – Always *try* to make your game so it’s possible to play single player. Finding other players to play with is TOUGH when everyone basically just finished a jam, is dog tired, and is in front of their laptops at home. That said, I obviously went and made a non-single player game… So I broke this rule, but I thought long and hard about it. If you have time to make a single player mode, or some REALLY RUDIMENTARY AI, or whatever, do it.
Clear, simple, quick instructions. FIRST. Consider the possibility of people not reading. It will always happen, and their failure to get stuff working is your loss, not theirs. I stuck my instructions at the top above the game, and made it as simple and clear as possible. Fuck sentences, just get people to understand it.
So, whew, that’s a lot of text just on how Ludum Dare went. So I’m not gonna talk about the game for now. I might come back and write more about it, definitely gonna do a post-jam brush up of it, and finish up Amy, and maybe add more features I had in mind while playing like a shifting arena or 6 more characters