Join us on Twitter and IRC (#ludumdare on Afternet.org) for the Theme Announcement!

Thanks everyone for coming out! For the next 3 weeks, we’ll be Playing and Rating the games you created.You NEED ratings to get a score at the end. Play and Rate games to help others find your game.We’ll be announcing Ludum Dare 36’s August date alongside the results.

New Server: Welcome to the New (less expensive) Server! Find any problems? Report them here.

I kept working on it and turned it into a full game, and just launched it on Steam! Figured it could be good inspiration for people participating in LDJAMs to keep working on their entry if they come up with a cool mechanic/idea…who knows, you might be able to to turn it into a full game!

Hope this inspires some people to take their games beyond their Game Jam entries if they think they’ve stumbled across something fun! With a few more months of work you might be able to turn it into an awesome game you might be able to pay your rent with! 😉

Threw in a Time Extended max cap so the player can’t get crazy excessive amounts of time and have no reason to care about it anymore lol I did a few other tweaks no one will notice but I’m planning to develop this one into a full game when I finish my current game (a previous Ludum Dare entry) so I think I’m going to save the major tweaks for when I do that. Looking for any feedback on this LDJAM entry so that I can take it into account when I design the full game so please give it a try and leave some feedback so I can find potential problems early on!

I’ll also be doing a post-mortem up so follow me on Twitter at @BPOutlaws or stay tuned here for when that goes up! I’m pretty psyched with how this game came out, getting to be a much better programmer these days with all the work I’m putting in!

Enjoy! Will do a post-mortem down the road when I’ve caught up on sleep lol I’ll be turning this one into a full game when I finish my current project, follow me on Twitter at @BPOutlaws for updates! -Jeff

This time I’m going to make something even more pointlessly flashy and ridiculous. Maybe. Or maybe it’ll be some DEEP MEANINGFUL ART PIECE gamifying social commentary through deep pixelated metaphors that make you question everything you’ve ever known about life and reality. WHO KNOWS?? …it’ll probably have explosions either way though.

Code: GameMaker Studio (this time I’m being smart and putting together a framework ahead of time so I don’t have to waste a day trying to make a camera zoom out or get Spine animations to import properly lol)

Art: Photoshop and Spine

Music/SFX: Digging through Kevin MacLeod’s royalty-free incompetech.com music and the boopin’est sounds I can make in bxfr.net as always.

Fuel: All the Monster I’ve been living off may or may not have made my heart almost explode so I haven’t had Monster or caffeine in a month. I figure since I’m not used to caffiene anymore I can expect one cup of green tea to keep me wide awake from this LDJAM till the next one. I WILL BE SO PRODUCTIVE.

Ludum Dare 32 is over and I survived lol There’s something demented about voluntarily participating in what’s basically “crunch mode” for no reason other than to make something cool but I’m glad I did it. Here’s my post-mortem on how things went and my general design process. First up this is the final result of my 72 hours of slaving away in GameMaker: Studio and Spine:

PLAN OF ACTION

LDJAM’s topic is announced once the event begins and this jam’s topic was “An Unconventional Weapon”. I decided the 72 hour jam was more my speed over the 48 hour competition because I don’t really care about winning or anything, this is more for me to get my creative mojo kickstarted and possibly come up with a prototype I could turn into a full game down the road so that extra 24 hours to throw in some decent art was too hard to resist. The time limit in general adds a huge doom clock hanging over your head but I know a solid concept is half the battle…there’s no point spending all weekend working on something that wasn’t a good idea to begin with and it’s hard to force creativity so I decided to give myself 2 hours with no pressure to concept ideas up. Even if I came up with a decent idea right off the bat I would keep roughing ideas out till the time was up, so if I couldn’t think of something right away I didn’t freak out since I had a full 2 hours to kill.

I had 3 main goals for Ludum Dare:

1) I wanted one good core mechanic. I’m thinking in iPhone game terms instead of making an epic RPG or something. I wanted an idea that I could theoretically clean up and ship as a simple casual game.

2) I wanted something flashy with a lot of Spine animation because I wanted to really put my GameMaker + Spine workflow to the test since I’ll be using that combo for basically anything I make.

3) I wanted to avoid menus and text because I find doing that stuff in GameMaker is a whole project in itself. It means writing scripts that display and activate buttons and draw and transition menus and lay out text areas, and there’s nothing that easily sets up scrolling menu lists etc. If I made a text/menu heavy game I would spend at least half the 72 hours just trying to get those looking good and working nice. So I wanted as little GUI coding as possible.

PLAYING IT TOO SAFE

Let’s break it down stage by stage. I started by throwing down any words or ideas vaguely related to the topic:

It's like a word-assosciation improv class for nerds.

Looking back on this list I can actually think of a few cool ideas based off it, so as far as I’m concerned just doing this exercise alone was beneficial. Who knows, some of these concepts might make it into games I make down the road.

I started out with a pretty safe idea…I was going to try some clever meaningful artsy deep outside-the-box take on it. I watched some Let’s Plays of Life is Strange recently so I think I was just in that slow-paced mindset:

Most of these are half-thoughts that made sense in the moment but now I have no idea what they mean lol

It was actually a solid game idea. It would be similar to a Diner Dash game where you micromanage a group which is already a proven mechanic. You’re a villian working as a teacher to distract a class from passing their exams to prevent anyone from being smart enough to thwart your plans down the road. It wouldn’t be too art-heavy either, I would just need to draw a classroom for a background and I could set up a sweet camera angle and hand-draw the characters so it looks like a shot out of an anime:

No idea what anime this is from

It was something I knew I could pull off in 72 hours and fit the theme but it was boring lol And it would either be text/menu heavy or I would have to come up with some icon system that made sense and it would just be a lot of GUI coding. My buddy Derek was like “what? no defending your hot dog stand from ninjas by throwing hot dogs at them?” and I realized that my idea wasn’t really something I would have fun making. A big part of why I’m making my own games is to make whatever I want and I’m a simple guy: I like flashy action and explosions lol

TOSS IT OUT

So I scrapped that idea, threw on a bunch of Sakuga anime compilations (basically the most fast-paced over-the-top action scenes from anime), blasted some high-energy Megaman music and wrote out a bunch of words related to the theme but more action oriented:

ahhhh, this is more like it!

I liked the ideas of “killing enemies gives you a new thing to use”, “merging body parts from enemies to self”, and “stacking effects”. The most natural idea that ame to me would be killing enemies and taking their body parts to attach to yourself, stacking the effects of whatever it is you’re taking from them. Robots/mechs made the most sense because it’s logical that you could replace a robots body parts with other body parts so the concept would be clear from the start. I’m terrible at drawing/designing mechs (I’m more into medieval stuff) so I went with a robot chick as a main character, plus I loved the whole idea of Astroboy as a kid. So I started fleshing that out:

Approximately 3 weapons off this list actually made it into the game lol

I had no idea how much I could do in 72 hours so I put down anything I could think of to help me visualize how things would work. When I got enough down to have a solid idea in my mind I revised it again into something more final to follow:

In theory you could mind-map an entire game out down to every function/script and variable needed.

In this stage I try to group things together and think about what I can re-use code-wise. So I’ll jot down a list of weapons and then break them down into “projectile” and think about what attributes projectiles are going to need to do all of the behaviors I’ve listed. A pistol bullet, machine gun and shotgun blast are all just variations of firing rate, ammo per shot and spread angle. This is actually the part about game design that I enjoy the most, I like breaking big ideas down into smaller efficient chunks. This helps me visualize how a lot of the code will work too. I’m still an amateur programmer and can get lost in my code easily without a good clear overview of what I’ll need.

I really wanted to have her legs switch out for legs that can jump, jump really high, and float/hover in the air, but I knew I should start with her arms and save the legs for if there’s time.

TESTING THE TECH

First up was making a rough Spine file to see 1) if I could get Spine files loading/animating in Game Maker properly and 2) if I could get Bone coordinates off a Spine Skeleton and attach new Skeletons to them that would follow their motion. This was the major tech hurdle for this game idea so I knew if I tackled it first the rest would be smooth sailing and if I couldn’t figure it out I’d have time to switch to a new idea.

First rough idea for a character. Short hair like this would've been way easier to animate but I like a challenge

Fortunately that went silky smooth and I got it working without many problems. So I revamped the character with plans to do her hair and skirt with FFD-animation in Spine. One of the nice things about using Spine is that I can lay out a character and animate her and get her in-game, then go back later and rig up her features for more detailed animation (hair, skirt, facial expressions, adding shading to the art, etc.) and know it’s not going to break anything:

I tend to use 0-length bones so I can attach different angles for bodyparts to them but I regret that on this character, using longer bones would've made animating a lot easier.

In the end I only had time to do her bangs and I used really rough FFD placement so you can see her hair bend with sharp corners in places but the gameplay would be fast-paced enough for no one to notice…or care, because I only had 72 hours lol I had to keep reminding myself that things were “good enough for 72 hours”, no one is expecting to see some AAA product in 72 hours the fact that I had a character animating at ALL was great:

I animated some basic motion and threw her into the game to make sure everything was working and to learn how to do collison. I messed around with Bone compensation (so in Spine I could move her backwards as she dashes back and control the distance/momentum in Spine with her x/y info updating to match in code…this is something I’d want for doing a huge boss that stomps his feet as he walks and pauses with each stomp VS moving at a constant rate of speed), and I managed to pull off a while back when I was doing tests but had way too many problems getting it to work now so I gave up and stuck to animating in code. I’m using TweenGMS to set up tweening and I was able to get a good enough result that way, but I’ll definitely revisit Bone compensation in the future.

The next test was making sure I could turn off the Image Slots and spawn new Skeletons (gibs, weapons flying out of hands, etc.) at specific Bone positions, and, well:

In retrospect this probably makes me look pretty demented lol

No probs there lol The head is a separate bone. I also set it up so that “gibs” could be guns, bones, etc. and spring out at various speeds/angles etc. I’m pretty new to parent/child heirarchy stuff in code but it worked out just like I hoped. The code for this game in general is some of my best, I wish I could rewrite my main project from scratch to make it more like this but I guess you just have to accept that no project will be flawless all the way through. Definitely looking forward to starting my next game after my main project so I can write a bunch of fresh new clean organized code from scratch.

Next up was replacing her arm with a gun and figuring out how to do a nice chain of command up the guns. Each gun has a child gun that attaches to it’s attachment slot and receives commands from its parent. There’s a LOT of potential in this setup, I can have each type of gun animate in a different way and have different attachment slot positions and different length/speed animations for shooting. Originally I was just going to have one gun with a few attachment slots for other guns, but I wanted to test out optimizing my Spine code. On my main project I’m working on I tried implementing Spine but I didn’t really know what I was doing and I was getting a lot of lag with just a few Skeletons. So for this project I wanted to try optimizing things since I had a nice clean empty project to start from where nothing would break.

I did a bunch of digging through the tutorials and trying different things out and the end result was fantastic. I was stacking guns on top of eachother because that was the easiest way to test and at first the game would lag by 30 Skeletons, which really isn’t very much. When I originally tried Spine out I envisioned doing all the art for my games in it, like down to menu animations and bullet effects but no way that’s possible with 30 Skeletons so in my main project I was already planning to use Spine as little as possible.

But after optimizing I had *700* guns attached to eachother with no lag lol:

It's like a giant french-fry of death.

GOING OVERBOARD

The sight of it made me laugh and I decided to leave the huge stack of guns while I tried to get them to shoot and once I got the entire stack shooting (with a delay too so you can see it flow up the stack one by one) I decided it would be cool to let the Player actually stack like this instead of what I was originally planning. I set up some different guns and timings and the whole thing felt absurd but made me smile so I just kept going with it. But the guns quickly go off the top of the screen so I looked for tutorials on doing zooming cameras that can zoom out to keep two objects in the view at all times and found a great one. I set it up to use the player and the top of their gun stack as the zoom targets so the higher you stack the guns the further out the camera zooms. As far as I know there’s no maximum limit, you can stack till the game crashes lol

Spaghetti missiles, explosions, robots and anime chicks...if there's more to life I can't imagine what it is.

I got cocky and decided to try spaghetti missiles that would home in on targets and leave particle smoke trails…really it would’ve been a more complete game if I had focused on the gameplay at this point instead. I had a lot of ideas for stuff like enhancements you could get that would add fire/electricity/etc. effects to your weapons, which would add a little strategy to the collecting aspect. Or even better, have it detect when you have X number of guns of the same type stacked in a row, so if you stack 3 pistols they glow and fire larger deadlier shot. That would create a mini-game within the game where you would be picking and choosing which guns you wanted to catch, having to make snap judgements as the guns fly up kind of like Tetris. Another idea was to have negative guns that you can accidentally collect, which would be in your stack and fire with the rest of the guns but would do stuff like fire a missile that homes in on you so each time you shoot you also have to dodge a missile from your own gun as a penalty for grabbing that negative gun. I planned to have a huge boss that the camera would have to zoom way out for, like you’d need a big stack of guns to defeat him etc. but ran out of time. Because of all those ideas I think there’s something here that could be expanded on into an interesting game, but I don’t know if I see enough depth in the game to keep going with it.

Anyway so from here I had to grab some music from incompetech.com and whip up sound effects in Bxfr. I threw in some random pitch changing so most of the sound effects will sound slightly different each time you hear them to avoid being too monotonous. The background I left till the last minute and whipped up some quick terrible buildings in Blender and had tons of problems trying to get a scrolling background working right so you’ll see lots of glitches in that but I got it working literally at 8:59pm one minute before the deadline lol It’s glitchy but hey, 72 hours cut me some slack.

GAME FEEL/PLAYABILITY

Also a bit earlier I spent some time balancing things for the Player. I’m big on not wanting to bog the player down with tutorials, I like when games naturally teach the Player to play. So there are little nuances for ease of playability since most people won’t do more than play for a couple minutes. If you have no weapons you won’t be able to get a missile launcher as your first weapon because the delay on it makes it too difficult to use as a first weapon, you’ll get overpowered too easily unless you really know what you’re doing and even then it’s almost impossible to make a comeback, so I didn’t want the Player to deal with that frustration. You won’t see the robot guys until you have 3 guns attached so you have more of a chance to beat them, and they won’t start attacking you back or changing what height they fly in on until you have a solid stack of like 10 guns. So the game should have a nice easing curve for people to play without a lot of frustration. I love adding these little details to help guide the player into being able to handle the full experience.

I was also originally going to have the Player’s stack build a lot slower, like they just get one gun per enemy but because of a bug the robot enemies were able to get stuck in a “being hit” loop where they would keep spawning out a weapon every time they got hit but as you got more weapons you would hit them more times spawning more weapons which made you hit them more etc. and it became a huge bonanza of guns being tossed in the air like Oprah handing out schools and hump-backed whales. When I fixed the bug I decided to leave the insane gun bonanza in because it added to the absurdity and I figured people would only ever play the game a few times for a couple minutes and then move on so I wanted them to have a memorable little experience in that short window of time.

After watching some people play it, if I was doing this over I would add something that checks how many times the Player dies and if they die 2 or 3 times without collecting many guns, have it spawn a few less enemies to give the Player an easier chance. For a full game the difficulty curve would have to be tweaked a ton but for something like Ludum Dare where people are only going to spend a couple minutes with the game I should have made sure everyone would be able to get to where they stack a bunch of guns and experience the fun part of it.

CONCLUSION

I’m proud of the end result. I accomplished my goals going into this and with the energy I have these days now that I’ve got my Vitamin D levels handled I was able to power through the whole weekend working non-stop except for sleep and food. The time pressure was fun, it forced me to make fast decisions and throw out things that weren’t working while also plowing forward on ideas that I suspected would work…no time for waffling or second-guessing which can be a big hurdle for gameDevs on longer projects, feature creep and rewriting stuff that doesn’t need to be rewritten etc.

A MOMENT TO GUSH ABOUT GAMEMAKER + SPINE

GameMaker and Spine were AMAZING together. The workflow is so efficient that I was smiling ear to ear as I worked. It takes like 5 clicks to go from animating in Spine to seeing that animation running in-game exactly like I saw it in Spine. For people just getting into gameDev now where this kind of workflow is more common, this might not seem like that big a deal but man, in the old days I would have to do individual frames by hand and then write up text files with a list of coordinates and timings and image names to try to describe to a programmer how the animation should look and then just cross my fingers that they would come up with something that looked in some way sort of like the vision I had for it, which of course it rarely did. It was like dropping your child off at school and picking him up later and he’s all disfigured lol With proper optimization and memory management for Spine files in GameMaker I feel like I can literally make ANYTHING 2d. If I had the time and artistic skill I could practically duplicate Rayman Origins and Ori and the Blind Forest with this combo. If anything doing Ludum Dare and working under a time limit gave me even more of an appreciation for the tools I have access to. I WISH I had these kinds of tools and workflow back when I was a teenager. So if you’re in your teens or early 20s and you’re getting into gameDev consider yourself extremely lucky, you’ve got a huge head start compared to when I was that age.

WHAT’S NEXT?

I’ll be participating in Ludum Dare again in the future, this was all win/win for me. But for now it’s back to my main project. My Ludum Dare game has actually made me more excited to get cracking on this thing. I’ve been avoiding the art side of it because of the laggy Spine issues I was having in GameMaker but now that I understand the optimization stuff I’m looking forward to dumping a ton of sweet art in there. I’m planning full-screen bosses and can’t wait to get crackin’ on them. The menu system is pretty much done, I just have some last tests and cleanup to do with it but then I should be able to get into the fun art stuff. I’ve got the bosses planned out in my head and rough doodles, I just need to refine them into actual designs and start dropping them in the game.

All in all this has been an excellent start to the year. I’m hoping to keep this pace up the rest of the year and participate in Ludum Dare regularly, but one thing at a time…first I gotta’ finish my main project and ship the damn thing lol Follow along at bulletproofoutlaws.com and on Twitter at @BPOutlaws

Need a break from working on my game to keep the creative juices flowing.

Code: GameMaker Studio (all GML, no idea how to use the drag & drop lol)

Art: Photoshop and Spine if there’s time to get fancy

Music/SFX: Digging through Kevin MacLeod’s royalty-free incompetech.com music and the boopin’est sounds I can make in bxfr.net

Fuel: A fridge full of Monster Zero Ultra and the crippling fear of public failure and embarrassment that would no doubt lead to years of shame and guilt piling up, speeding my inevitable descent down a sinking merry-go-round of booze, strippers and self-loathing till I hit rock bottom, forced to beg you for spare change from my cardboard box on the street outside your apartment…I’ll be the one holding the cardboard sign with “I ENTERED LUDUM DARE AND DIDN’T FINISH MY GAME” scrawled across it.