About DDRKirby(ISQ) (twitter: @ddrkirbyisq)

I'm DDRKirby(ISQ). I do lots of cool stuff! Check out my main website here:
http://ddrkirby.com/

Entries

 
Ludum Dare 37
 
Ludum Dare 36
 
Ludum Dare 35
 
Ludum Dare 34
 
Ludum Dare 33
 
Ludum Dare 32
 
Ludum Dare 31
 
Ludum Dare 29
 
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

DDRKirby(ISQ)'s Trophies

Best Simulation Game - LD 37
Awarded by LDA
on January 3, 2017
Audio - 3rd Place - LD 37
Awarded by LDA
on January 3, 2017
Jupi's Jam Favorites
Awarded by Jupiter_Hadley
on December 1, 2015
Audio - 2nd Place - LD29
Awarded by r2d2upgrade
on May 20, 2014
Theme - 2nd Place - LD29
Awarded by r2d2upgrade
on May 20, 2014
Fun - 3rd Place - LD29
Awarded by r2d2upgrade
on May 20, 2014

DDRKirby(ISQ)'s Archive

Great job everybody!

Posted by (twitter: @ddrkirbyisq)
Tuesday, January 3rd, 2017 2:43 am

Thank you to the whole LD community for coming together for yet another great event.  Now that rating time is over, we can all take some time to kick back, reflect upon our progress, and of course, browse through some amazing games.  Remember, your game is your prize!  Take your scores with a heavy dose of salt and feel free to disagree with them if you think you know better.  What’s most important is that YOU are happy with the game you made!

A big shoutout to everyone who played and rated my game, which placed 15th overall and 3rd in audio!  I’m so glad people had fun and it was great getting to read all of the feedback you had.  Thanks so much!

Lastly, thanks to PoV for keeping things running smoothly even despite the SNAFU with ldjam.com.

See you all next time around. :)

–DDRKirby(ISQ)

Last call for ratings!

Posted by (twitter: @ddrkirbyisq)
Monday, January 2nd, 2017 6:40 pm

Less than 2.5 hours left!  It’s your last chance to play and rate Ludum Dare: The Game!

postmortemtitle

Lots of great games have popped up this time around, it’s been fun trying to rate a bunch!  Best of luck to everyone as the final hours approach!

Last chance to rate “Ludum Dare: The Game”!

Posted by (twitter: @ddrkirbyisq)
Saturday, December 31st, 2016 1:07 pm

Judging ends in just 56 hours!  This is your last opportunity to play and rate my entry, Ludum Dare: The Game!

postmortem1

A few selected words of praise from previous reviews:

Only one word comes to mind while I was playing this game… AMAZING! — KunoNoOni

This game should get to top 5, in at least 2 categories in my opinion. And I don’t think others who played this game think otherwise. — makiki99

The execution was perfect. Loved the audio and the graphics. Can’t believe you did this in 48h, such an awesome entry! — karlipoppins

My rhythm game “Tabla raver” was boring and drawn by a five-year old kid but got 86 overall! — dunin

This was great! This was crazy polished! How did you make this in 48 hours O.o!? The audio was amazing too. This was actually really fun and satisfying to play. This actually did a pretty good job of describing the life of a Ludum Dare creator. — Intelli-Gents

I love the idea behind this game. I never thought a game about making games would be this fun. — barkergames

 

For a post-mortem, click here.  For soundtrack download, click here!

Well, what are you waiting for?  Relive your Ludum Dare experience today in Ludum Dare: The Game!

“Ludum Dare: The Game” Post-Mortem!

Posted by (twitter: @ddrkirbyisq)
Thursday, December 22nd, 2016 4:14 pm

If you haven’t already, go play and rate my entry, Ludum Dare: The Game!

postmortemtitle
This time around I entered the compo division and decided to spend my 48-hour LD making a game about…making a game in 48 hours for LD. So meta! xD It’s lightly inspired by Game Dev Story, but certainly has its own unique spin on things.

postmortem1

I came up with a couple of other ideas for the “One Room” theme, including some sort of game where you need to tetris-pack furniture pieces into a gridded room, but the LD game seemed particularly exciting to me and I was already coming up with a bunch of ideas that I wanted to implement for it, so it was a no-brainer that I should run with it. It was a relatively obvious play on the theme — I mean, there I was in my room thinking “Hmm…if there’s only one room, what kind of room could it be? …oh, what about the one I’m literally in right now?“…but even so, I decided that I should just go with it and not overthink things too much.

Overall I’m really happy with how the game turned out! It’s a completely new style of game for me and is heavily UI-focused — you play the game using your mouse only, which I’ve never done for LD before! Getting to branch out and try something new was pretty fun, and although I definitely ran into some troubles and rough spots (more on that later), everything turned out alright in the end. I also managed to achieve my goals for this LD, which were pretty simple — to take care of myself, do a good job, and have fun!

As always, let’s take a look over what went well and what didn’t go as well.

 

What went well:

Game idea

The “LD game” game idea was one of the first main ones that I came up with and even before I had settled on it my mind was already buzzing with different interesting ideas that I wanted to incorporate. Sometimes you get a good idea and you just feel great about it! There are actually a ton of unused ideas that I would have loved to include but didn’t have time to implement, including:

– An entire “pre-compo” phase where you get to choose what to prioritize: purchasing supplies, getting rest, watching the keynote, making an I’m In post, writing starter code, etc.
– Having to select between multiple coding frameworks, e.g. Unity vs C++ SDL vs GameMaker, each with its own pros/cons
– A pet cat that you can feed, play with, and pet to improve your happiness
– Animations for each of the actions, like coding, making music, etc. that would change in intensity during high productivity (a la going Super Saiyan)
– Random events, like power outages, bluescreens, getting sick, kitchen fires, telemarketing calls, noisy leafblowers waking you up from sleep, etc.
– Option to “phone a friend” for help, either with debugging, remotivating yourself, playtesting, etc.
– Different “moods” for the character portrait (right now it’s always just the same smiling face)
– Very simple minigames that you play for the different actions instead of just waiting for time to pass. Different coding frameworks and game genres/design ideas could correlate with different minigames
– More choices for what to work on when designing/doing artwork/etc.
– More choices for what direction to take the game, e.g. focus on speed but sacrifice quality
– A “brainstorming” phase where you get random ideas and have to decide which one to stick with — affects starting points and other bonuses

As a result of me being so hyped about the game idea, I actually did a record-breaking amount of work on Friday night. Usually I spend Friday night purely on brainstorming as well as setting up a basic project and then going to bed, but this time around I kept chugging along until pretty late in the night doing artwork and implementing things. Here’s what I had at the end of Friday night already:

progress_1

While none of the actual gameplay is there, the basic room is already fully drawn, the dialogs are working, and all of the basic tech is in place! That’s pretty good for Friday night!

 

Unity (specifically, coroutines and UI implementation)

Holy cow, I would NOT have been able to pull off this game using my old Haxe toolchain. This was my first time using Unity for a solo compo entry, and it overperformed again! For this game I needed to create a whole bunch of different UI dialogs, complete with word-wrapping, 9-slice background images, etc. and doing all of that programatically would have been a legitimate nightmare — having to deal with a full compile cycle every time I wanted to tweak the positioning of a UI element would just take way too long. Thankfully the Unity 5 UI system worked out really nicely and I was able to just place everything using my visual editor. Whee!

Screenshot 2016-12-22 13.06.01

I also made =extensive= use of coroutines, which are basically a way for you to have a function yield and execute across multiple frames. A lot of the flows in my game were time-based, so it made much more sense to write something like:

// Displays a dialog box, then waits until it closes.
yield return DialogBox.Show("Starting a new atcion!");
// Start playing sounds, etc.
...
// Wait for 5 seconds until action completes.
yield return new WaitForSeconds(5.0f);
// Show results, then wait until results display is closed.
yield return ResultsBox.Show(
 "I finished!",
 new[] { string.Format("+{0} Art", art) },
 new[] { "icon_art" }
);
// Cleanup, stop playing sounds, etc.
...

There was a little bit of trickiness around making sure that there were no messy interactions between different flows (I used simple locks to guarantee that only one dialog sequence could be showing at a time), and making sure that you could interrupt a flow if you decided to start a different action (in that case, I needed to ensure that we still did the appropriate cleanup for the old action, stopped playing any action-related sounds, etc.).

postmortem2

One thing I did miss slightly was the ability to get return values from coroutines. I had a common case in my game where I needed to show some sort of selection UI, such as picking between two choices, or selecting a new action to do, and it would have been nice to write:

// Yield on a coroutine that returns an int value.
var myCoroutine = StartCoroutine<int>(ChoiceBox.Show("Which thing should I do?", "Do this thing", "Do that other thing"));
yield return myCoroutine.coroutine;
// Use the int value for something.
int selectedChoice = myCoroutine.returnValue;

While you can’t do this out-of-the-box with Unity, you can write your own coroutine extension methods that will allow you to achieve the same thing. There are several different proposed extensions, and I’ve actually used this particular one before to achieve exactly what I described above, but unfortunately I just didn’t have that tech set up and I couldn’t be bothered to re-implement it again during the compo. Instead I had a rather janky approach where I passed in an anonymous lambda method into the coroutine which it would invoke with the return value:

// Pass anonymous method to set selectedChoice to either 0 or 1.
int selectedChoice = -1;
yield return ChoiceBox.Show("What thing should I do?", "Do this thing", "Do that other thing", {val => selectedChoice = val; });
// Use the int value for something.
...

This is a bit uglier, but works just fine in practice.

 

Overall gameplay

While there are a bunch of things I’m not quite as happy with about the gameplay (more on that later) and a bunch of things that I didn’t have time to implement, the gameplay and content of the game turned out to be pretty fun overall despite its rough edges, and the feedback that I’ve received so far indicates that people are having a good time with it. I think the main thing is that it’s just FUN to think about trying to manage your time by doing these different things and seeing the results that happen. When you first start playing the game you don’t really know in advance what kinds of benefits or disadvantages each action has, but I think that’s sort of the fun itself in that you’re sort of exploring the different options available to you. This also gives the game a bit more replay value as when you play it a second time you’ve got a better handle on what needs to be done and what options are important.

I also learned my lesson from Grow Your Love (which was way too punishing with its grading) and ended up with a completion/grading scale that I think people will have an easier time with. It’s always hard to balance your own games because you’re always the foremost expert on them and as such have such a huge leg up on everybody else, but I came up with the “requirements” system that would serve as a rough difficulty adjuster, and then made it so that you could aim for a higher overall score on subsequent playthroughs.

postmortem7

In the beginning I had this hastily-thrown-together algorithm that would calculate your final overall score and just spit out a number with absolutely no explanation, and one of the features I decided to spend my last precious hours working on was the detailed scoring breakdown, along with revamping the scoring system itself. This was WELL worth it, as being transparent about how you’re actually graded means the player actually understands why they received the rating they did and allows them to know what to change during their next playthrough. Plus it’s just fun to be given a detailed report on your actions :). A lot of key changes like this happened during the later part of the compo and I’m really glad they made it in.

 

Artwork

While pretty much all of the artwork for the game was static (I had noooo time to put in fancy animations), I’m actually pretty happy with how the room came out, and had quite a bit of fun drawing it as well. This is probably the most intense pixeling I’ve done for LD (art is definitely my weakest area), and I’m happy with how the game came together stylistically. I used a few different references for the room graphics, including random pixel art rooms that I found via google, as well as Earthbound / Undertale graphics. The dialog box visuals also fit very well, as did the font that I chose.

 

Random names, comments, and the “refresh page” joke

One of the funnest parts of the entire creation process was developing the random game name generator, which can come up with hilarious titles such as “Tabla Hero”, “Retroidvania Maker”, and “Bullet Hell: Championship Edition”. The generator isn’t actually that complicated, as I didn’t have time to make anything fancy — it just selects from a random bank of prefixes and a random bank of suffixes and puts the two together.

Here are the prefix/suffix lists for the Rhythm Game genre, for example:

prefixes = new[] { "Bongo", "Tabla", "Dubstep", "Chiptune", "Bagpipe" };
suffixes = new[] { " Hero", " Band", " Karaoke", " Idol", " Raver" };

So you can have “Bongo Band”, “Dubstep Idol”, “Bagpipe Hero”, and so on and so forth.

The random theme selection is a little more simple, as I just put in a list of all of the themes from the theme voting rounds for LD37 and have it randomly pick one.

The randomized comments were also fun to make, and I think add a nice touch to the final scoring. All of the comments are pre-written, but the game selects different ones to give you based on your ratings in each of the categories. Also, you get more comments if you have a better community rating (mostly from posting to the LD blog).

progress_3

Finally, the “refresh page” theme announcement joke at the beginning of the game is something I just knew I wanted to have, as it’s (funnily enough) such a consistent and iconic part of LD. So that made it into the game pretty early on.

 

Posting animated GIFs

Lastly, this is a minor point, but I have to say that posting progress updates got a lot more fun now that I can capture animated GIFs and post those as well. I’m using ScreenToGif for this at the moment and it’s been working well!

 

What didn’t go as well:

Gameplay balancing

Thankfully, I managed to do an initial rework of the gameplay balance and tweaked a lot of the numbers during that pass. Some changes I made that got into the final game:

– In the beginning productivity affected the speed at which you completed actions! I changed that so that it instead affects the amount of “points” that you earn for each action.
– Point values used to be much lower. For example, a single coding action would get you between 2-3 points. I restructured all of the point values so that your overall ratings would be on a ~rough scale between 0 and 100 (though you can go higher of course), and I think that worked out better.
– As mentioned earlier, the overall rating system went through a big rework. It used to be much more nebulous and also penalized you very heavily for your weakest category by weighting it more heavily in the final average, to encourage you to diversify your efforts.
– A lot of minor tweaks to numbers, including the rate at which each “need” counter goes down.
– For most of the project’s lifecycle there were only the “standard” variants of actions — for example when you coded a new feature, it would always take 4 seconds and you’d get ~20 points (and sometimes a bug). Now, there’s a 25% chance that you get an “I’m stuck feature” that takes 6 seconds, for which you can chose “Read the Manual” or “Search StackOverflow”. One of these choices gives you ~20 points and the other gives you ~30 points, so depending on your choice you could actually be less efficient than normal. There’s also a 25% chance that you get a “long feature”, where you can choose to “Finish it ASAP”, or “Take your time”. Both result in ~40 points, but the “Finish it ASAP” option is 3 seconds faster at the expense of creating a random amount of bugs. There are similar variants for the other actions as well.

postmortem3

These changes did a lot to clean up the overall gameplay. However, even after all of these changes, the game could probably still use some rebalancing. Some issues off the top of my head:

– Having only two food options is pretty limiting, especially since both have their drawbacks (homecooked meal takes a long time, frozen pizza isn’t consistent in providing enough substance). That’s not the worst, as it creates and interesting decision, but I think more choices would have been better.
– Some of the actions are just not beneficial on average right now. I think that’s fine to some extent, but it should probably be a little closer.
– The relative timescales work out really weirdly, as microwaving a pizza takes 30+ minutes for some reason (!). This works out just fine in terms of gameplay, but makes no real-world sense.
– The medidate and bounce on bed actions aren’t too great in terms of their outcomes. They have a 50% chance of a negative/nothing effect and 50% chance of a positive effect, but the positive effect isn’t really enough to outweigh the cost.
– Browsing other people’s posts is pretty cost-inefficient as it gets you the same amount of motivation as posting to the blog, but gets you much less progress points.
– It’s a little too easy to meet the requirements of the harder genres. I DO think that it’s correct to allow people to be able to hit the MMORTSRPG requirements, and I think it’s better that I erred on the side of too easy rather than too hard, but right now it’s a bit =too= easy.
– I did a good job of raising dialogue notifications when your need levels fall below a certain point, but it can be jarring when two or three of these happen at the same time, especially if you’re in the middle of a task.

 

Gameplay format (?)

This one is a bit more nebulous, but at the end of Saturday I was really concerned about the direction that I had taken with the gameplay, as it didn’t really seem very interesting at all. You just chose the actions that corresponded to your requirements, consistently got points (remember, there were no variations yet), and did the corresponding “need” action whenever your need levels were low. There wasn’t a lot of strategy, nor was there a lot of real decision-making. More importantly, there just wasn’t much zany action going on!

In the end I managed to salvage things by at least adding some interesting choices such as the variants mentioned above (which I added for coding, art, music, and design), as well as adding some more “fun” actions such as bouncing on the bed and meditating. But I wonder if it would have been better to focus more on the “storytelling” aspect of the game rather than on the strategy / time-management aspect, especially given that the time-management aspect didn’t involve that many decisions (maybe it would be different if you had to play minigames for the different actions??).

postmortem4

So I wonder if it would have been a better call if I had come up with an experience that was a little more scripted instead. Something akin to a visual novel, perhaps, with randomized events pulled from a large set. Each choice you made would still affect your games’ stats, but instead of becoming a game about looking at numbers it would be more of an interesting story with zany things happening. You’d have less control as the player, but as the creator of the game I’d be able to ensure that you experienced many more different events. It would play out similar to a choose-your-own-adventure story, I guess. Again, I’m not entirely sure that would have worked out better and by the time I was considering this option seriously I decided that it was unfortunately too late to really make that design chance.

 

Minor Unity audio issues

This is a really small silly one that I already knew about, but still annoys me so I’m still writing it here.

The current build of Unity has an issue with WebGL builds such that the beginning part of every sound is cut off when played back. The result is that the start of each sound sounds a little different (noticeable especially for the kick drums in the intro sequence, and the text dialog sounds), and more importantly, seamless music looping doesn’t work because there’s a gap. I haven’t tried every possible compression type, but I DO know that making your build with an OSX machine instead of Unity on Windows does fix the issue. So it’s just a platform-specific bug with the Unity build process that hasn’t gotten fixed yet. Luckily I have an OSX laptop so I was able to replace the build after the fact, but this still annoys me. I’ll have to file a bug report for this at some point to make sure it gets fixed.

There was also a minor issue with a small pop/crackle effect that occurred at the end of sample playback, which was especially noticable with the text dialog sounds since I was playing so many of them each second (resulting in a buzzing noise when they all ended). Again, minor stupid things, but just annoying.

 

Overall this entry was a blast to make and I hope you guys enjoy it too!  I don’t have plans for a post-compo version, as I think I like the game enough as it stands.  But thanks for reading through my detailed post-mortem!

One last note: the soundtrack for the game is also available to download for free on my Bandcamp site at https://ddrkirbyisq.bandcamp.com/album/ludum-dare-the-game-original-soundtrack.  Go grab it now! 😀

 

“Bongo Idol”

Posted by (twitter: @ddrkirbyisq)
Sunday, December 11th, 2016 12:07 am

progress_4

The random game name generator is working well 😉

You all know how it is…

Posted by (twitter: @ddrkirbyisq)
Saturday, December 10th, 2016 8:49 pm

progress_3

An important part of the LD tradition.

And now for a break

Posted by (twitter: @ddrkirbyisq)
Saturday, December 10th, 2016 7:13 pm

2016-12-10 16.08.59

Don’t forget to eat, folks!  I almost did =P

Progress, Sweet Progress

Posted by (twitter: @ddrkirbyisq)
Saturday, December 10th, 2016 6:48 pm

progress_2

I’ve now got your stats displayed on the right side of the screen, and I’ve got a basic action working!  In the future the results will be a little more randomized — not every feature comes without introducing bugs, for example!

I’m worried about trying to balance all of the numbers correctly…

Calling It a Night!

Posted by (twitter: @ddrkirbyisq)
Saturday, December 10th, 2016 7:18 am

Probably the most productive first day I’ve ever had for LD — for me usually Friday night is solely for brainstorming and I prefer to start fresh on Saturday morning by diving into actual implementation after getting a concrete idea in my head.  However this time around the idea really jumped out at me and I just started chugging along for quite some hours!

I’m sure I’m not the only person who thought of this, but I’m super excited to work on it anyways.

progress_1

I’ve got some basic art started for the room (which is not too shabby, if I do say so myself), drew a dialogue portrait, even, and text and choice systems are set up to go!  Of course, tomorrow I’ll have to implement some actual gameplay…@_@

A room appears!

Posted by (twitter: @ddrkirbyisq)
Saturday, December 10th, 2016 2:48 am

Screenshot 2016-12-09 23.46.29

It feels EXTREMELY weird for me to start with artwork before doing anything else.  On the plus side, it’s not looking half bad!

DDRKirby(ISQ) is IN for LD37!

Posted by (twitter: @ddrkirbyisq)
Thursday, December 8th, 2016 11:58 pm

DDRKirby(ISQ) here — I’m happy to report that I will be IN for LD37, this time doing the solo 48hr compo!  This is my first 48-hour compo since Melody Muncher back in LD33 so I’m sure I’ll really be feeling the time pressure here (48 hours feels soooooooo short compared to 72 hours!).  This’ll be my 14th time doing LD — really starting to become a veteran at this now!

Last time around me and my friend got off to a false start but scrapped what we had and instead made Watch for Falling Rocks, a fun and light-hearted game about a princess defending herself from suitors by dropping heavy objects on them (it’s now available for iOS and Android, by the way!).

I used to set up goals and ambitions for myself for each LD, but to be honest, this time around my goals are mostly the same as last time — take care of myself, do a good job, and most importantly, have fun.  After competing in LD for the umpteenth time it sometimes is easy to forget about what we’re all really here for: because making a game is damn fun! 😀

This’ll be my first solo compo using Unity, which is exciting!  I’ll be making use of starter code, which you can find here.

Other than that, it’s the usual suspects:

  • Unity3D with C#
  • FL Studio for music and sound effects
  • LabChirp for additional sfx as needed
  • Aseprite for pixel art, perhaps with occasional support from GIMP for general image processing
  • Tiled and Tiled2Unity, if I need tilemaps

Good luck everybody!  Go and stock up on your supplies, food, and rest…I’ll see you on the other side!

Just what I needed

Posted by (twitter: @ddrkirbyisq)
Monday, August 29th, 2016 3:33 pm

Screenshot 2016-08-29 13.32.27

Excellent.

Still Alive

Posted by (twitter: @ddrkirbyisq)
Monday, August 29th, 2016 4:27 am

We’re still alive!  T-minus roughly 15.5 hours and we’re calling it a night to get some essential ~6-7 hours of sleep before the final push.  Things are now in overdrive and I’m leaving my computer on overnight with a million browser tabs open (a bunch of which are pages on freesound.org), 5 different DAW instances open (some to songs, some to sound effect projects), as well as Unity, Monodevelop, etc etc.  Yeah, it’s crunch time and we do whatever we need to to get stuff done at this point.

We scrapped our entire project late on Saturday night so we essentially made all of the game today, working on a “48hr jam” timeline.  Astoundingly, we’re somehow now in good shape the major pieces are all coming together now.  I still have to really work out the gameplay balance, progression, and one or two other mechanics, which is slightly worrisome, but we have good plans for tomorrow morning to take care of all of that, hopefully efficiently.  In addition I’ve already done or started a good chunk of the work that usually goes on on Monday at the 11th hour — stuff like menus, copy protection, making the intro, tweaking all of the sound effects, and all that stuff.

I’d love to post screenshots and WIP devlogs but there ain’t no time for that now!  Congratulations to all you compoers who finished the 48hr race, and for everyone else in the jam, hang in there!

zzzzzzzzz

Wheeeee

Posted by (twitter: @ddrkirbyisq)
Sunday, August 28th, 2016 12:24 am

It’s 28 hours in and after banging our heads for too long we are scrapping everything we worked on to start on a completely different game.  Wooooooooo @_@

DDRKirby(ISQ) and Kat are in!

Posted by (twitter: @ddrkirbyisq)
Thursday, August 25th, 2016 2:36 pm

DDRKirby(ISQ) here, happily reporting that together with my partner-in-crime  Kat (who will again be handling art and animation), we are IN for LD36!

This is my 13th time entering Ludum Dare, and our 6th time teaming up together.  Last time for LD35 we ended up making Nyamo’s Adventure, a cute 2D metroidvania-style platformer which ended up taking 8th place overall!

This time we’ll be leveraging some starter code — specifically, the Harmonic Unity utility framework that I’ve been working on for Unity3D.  It’s filled with a bunch of stubs and todos and only some of the functionality is there right now so I would certainly not recommend anybody else use it, but hopefully it’ll be growing into something more stable and fleshed out that will be able to provide people with an open-source solution to a lot of common boilerplate problems that arise when doing standard 2D game dev with Unity — just little things dealing with audio, screen fading, input handling, etc.  I’m particularly happy with the platformer physics code, which allows you to actually have sensible 2d platforming physics (e.g. collision handling, no inertia, it “just works” like you’d expect from something like SMW), and even has custom collision handling code that allows you to do more flexible things like make one-way platforms and pushable blocks!  How many other non-physics-based platformer frameworks allow you to push a set of 3 blocks together, out of the box? =P

Anyways, aside from that, we’ll be making use of:

  • Unity3D, coding in C# (this worked great last time so I’m looking forward to working with it again)
  • FL Studio for music
  • LabChirp for additional sfx as needed
  • Tiled and Tiled2Unity, if we need tilemap support
  • GAF along with swf flash files, if Kat decides to animate in flash (new!)
  • Paint Tool SAI, if she decides to do traditional animation instead

GAF is new tech that we might be trying out, for importing flash animations into Unity.  It really depends on how we decide to do the art, but flash can certainly be more convenient for certain types of animations, and after some experimentation I think we can get GAF to do what we want in terms of importing into Unity and controlling playback as needed.  It makes me a bit nervous trying to use something that isn’t battle-tested and proven, but I guess there’s usually always at least one thing in a project that’s like that.

My goals this time are really…just to “have a good weekend”.  There is actually one thing that I want to achieve with our game itself and that is to let Kat take the reins in terms of the direction we take things, which I think will be a great changeup, but aside from that I’m really just hoping that I’m healthy and happy as I work on our game.  It really sucks to be stressed or losing motivation (or worse, sick) as you try and jam out something, so I’m just hoping that everything goes well on that front.  Past that, I’m also looking forward to stocking up on groceries and food so that we can treat ourselves well during the weekend :)

Lastly, I’m also hoping to use this opportunity to take ratings off of my mind and really just make whatever the heck we want to make, without any outside pressures or anything like that.  There have been LDs in which I have been a little more conservative with my planning and execution because I want to cater towards a mass audience, but this time I’m open to everything!

Good luck everyone!  Be sure to get some good rest tonight, make sure to stock up on supplies, and be sure that all of your tech and tools are in place!  I’ve still got some more prep work to do myself — need to set up a unity project, create a bitbucket repo, add in my frameworks and libraries, apply the right settings, etc…

Some things to think about

Posted by (twitter: @ddrkirbyisq)
Monday, July 25th, 2016 5:31 am

Hi there!  My name is DDRKirby(ISQ) — I’ve been participating in Ludum Dare enthusiastically for the past 5 years, having submitted 12 games to both the compo and jam events.  6 of these entries have placed in the top 10 overall (not just trying to boast — this will be relevant in a later part of this post).

As many of you know already, there has been a bit of a situation regarding the upcoming August LD event.  A poll was made, with the end result being the planning of an August LD event on the current LD website without using LD’s categorical 5-star rating system.  As you might expect, this also triggered some community backlash.

I am not affiliated with Ludum Dare officially and am in no position to make demands on how the August LD event should or should not be run.  However, I wanted to provide a personal viewpoint on some of these issues.

My goal in writing this post is two-fold:

  1. To highlight some of the major disadvantages and problems with LD’s rating system.
  2. To offer some suggestions for how we can best help the no-ratings August LD event to succeed.

Please note that I am NOT attempting to convince anyone that Ludum Dare should not have a rating system.  I think that most people understand that having a scoring system can be extremely useful and valuable.  However, I think it’s important that everyone also understand the potential issues and problems involved with the current rating system and why many of us would prefer to have an August LD without it.  Let’s get right into it:

 

Winning Ludum Dare is a Big Deal

One of the things I really like about Ludum Dare is the fact that there are no monetary prizes.  As the rules page puts it, “Your prize is your product.” (and to a lesser extent, the feedback that you receive on your game as well)  This is supposed to help foster a low pressure, non-competitive environment where people can simply focus on making cool games, which is great!

However, one thing I’d like to make clear is that winning Ludum Dare is a Big Deal.  Being highlighted as one of the winners, especially in the Overall category, guarantees you and your game a TON of exposure, not only to fellow Ludum Dare entrants, but also by gaming portals, indie game sites, YouTube videos, twitch streams, and more.

When Ripple Runner won 2nd place overall in LD29, I got a huge spike in followers and network traffic.  Not only did several gaming news sites feature it in articles, but web portals started outright STEALING my swf file and hosting it themselves to profit via ad revenue.*  A Korean stream video of my game later went viral, hitting over 80,000 views.

I sell my game soundtracks on my bandcamp site.  Despite having a minimum price of $0, sales from the Ripple Runner soundtrack earned me $200 in profit after LD results were announced because of the wide attention garnered from my 2nd place ranking and would go on to earn me over $350 in total in the following months.

In other words, placing 2nd in Ludum Dare had MONETARY implications for me, almost as if I had received a $200 cash prize — and this is for a pay-what-you-want album!  I can only imagine that things would have been even bigger if I had come in 1st place, or if I had charged $5 minimum per album sale.

I would love it if Ludum Dare were not about winning and losing, but the fact is that the benefits gained from placing highly are very real and from this point on I have always felt mental pressures in the back of my mind to do my best to score highly as a result.

This unfortunately provides a large incentive for cheating the system.

 

Ways to Cheat the System

PoV has already outlined in his post that there has been evidence of cheating within LD, including:

  • A user that created multiple accounts just to give their game 5 star ratings.
  • Games that have more votes than downloads (i.e. people rated them without even playing).
  • Users that voted for many entries in an extremely short period of time (again, indicating fake “throwaway” votes that were made without playing the actual game).

These things are not unique to Ludum Dare.  This post from GameJolt outlines some additional ways in which people have tried to cheat around the rating system in their own game jam.  Remember, these are community game jams without monetary prizes.

  • An individual who hacked into/used multiple Facebook accounts to sign up and make it appear as though different people were rating their game.
  • People giving their own entries many “4-star” ratings to avoid arousing suspicion from giving themselves 5-star ratings.
  • Around 60 entries were found to have cheated by either starting early, or by using disallowed 3rd-party assets.

If I were 100% serious about winning a Ludum Dare compo and was prepared to cheat the system in order to do so, I would probably leverage some or all of the following additional strategies:

  • Enlist one or more artists to draw artwork and animation for the entire game, but still submit it to the compo event.
  • Use tilesets, background animations, and menu systems made completely ahead of time.
  • Subvert the time limit — when submission hour ends, submit a broken link to the game, but keep working for another 48 hours.  When I’m done, upload an incredibly polished game and claim to “fix the broken link”.
  • Create many user accounts using different IP addresses.  Submit random scrappy game projects under those accounts to avoid being flagged as fake accounts.  Using these accounts I could upvote myself, then be on the lookout to downvote other people’s games that seem popular.  Other randomized votes could be applied to avoid easy detection.

Some of these methods would be very difficult, if not impossible, to track using the current LD rating system.  Of course, any of them would constitute blatant cheating and disregard for the rules and as such I would never do any of them.  But the point I’m trying to make is that there is both incentive and capability for cheating here.  In addition, you wouldn’t even have to do very much of it: For Ludum Dare 28, our Jam entry missed hitting 1st place by a mere 0.02 points (4.39 vs 4.41).  As few as THREE fake 5-star ratings would have changed the outcome.

There are a multitude of ways in which the system could possibly be augmented and improved in order to prevent, mitigate, or detect the effects of cheating.  Again, the gamejolt jam post illustrates one example of what this looks like (note that it involves coordinated efforts as well as manual intervention).  However, it is IMHO unrealistic to expect any of these changes to be implemented for the upcoming August LD.**  How this should be dealt with in the future is outside the scope of this post.  I merely wanted to illustrate the potential problems that exist in the current system.

 

Ratings Can Cause Frustration For Jammers

So far the cheating issues I’ve described perhaps only matter significantly for top-ranking games, where there is a lot of potential recognition and attention on the line.  But for anyone, having your LD game judged on a quantitative — yet extremely subjective — numeric scale can be frustrating in other ways as well.  This post and this post highlight some of these frustrations, including the following:

  • Numerical ratings encourage direct competition with and comparison to other games.  Instead of supporting each other, we can become frustrated when “bad” games score higher than ours and are incentivized to rate other games more harshly.
  • Focusing on quantitative scoring results in a larger emphasis on evaluating a game as great or poor based on a set of numbers rather than providing constructive feedback on what could be improved.  (What’s more important, a few well-written reviews or a single aggregate number?)
  • Some users have complained that taking a straight average of scores means that games with less ratings tend to have better chances at scoring particularly highly due to how variance works.
  • “Celebrity” competitors sometimes*** being able to leverage their past success and popularity to earn higher scores (probably without even meaning to).
  • “Gimmick” entries being voted consistently higher in certain aspects (e.g. rhythm games or audio-centric games regularly voted #1 for Audio).
  • Wide voter preferences for certain stylistic choices (e.g. pixel art, chiptunes).
  • Ratings that just don’t make sense or indicate that users to not understand how to rate games properly (e.g. Games with NO MUSIC OR SOUND receiving audio ratings between 1.5-2 stars).
  • Ratings that are based off of the post-compo version of a game, not the 48 or 72 hour compo version (you can tell by reading their feedback comments).
  • Cheating too easy (as described above in the previous section).

I am NOT trying to say that these factors are pervasive and that our rating system is inherently terrible.  These are just some potential disadvantages that I think people should be aware of and paying attention to.

Personally, I believe that the pros of a rating system can well outweigh the cons if handled properly.  However, I’m also interested and hopeful to see what a Ludum Dare without ratings will be like, if only as a test.  If it fails horrifically, we’ll know to never do it again in the future, but I’m hoping that we can prevent that and instead make this August LD a success by focusing on qualitative feedback and community interaction instead numerical ratings.

This is where you come in.

 

How You Can Help – Leave Detailed Comment Feedback

One of the main benefits of the categorical rating system is that it can provide you with a detailed breakdown of what areas you did well in and what areas you need to improve on.  This is extremely useful, but could we do the same thing by using comments?

Here’s an example of a comment that I would give in a typical Ludum Dare, alongside 1-5 star ratings for each category:

Cool game, and nice job on your first LD!  I especially liked the animation of the main character. Next time try to add some sounds!

For our August LD, we will not be using the categorical rating system.  Therefore, I will be using the following categorical comment template to provide more detailed feedback:

Innovation: This was not too much different from a standard platformer here, but I didn’t really mind.
Fun: The game was pretty fun at the beginning, but got a bit repetitive, especially the water level which I think involved too many difficult jumps.  Maybe adding another powerup would keep the game interesting all the way through?
Theme: The main character was a goat!  This definitely fits.
Graphics: I really liked the animation of the main character. The background for the fire level was a bit too distracting, though.
Audio: The music was a bit repetitive, but catchy. You should try to make some sound effects next time, with a tool like sfxr, bfxr, or Labchirp — it only takes a few minutes and goes a long way towards making your game feel more complete!
Humor: N/A
Mood: I really liked how each level had a different theme.  I think it worked very well to establish a mood.  As I mentioned, sound effects would really help out here!
Overall: This was honestly one of the better games that I’ve played so far this LD.  It was a little buggy and could definitely still use some work, but I would love to see you work on a post-compo version.  Feel free to leave me a comment on my game’s page if you do!

Congratulations on finishing your first Ludum Dare!  I’d really appreciate it if you could take the time to leave some feedback on my game in return.  You can find it at […].

IMHO, this type of detailed feedback is infinitely more valuable than a simple numeric rating.  I would highly encourage others to provide comment feedback in a similar style.

 

How You Can Help – Comment Back

Several people have expressed concern about the ability to receive enough feedback and comments on their games due to the lack of ratings and rankings as voting incentives.****

You’ll notice that at the end of my example comment I requested the game’s author to provide me with feedback in return.  This sort of “I’ll rate yours if you rate mine” trade has been a great way to get additional feedback in past LD events, independent of the “coolness” system.

For this Ludum Dare I will be making it a point to return the favor by playing and giving feedback to anyone who leaves feedback for my game.  It would be great if others could do the same.

In addition, we should continue to leverage the compo site itself to help out jammers in need of additional comments.  Don’t have enough feedback?  Post some interesting screenshots of your game and ask for comments.  Not sure what games you should play?  Make a post inviting people to comment with links to their games.  Let’s all help each other out! :)

 

How You Can Help – Curate Outstanding Entries

Another benefit of the rating system is the ability to select the cream of the crop based on the ratings accumulated through the voting period.  The best of the best should absolutely be selected and called out so that we can all see what truly amazing games can come out of a single weekend.

For the August LD, we won’t have any sorted ranking lists from which to select these entries from.  Therefore, the onus falls on us, the jammers, to informally curate the top entries.

Some LD jammers have already been doing this in the past by posting lists of their favorite entries, or even creating video compilations or twitch streams of notable entries.  This is great, and I would encourage more jammers to start making these sorts of posts, and/or upvoting other posts if you particularly liked a game or two.  I have personally never made a “My personal favorites of LDxx” post on this site before, but I plan to for LD36.  This is your chance to shine the spotlight on whoever you think deserves it most.

 

 

 

I know that this August LD has been on shaky footing and I understand that unfortunately, not everyone will be entirely happy with its outcome.  I really hope that the community can come together and give it their all despite that.  If we put in a little extra effort, we can definitely ensure that Ludum Dare 36 will be a great success.

(It would be awesome if some of these recommendations could be highlighted in a keynote or an announcement if people agree that they are good ideas.  However, I must emphasize that they are only my personal suggestions and again, I am in no position to tell other people how they should or shouldn’t handle LD.)

Thank you so much for reading.  See you all in a month, and I’m looking forward to playing (and commenting on) your entries! 😀

=====

Addendum: Regarding Other Options for the August Ludum Dare
There are a myriad of ideas and suggestions that have been proposed to change or improve LD’s systems, or different methods in which the upcoming August LD should be run.  Some of these ideas are really interesting, but I don’t think this is the time or place to discuss most of them as compo is already happening next month and it will be difficult to enact any meaningful changes at this point due to extenuating circumstances.  I’m personally happy with any decision regarding this, but chose to focus on the reasoning behind the current state of things as well as the ways in which we can make the most of it.
That said, I would like to specifically address the idea of preserving the categorial 5-star rating and scoring system, but not displaying an actual sorted “top 100” ranking of entries.  This idea seemed great to me at first until I realized that anyone could probably just scrape the LD database and generate the top 100 list themselves.  We already have people who are well-versed in scraping LD stats for this type of information — I don’t think obscuring the sorting order is necessarily the best way of solving this issue.
If we were interested in achieving something similar, I’d be curious to see what LD might be like if your game’s rating was sent to you =privately= (as in, not displayed publicly anywhere), as that avoids some of the issues involved with cheating and competition while still providing a numeric score for your own personal use.  But again, that’s not something that I can say is possible or even advisable.

=====

*I’ve since added rudimentary copy protection to my games to avoid similar incidents.

**If I am proven wrong by a community effort, that’s great!  However, such efforts are not something I am involved in nor are they the topic of this post.

***Yes, not always, I’m aware.

****Although I personally feel the opposite, since I have often left little or no written feedback on a game at all because I felt like my 5-star rating encapsulated my vote.

[cache: storing page]