I'm DDRKirby(ISQ). I do lots of cool stuff! Check out my main website here:
About DDRKirby(ISQ) (twitter: @ddrkirbyisq)
I'm DDRKirby(ISQ). I do lots of cool stuff! Check out my main website here:
Ludum Dare 28
Ludum Dare 27
Ludum Dare 26
Ludum Dare 26 Warmup
Ludum Dare 25
Ludum Dare 25 Warmup
Ludum Dare 23
Ludum Dare 23 Warmup
Ludum Dare 22
SonnyBone's Official 'RAD GAME' Award
Awarded by SonnyBone
on December 19, 2013
If you haven’t already, please play and rate our game, Match Girl!
This is my 6th Ludum Dare entry, and the 2nd time working as a two-person team with my artist xellaya. Our previous game was a psychadelic side-scrolling rpg about a crazy cat, Hyper Furball.
This time we went in a totally different direction, and created something dark and creepy. Here’s what the game looks like in action:
Like last time, let’s go over what went well and what didn’t.
What went well:
The Game Concept
The concept actually came really easily this time, unlike last time where we had to go through a number of different ideas before finally settling on something. The theme this time (“You Only Get One”) was a good one–pretty open, but also restrictive enough to focus you on something specific. Doing a “you only get one life” game definitely felt like it would be a cop-out here, so we definitely wanted to stay away from using that idea. Like always, we were busy on Friday night, so we didn’t really start to work until Saturday, but I actually had the initial concept of an “only one light source” platformer while trying to get to sleep on Friday.
We’re veterans at this by now, so we don’t really have many kinks in our process. Especially on my side with the coding–I don’t really have to figure many new things out by now because I can just look at my previous projects and I can just copy-paste code as needed. Instantiating new objects, making timers and counters, doing screen flashes, doing the jukebox screen, that’s all easy stuff for me now. And of course, cranking out music is second nature to me now, after doing so many of these. That’s always more of a “break” for me than actual work, to be honest. Working together with xellaya is pretty nice now as well. We definitely don’t think along the same wavelengths, and generally don’t share the same vision for things, so it’s fortunate that we manage to find a way to make things work out. I think we’ve managed to strike a good balance, such that I allow her a good deal of freedom in making artistic decisions, while still pushing back when something could be reworked to better fit the game. I think it’s important to make sure that there’s enough communication about the needs of the game, while not just being super-controlling and nitpicky about everything. In the case of Match Girl, we ended up redesigning the enemy graphics, which initially looked like this:
Which was cute, but not quite what we needed. The redesigned enemy looks like this:
Which is definitely more creepy and obviously harmful. To make it pop out more, I increased the saturation, so in the end we have this:
Initially I had the match as the only light source, and in order to get that working I just took a big fat black texture, painted a transparent circle on it with a gradient, and pasted that onto the screen. Then I got the idea for the candles scattered around the levels and realized that I needed a better solution. I spent a little bit of time going into the rabbit hole trying to work it out with blending modes and getting into FlashPunk’s drawing engine, but then found some dynamic lighting code that someone else had already written up (https://github.com/SHiLLySiT/Lit). I tried it out and it worked! I remember making one or two tweaks to how it worked (probably changing the blend mode), but it ended up working great and I’m really thankful that I found a quick and easy solution. This was really key to making our game work well!
Now, this was actually something I really worried about, because level design is really tricky to get right for a puzzle platformer, especially one that you haven’t carefully tweaked and refined and playtested. I also wasn’t confident whether or not our mechanic would work well enough to make for good design. I knew in my head that the match concept was a good idea, but whether it would actually translate to fun levels was something that I really couldn’t know until I actually sat down and tried it.
During the initial planning/prototyping phase I also thought that it would be nice if we had at least one other mechanic other than the matches and the enemies/obstacles that kill you, so I thought of the moving blocks and implemented those (was still using placeholder graphics for everything at this point). It was later on when I was making the spotlight for the exit door that I thought of the concept of candles/torches that would be pre-placed in the level, and that actually worked really well for level design, since they function in so many ways. Not only do they illuminate tricky areas, but they also serve to give a sense of atmosphere, and they also serve as good reference points while memorizing level layouts. They also work nicely with the moving blocks in some levels. The fake white blocks were the last thing I thought of–the idea for that probably came while I was color-shifting the block textures for the different worlds.
Initially I had single set of 25 levels — 5 for each world. After I had all of the different mechanics nailed down, I knew I wanted each world to introduce something new, except for the last world which would pull everything together. I also knew how I wanted world 1 to flow: Introduce movement and the goal, introduce matches, introduce jumping, and introduce restarting.
So I had my 25 levels, but I realized that some of them were probably too difficult for inexperienced players. So I dumbed down some of the levels, made them easier to memorize and execute, and added more torches. Then I set out making 25 new levels for hard mode, where I tried to really be aggressive with the difficulty. This was the very last thing I did, and I was rushing frantically to design all of hard mode in about an hour or so. I’m really glad that it turned out so well the way that it did. I’d say that I’m a bit lucky that I managed to get such decent level design even though it was squeezed in pretty last-minute.
What went not as well:
Not being in the right mindset
This didn’t end up really hurting us that badly, but I was actually feeling really lackluster and discouraged on Friday night due to just being in a bad mood in general, as evidenced by a post I made that night. Luckily I still managed to come up with the concept while trying to sleep, and ended up shrugging it off and diving in with a good start the next day. I don’t really think there’s much I could have done about this, but it was one of the worrisome things that happened this time around.
Underestimating the amount of work
I should have learned by now, but I guess there really is no such thing as a Ludum Dare that I finish early and don’t spend 100% of my effort on. I keep on trying and telling myself to be less ambitious each time, but somehow I always end up pushing all the way to the deadline, almost without fail. I think that’s a good thing–it’s part of the reason my games have become so polished–but at the same time, I need to prepare for it and expect my entire Monday to be taken up. (and ask for that day off from work in advance)
Story and plot
We kind of slacked on this this time around, but that was sort of a conscious choice, as again we were trying to be less ambitious. I think it was also that we didn’t actually really have any good ideas for plot and storyline that would explain things well. xellaya wanted the ending to be open-ended, and I thought that was fine by me as well. I certainly didn’t have enough time on my hands to do anything more about it anyways. ^^; I don’t think this really hurts our game much, as I feel like it doesn’t -need- a story this time, but it is true that this is something that we missed out on.
This one is a little debatable, actually. I don’t think there’s anything wrong with the music in our game, actually. I think it’s really effective, for the most part, and I’m proud of it as far as soundtracks go. I mean, who doesn’t like a kickin 8-bit fakebit NES-style chiptune soundtrack? We’ve already gotten a bunch of positive feedback on it, and I’d recommend you check it out too.
However, it might not have made the most sense for me to limit myself to 2A03 instrumentation and try to be really pure in terms of using only 2 pulse channels at a time, etc. I think I just happened to be on a 2A03 kick at the time and wanted to do this fakebit style, which is fine, but perhaps it would have been more appropriate to go with a more “9-bit” approach, with darker soundscapes and non-chip sounds in the mix. Who knows–maybe the melodies wouldn’t have turned out nearly as memorable if I had gone that route, but it -is- true that some of the later tunes are a bit “energetic” as opposed to “spooky”, which is probably the one qualm I have about the OST. Really a minor point though, as I’m still really proud of it.
All in all, a really great success for us this time. It doesn’t have the “raw”, unadulterated fun that Hyper Furball did, but it’s a “cleaner”, more solid game, I think. I’m really happy with how it turned out. I’ve only gotten to watch one person play through it, but it was super awesome to see how they handled the different mechanics and got through each level. I hope you guys all enjoy it too
Haven’t actually spent any serious time thinking about the theme or anything because, as always, I had plans on Friday Night, so I’ve been occupied. It’s past midnight here now, so as always, we’re gonna call it a night and just sort of mull the theme over in our heads. We’ll try and think of something tomorrow. I think our goal is to be a lot less ambitious than last time…not because what we did last time didn’t work, but just because we don’t feel like making this one stressful and tiring.
However, I’m somehow just not feeling in the right mood at all for this. I think it’s related to some personal issues too. I’m beginning to feel really discouraged. We’ll see what happens, I guess. For now I’ll just give it a good night’s rest and see what my mind is feeling like tomorrow.
DDRKirby(ISQ) and xellaya here; we’ll be joining Ludum Dare again this weekend! This will be my 6th time doing LD (wow!) and the 2nd time that I’m pairing up with xellaya.
Last time we came out with Hyper Furball, which was pretty awesome (4th place overall, 1st in audio!), so I’m excited to see what happens this time around!
Goals for this time:
- Make awesome chiptune music (of course!).
- Do something different than the other 5 entries I’ve worked on.
- Work to both of our strengths again.
- Smaller scale, less stress, work less hard. I know I say this every single time, but I keep on trying to overachieve anyways, ugh. At least Hyper Furball involved very little level design and such, so that was a step in the right direction. Still, I’d like to finish this comfortably in time. Aim small, aim small, aim small!
10 SECONDS LEFT to vote xD
If you haven’t already, please play and rate our game, Hyper Furball!
This is my 5th Ludum Dare entry, and my second time working together with my artist xellaya. Things came together really nicely, and I’m really proud at what we managed to do in the 72 hours. Here’s what the game looks like:
Let’s go over what went well and not as well this time around…
What went well:
Settling on a good concept
We threw quite a few ideas around before settling on our sidescrolling RPG with the “hyper mode” mechanic. Initially we were thinking about doing a Warioware style 10-second minigame collection (nothing new, but probably still fun), and were also seriously considering doing something along the lines of Off the Leash. The idea thee was that you keep running to the right and have various obstacles and powerups that slow you down and speed you up, and you have 10 seconds to reach each checkpoint. I was all set to start working on that when xellaya pointed out that there really wasn’t anything new about what we were making. I thought about it some more and I agreed that it probably…wasn’t that exciting. Friday night came and went and we still weren’t sure what we wanted to make, but eventually my train of thought went to “we should make the 10 seconds as intense and crazy as possible”, and from there I got the idea of a side-scroller where hyper mode basically involves you steamrolling a whole bunch of enemies and leveling up a bunch. It ended up working really well, and I think it uses the theme in a way that’s clear, functional, yet non-cliche. Awesome.
Liberal copy-pasting of code
There’s kind of a delicate balance when it comes to high-speed coding. You don’t want to be clean and neat with everything, because it just takes too much time, and you’re only working with your code for one weekend anyways (not to mention, I’m the only coder here)…but you don’t want to be -so- messy that you end up introducing bugs and making things hard for yourself. I ended up copying a lot of code from my LD26 entry Minimalist Mayhem, which I also did in Flashpunk, and that sped things up a lot, as I already had code for flashing the screen (with fadeout), and I didn’t have to think about the proper way to create/recycle objects in Flashpunk or anything like that. There was also just a lot of one-off code that ended up getting duplicated, like the code for the parallax backgrounds–after doing that once, I just copy-pasted it each time xellaya finished a new set of backgrounds and I didn’t even have to think about it. Yes, messy, but as long as you’re careful, it all works, and it’s fast.
So many, so many Ludum Dare games are lacking in polish, but it makes such a big difference. It’s what makes your game seem AWESOME. That’s why it’s so important to pick something that you can execute easily, because once you finish the main execution, you can spend all the rest of your time making you game look pretty and fancy and smooth. Screen transitions, sound effects, cleaning up your UI…all these nice little things really add up. I’m really proud of the intro and title screen, for example–first impressions really count! I was really excited when I put in xellaya’s graphics for the title and synced it all with the music…so proud! Did I have to implement a jukebox screen with scrolling backgrounds (that cycle through the 4 different levels!) and colored stars flying around? No…but it’s really neat and awesome, right?
We really worked together well this time…I’m an LD vet by now, so I know how things go and I basically didn’t run into any big hiccups at all, aside from a FlashDevelop “out of heap space” compilation error which disappeared every time I restarted Flashdevelop (phew!). I even hacked the Flashpunk Text class to get the outline effect on all my text! I’m comfortable with Flashpunk and I’ve gotten really really good at making game soundtracks in constrained time periods now–in total, I wrote all the music in around 7 hours’ worth of time! (all that training from One Hour Compo paying off!) xellaya was also much more set up for things this time and we didn’t run into any of the miscellaneous troubles that we had last time for Marriage Quest (pngs being exported without transparency, etc.). We used Dropbox to get artwork from her machine onto mine; don’t know why we didn’t do that last time. It’s important to play to your (or your team’s) strengths when you’re thinking up a game…xellaya likes drawing cute things, and I really excel with 9-bit chiptune music, so it was great that we ended up with something that allowed us to use our talents to their maximum potential.
We both had the whole weekend to work on our game, which was awesome. No other stuff to worry about, no imminent tests or projects, no getting sick, etc. Awesome.
What went not quite as well:
I did better than last time (Minimalist Mayhem just had a single huge screen with all the instructions on it)–I was especially proud of the “mash space” animation that shows up on screen the first time you enter hyper mode. But the level up screen isn’t really that intuitive…in fact, the checkboxes ended up making everyone assume that you can use your mouse to click on them. Which…still confuses me, to be honest, but maybe that’s just because I’m an oldschool console gamer and I think everyone else is weirdos in the way that they think. I don’t really know how this could have been better, but I didn’t spend that much effort really thinking about it. I guess I’m just not that great at UI design. xellaya didn’t really have the time to think about this either, though, so in the end we just did what we could, and I think it’s at least functional. It’s not great, but probably not -bad- either.
The gameplay for our game is…”decent”. I wasn’t entirely happy with the simple attack/block mechanic that I had going on for normal combat, but I knew that it would end up being okay in the end because that’s not really the focus of the game anyways–the focus of the game is having fun with ridiculous crazy hyper mode! Still, I wish I could have made normal combat at least a bit more interesting somehow, though I’m still not sure exactly how I would do that. I think in the end I didn’t have time to push for enemy attack variations or anything like that, and xellaya didn’t want to do a lot of animation…if we had spent more time on this, the polish level would have suffered. So this is not really a mistake, per se, but still wish it could have been better. This is probably the main point that might hurt our ratings.
Not Enough Playtesting
Yeah, yeah, super common problem. This always happens, really. It’s important to get feedback and have people play your game, but…when your heads-down trying to cram in the last few features (Breaktime mode!), it just ends up by the wayside sometimes. I think I really lucked out that the game isn’t horribly unbalanced (at least, in a way that makes it not fun), because I really didn’t have that much time to spend on that and tweaking the enemy strengths and the upgrade requirements. I did spend a -decent- amount of time on it, which is why leveling up takes about the right amount of time and everything, so I didn’t do too bad here. But I feel like this was a danger area that I managed to sneak by on.
All in all, we did a great job, and I’m really proud of how things turned out. Our game is quite fun, and I’ve been trying to see how fast I can complete it using no continues
Please leave your feedback and comments! Oh, and go check out the soundtrack download too!
8PM over here. Haven’t eaten anything since waking up, sheesh.
It’s great to be done. Yeah, would have been nice if I had the time to get one or two more features in…can think of a lot of things I would want to add, but it’s totally fine. Totally fine.
Anyways, here’s Minimalist MAYHEM:
Try it. It’s pretty awesome. And come on, how can you not try a game called Minimalist MAYHEM? Especially with a title screen like that???
Anyways, get some rest, everyone. We’ll wait until we recuperate (and until the LD servers recuperate) for now.
And of course, good luck to everyone who’s still toiling away in the jam. You can do it!
Who says you can’t cook yourself a hearty meal in the middle of a grueling game jam?
So, I’ve come a looooong way, and actually had pretty much little to no stumbling blocks (okay, a few minor ones here and there, but nothing serious), which is =awesome=.
Here’s what I’ve got so far.
Pretty sure I have the cutest menu screen EVER.
Anyways, gameplay balance is still totally borked. You can’t die, you don’t have invincibility after getting hit, and the level is still a dummy test level. But it showcases the Jukebox destruction feature, which is SUPER COOL.
This is really shaping up well. I still need to do much more…maybe make another enemy or two, make another weapon or two, build out the levels, write out the instructions, and maybe write another song. It’s T minus…13.5 hours right now, which is scary because I know that like 6 or 7 of those hours are going to be spent sleeping. I’ll try to get a reasonable amount of sleep but I really can’t afford to sleep all day, I need to push through this…this can be so, so awesome.
Still a lot of stuff to do, but man, we’re really looking good here:
My game balance sucks right now, but I’ve got screen flashes, enemy generators, multiple powerups, room clearing, all sorts of stuff!
Yeah. That’s right.
Not the finalized version, but you get the idea.
Starting to look awesome. And yay, I drew demented christmas tree monsters. woohooo~
Well, none of the actual graphics are in yet. But I’ve got shooting, strafing, and now enemies! With cooldowns! And you can shoot the enemies and they die!
Even cooler, the white and black tiles you see? That’s using a tilemap in flashpunk–white is tile index 1, black is tile index 0. Now, the cool part is that the player’s bullets turn everything into odd-numbered tiles, and the enemy bullets turn everything back into even numbers! So now I have paintable terrain and walls, just like that. AWESOME.
After a bunch of trepidation, since I haven’t had good experience with map editors and tilemaps in the past, I seem to actually have something working. Woo! I have collision detection too! The sprite here for the player is just placeholder graphics ripped from my warmup game.
The real question here is if I can get the tilemaps to dynamically change. hmmmmmm.