LD25 December 14–17, 2012

‘The “Great” British Weather’ Post Mortem

PostMortem

Play it here: http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=17874

Ludum Dare 25 (48 hour Compo)was my first Ludum Dare, and only really my second attempt at starting and finishing a large game. Of course I had tinkered making variants of Snake and such beforehand but other than Neutron Craft I hadn’t much experience going start to finish on a big project.

As such, I kept my scope small and aimed to make sure I had a finished game. I’m happy to say I completed that goal, but of course there’s always more you wish you could have done:

What went right:

  1. I finished the game.
    Really happy about this one. But pretty much mentioned this above.
  2. The aesthetic.
    I am not an artist. Heck, I can barely draw a straight line. But I feel by taking advantage of a minimalist theme, and making use of effects like particle emitters I was able to get a lot more mileage out of my bad art. Heck, people have even been saying the art looks great in the comments!
  3. It doesn’t break (mostly).
    Luckily, I haven’t had anyone complaining my game is downright broken (yet – touch wood). As far as I can tell it shouldn’t actually crash (at least not my work). There is a slight issue but that’s for the next section…

What went wrong:

  1. It’s not that clear how the scoring works.
    I probably should’ve listened to my peers earlier on about getting a much stronger game aspect into this, as for at least most of the first day it was just an interactive weather simulator/toy. I spent so long in the first day implementing the three weather features that day 2 became making a scoring system out of it, and left no room for anything else. I’ve had criticism that the scoring method isn’t clear (which I agree with), however I also didn’t want to just spell it out so people knew the exact formula. But also, I was distracted more by my “cool idea” for the theme, than actually how I was going to make it a game.
  2. The format isn’t that accessible.
    I used XNA, as it’s something I’ve been messing around with a lot recently. I wanted to keep practising with it so I stuck with it, but next time I’d like to make my game easier to play for more people.
  3. Something crazy happened with the compiled executable…
    So, the weirdest thing occurred in the dying hours of the compo. I (stupidly) only ran the compiled executable of the game, outside of the debug mode in Visual Studio, for the first time, and found if you clicked off the window, and left it so it wasn’t the “active window” for more than about 5 seconds, the game crashes. For no reason at all.
    It’s funny too, that the game logic and audio still runs in the background (I can hear it get to the game over screen). And yet the window is unresponsive, due to some AppHangB1 error. I’m certain it’s not my code (at least directly). I tried so hard to fix it but just had no time. Thankfully it’s not a game breaker – just don’t click off the window while playing! (Which I assume most people wouldn’t do anyway :P)

Lastly, I leave you with my timelapse! Thanks for reading :)

http://www.youtube.com/watch?v=2SsaEmsWmUw

The Most EVIL Breakfast – postmortem

The Most EVIL Breakfast post mortem.

Aww yeah! This was a really fun theme, I admittedly spent the first few hours after I woke up trying to figure out what to do, I’d had thoughts of making vertical shoot-em-ups where you place enemies strategically in-order to destroy the hero plane , some ideas based around towers and tower defense but in my crazy brain they seemed concepts which I thought a lot of people would do and I wanted to try and challenge myself with coming up with something different (at least different to what I’ve done before)

So, I wrote down a list of all the cool things that villains have / do, including:

  • Make awesome evil laughs
  • Sound like Skeletor
  • Own Underground / Moon Bases
  • Have hoardes of minions / robots / henchmen to do their bidding.
  • Own pets (think the claw from inspector gadget)

Next I thought, what would be a suitably evil task for the villain to perform. Whilst there were the thoughts involving destroying/ taking over the world I wanted my villain to be somewhat more odd, so I thought, what would be really unpleasant and how could it be worked into a game?

Now, mincing up things is a pretty nasty process and kittens are so cute. What could be more evil then sending out robot henchmen to mince up kittens into breakfast? Not much, so I went with that as the idea.

Next I had to think up a look, by now I’d already decided that I wanted to create a 3d world, erring on the low polygon side of things as much as possible with a minimal amount of effort.

The Evil Minion Robot takes form. Mwahahahaa!

The Evil Minion Robot takes form. Mwahahahaa!

Having recently played around with shaders inside unity I chose a simple, colour scheme of red, white and black and let myself run though designing a simple robot, basically from a collection of spheres and then some appropriately scaled world objects.

A Simple GUI

A Simple GUI

I started playing with animation in unity and was looking into ranged attacks for the robot minion to perform but kept my eyes on the time left and decided to cut that out and reduce it down to a simple cat and mouse affair.

Keeping everything (with the exception of the robot) as low-poly as I could meant for much faster modelling and by the end of the first day I’d got my 3d models all set-up, the beginnings of the world, some movement, and some crazy voices.

The final world inside Unity
The final world inside Unity

But there was one problem which I had to fix and it was important.

What would a kitten sound like being minced up?

Thankfully I had a hand blender in the kitchen so that was an obvious choice for the blades whirring up but it didn’t feel err meaty enough?

Luckily I was snacking on some hula hoops later on and they’re pretty crunchy, so I tried crunching some up with my fingers on the desk, pointed the microphone, overlaid the sounds and eurghh, it really sounded like what I imagined would be kitten bones breaking. Fairly scary sounds!

A while later I found myself not satisfied with just the noise so added some bloody particle effects and a camera shake for extra effect. You don’t ever see what happens to the kittens just the err….end result.

By this time I was feeling like quite a monster for making something like this so it was the best time to do some more voices for the evil villain and give him some level of radio interaction with the menial robot.

After the final sound effects had been made and cut and testing the packaging for the web went fairly smoothly and I managed to spare time to add an android version with some pretty basic controls. I was worried that despite going low-polygon It wouldn’t run well but it seems to run fairly smoothly, even on mid-power devices which is a relief.

In summary. I had a lot more fun then I expected this time around. I’m a little scared it may have brought out an evil side to me but hey, I can live with that,ha!

I honestly love kittens, sadly the wife is allergic to them but that’s probably for the best otherwise the RSPCA /PETA may be on the phone at me, eep!

Oh yes, the entry is playable here–> http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=6823

Been a bit ill the last couple of days, possibly from not getting enough sleep this weekend!

Just realised that the musaks from my last post didnt come through, so here they are.

https://soundcloud.com/#stevy-1/bit-metally

https://soundcloud.com/#stevy-1/horror-of-the-mountain-king

 

Here be Dragn: A Postmortem:

What went right:

The Dragon:

The Dragon looked and moved exactly how I wanted it to.. There are a couple of niggles when it coils around but otherwise its fun to move about and sinuous. It could have been a bit faster.

The AI:

I managed to put in some distinct AI units. The first makes the Dragon stick together in a follow pattern. The swordsman class makes the warrior cling closely to the dragon and attack with melee (though the actual melee wasnt finished!). I also added ability timeouts so the warrior could charge in when at close range. The archer class has three different range controls. At long range it closes to shooting range. At shooting range it shoots. At short range it runs away.

The Gamestate:

I managed to seperate the game entities into a seperate class and share this about, which was pretty good as I usually dont keep a MVC pattern and dump everything into one class.

The music:

Although the mountain king song went wrong and cost me time, the other song makes the game a bit better.

What went wrong:

Resources = time!

For a short game, I should have created rough resources and patched them up later.. Colours and special effects should only be added when you’re ahead on time! That dragon could have had lasers!

Art:

I drew more drawings than I actually got to use, which was a bit of a shame.. Though makes me wonder why I was spending time drawing horses anyway? The pipeline I was using to import the resources was also far too complicated as it involved a lot of manual work. On top of this, the warrior was cell shaded, and the dragon and ground were pseudo-realistic, leading to a bit of a jarring effect and making it non thematic.

Sound effects:

I rushed these at the last minute but making them all by voice changes the artistic direction of the game. I’m also aware that some of them were far too quiet or appeared at the wrong times, partly because of repeated conditions in the AI loop.

Do I want to work any more on it?

I’ve got some resources ready to animate and colour in.

I had a couple of interesting ideas while I was doing the compo which I would like to explore such as:

  • Adding enemies and powerups to points in the music and adding different waves of enemies to show progress.
  • Adding the storyline I had before, where your dragon wakes up to find it’s favorite gem gone and goes on a quest to get it back.

I think it would be a great testbed to try out some other concepts and refine my object handling in java (so it doesnt GC).

 

ConflictiveLabs is back!

Well, this was long overdue. We have been very lazy with the posts this ludum dare, but we are going to catch up, promise 😀

So, our game for the jam is Kill Ville. If you haven’t played it yet, please do and leave a comment so we can try yours too.

Find the villain!

We are very happy with the reception the game got the first few hours, a lot of positive feedback, which feels great because we put our best effort on making the game.

Well, that’s it for now, we promise a Post Mortem in the coming days.

With love,

ConflictiveLabs

Post-Mortem

AnteChristmas (compo)
TimeLaps

It was my 2nd participation to LD, and I’m very proud of it.
I dont see LD as a competition, but a personal challenge. Comunity helps to give motivation, and get feedback, and interesting discovery about creativity.

Here are my memories of that weekend.
Cet article ecrit en français

That I didn’t have time to implement:

  • During the take-off sequence of the sleigh, reindeer should be harnessed just before Santa Claus boarded.
  • An animated sprite to be held in the left sled (top screen) to capture packets and load them in the back of the sled.

Contents abandoned along the way :
Game-play:

  • Failure condition / game over, life counter / failures
  • Rhythm variation

Visual:

  • Sequence where Santa blame the troll (caught breaking a packet)
  • Making a background for top screen, and redesign the bottom screen (printed appearance, slight depth compared to sprites, reflections …)
  • Give few semi-transparent to sprites, even a light shade (plan sets the offset.)
  • Review design packages (details)

Skin:

  • intro (cover G&W opening) getting to click to give focus
  • instruction manual (controls)

Course of these 48h :

One false start
Rather late, I started writing several ideas in my sketch book. None of these ideas did not suit me perfectly. I could not think of anything other than the last idea that I found, so I left it there. It was a RPG reversing the roles, to adopt the perspective of blobs lv1. Aware that task was disproportionate to time I left, but mostly my skills, on head shots, I just closed without saving. At that time I was thinking really quit.

Saving break
While there were only 35 hours on 48, I followed the advice of “LD Survival Guide”, and I went out for a walk in the city (something I never do). I still wonder which way the theme « you are the Villain » Playing a villain in a video game, would take me to program a game type existing in sophisticated versions, and I felt not up to it (no experience). Consider the villain in a broader context, the difference between good and evil is in part to individual interpretation, I didn’t have time to dig into the issue to find a topic where priori to be unilateral.
It is by ceasing to think that I noticed decorations of the city. Christmas became obvious.
What’s worse to go against good feelings and pleasure rot naive children discover their gifts for Christmas morning. It is both cruel and superficial. A bit like Gremlins are on the wrong side, but in the end, is that they just do materials damages.

Development of game-play
As soon as I found this synopsis (ruin Christmas), I considered this aspect of Game & Watch. As solution that I had envisioned for its various advantages: smart graphics and relatively simple programming. At the same time, I am quite a fan and collector of these old-school games.

The idea of ​​the conveyor belt come from G&W Mario Bros., where Mario and Luigi are working on packaging wine bottles. Thus at the end of line either load the sleigh. But the device (several treadmills in reverse direction) did not seem appropriate, for lack of space. At that moment, I imagined instead of hitting packets disturb the elves on an assembly line.
I really wanted two phases of the game, and therefore the action in each split screens. As Zelda, where alternating phase platform and fight against a boss.
For controls, I’m inspired by Green House, where the character had to make round trips from one screen to another. But mostly the game Fire Attack (one of my favorites) for the breaking-packets phase (watch several locations at the same time).
The idea of ​​Santa Claus watching packets came to me during coding, because it had to something to annoy the player. I don’t know what inspired me for this feature. That may explain why it’s not entirely successful in the game that I posted.

Realization
I started by setting up the global visual to define the dimensions of both screens. I got the design of the Game & Watch from this website npes.free.fr thing I did not mention in the credits, since I’m the author (released last year).
Positioning of the elements is a crucial thing, I realized that I had fixed faster final visual elements. I like hard work, and in this context I made it a point of honor that the sprite frame is consistent with the LCD technology of the time. This involves not overlap sprites, which earned me some feedback reporting missing packets broken on the conveyor belt. In fact, these places were already occupied by the sprite of hammer. A broken package having no impact on the game play, I took the part that they can seem to disappear in some places.
I worked on the bottom screen until Sunday noon. Lack of time, with everything to make the top screen, I try to list all the essential things that remained. Then I start to make sprites for the top screen. It took me much longer than expected. Each hours, I was reviewing my list for setting priorities, ie, which seemed essential to game play.

Term
There remained just one hour to complete, and two things needed to be done. Most visuals for the top screen were ready. I had to choose between the top screen code, and code a failures counter witch implement game-over. The top screen seemed a priority. Without it the game would have seemed incomplete. While I recognize that without a game-over, there is no issue, I put so much energy to draw sprites on the screen at the top, I didn’t want to waste these feature. Now, I think that at this moment I overestimated necessary work to develop a game-over condition. Also I was really tired, and I decided to devote my energy to code top screen, rather than estimate the time needed to develop each parts.

Sheets of my sketch-book
sketch-1 sketch-2
sketch-3 sketch-4

Postmortem: The Cards Never Lie

screenshot0046

The Cards Never Lie was Li’l’s first game project ever and my first Jam, second LD.

What went right:
We were able to incorporate most of our basic ideas (using the phone, having visitors). Li’l composed all the music in about 48 hours, somehow. (There are 7 original tracks plus a few variant tracks.)

Three days is A LOT longer than two days, and in our case the difference between a mess and an entry. By the 48-hour compo deadline the game was technically submittable, but the extra hours on Monday made a huge difference.

screenshot0048

What went wrong:
Mysteries are hard. :( I wanted to compromise between game play features and storyline so the game wouldn’t be too kinetic. I tried to find a good middle-ground, but it still feels light on both ends.

We had a lot of ideas during the brainstorm phase we weren’t able to implement. We talked about timed events and day/night scenarios, and I wanted to have a mini-game where you could guess if a person was lying based on their facial expressions/tics. L’il came up with all this elaborate tarot card stuff that I didn’t even get close to squeezing in. AND I FORGOT TO INCLUDE A GOAT. I have no idea where I would have put one, probably in the park eating delicious trash.

What we’d do different:
Should have bribed/charmed/stolen an artist, for sure.

The future:
I’d like to continue working on this. There are a lot of features I still want to try and I feel like the basic story has legs and could be expanded into 3 to 5 interlinked mysteries.

Tags: needs more goat, postmortem

Comments

21. Dec 2012 · 02:25 UTC
Adding a storyline, or narrative to your entry will absolutely wreck the amount of effort you can devote to the nuts and bolts of a Ludum Dare entry. There’s no shame in feeling that you came up light on both ends due to the split attention. It happens.

WARNING: Illegal Crime Game really is illegal

cops

for ludum dare i made a game called ‘Illegal Crime Game‘. it’s a silly little game in which you commit juvenile crimes in a small town. after finishing the game i submitted it here and also to my blog here, where i post all my game stuff. i used the same dumb description i used for the ludum dare page:

ILLEGAL CRIME GAME.

THIS GAME IS HIGHLY ILLEGAL.

DOWNLOADING AND OPENING THIS APPLICATION MAY LEAD TO ARRIVAL OF COPS AND LATER ARREST.

PLAY AT YOUR OWN RISK.

after i few days, i try to check my blog, to find this message:

uh

uh2

my blog is now suspended for unknown reasons. i’ve been using the blog and wordpress for about 2 years now, and never had anything like this. after checking the terms of service i can’t really see anything that i’ve breached so i can only assume this is an automated flagging or something. it’s pretty funny, i think! i’ve contacted wordpress about it and hopefully it gets cleared up.

let this be a warning though. Illegal Crime Game really IS illegal, and those who download it might find themselves at the mercy of the Blog Police.

you have been warned.

Play Illegal Crime Game Here

Mr Wizard VS The World Postmortem

(Cross-posted from my blog)

What’s this? I’ve made a postmortem less than a week after finishing a game?! This has never happened before!

Mr Wizard was several steps forward and several steps backward for me. First, the steps forward (aka, what went right):

My art has never been great, but looking back over the games I’ve made in my life, I’ve seen some definite improvements. I think the art in Mr Wizard is some of the best I’ve ever done (and a friend agrees with me)! The same goes for music. Normally when making a game for a jam, I’ll leave music until last, or almost last. My reasoning behind that is this: A fun game that looks bad and has no music is better than a boring/bug-filled game that looks and sounds good. My skill with music has never been that good, so I felt that by including music the overall quality of the game would decrease. This time however, I sat down with a tool I had never before used (FL Studio), and managed to get some decent music finished.

 

Now for the bad (what went wrong). The user-friendliness is not as good as in some of my previous games. Look at this image: screen2Can you tell what is happening? Probably not. I would have liked to give so much more information, hints, etc in the game, but ran out of time.

 

I do have some plans for a post-compo version. First, more information about what is happening needs to be displayed. Second, there needs to be an indication of which key spawns which monster, and what the cost of each monster is. After that, who knows? I’m planning to do some simple animation, tweak a couple of things, and maybe even what every game needs: an endless mode! If all goes well, I might even try to sell it!

 

To finish up, I’d just like to say thank you to everyone who took part in Ludum Dare 25. I hope to see you all next time!

Tags: mr wizard

Valkyrie Soundtrack

Big thanks to everyone who thought Valkyrie had lots of atmosphere and whatnot — it wouldn’t have been remotely so without the awesome soundtrack by Deceased Superior Technician, which is now available for listening on the Valkyrie page over at Gamejolt.

He has other cool-ass free tunes at his webpage.

PostCompo – SpaceGreed

Hello to all

We wanted to do a litle Post compo version with a bit more content.
Not enough time to get this version correct and well balanced, but added more content, corrected many bugs and learned alot !

After this first attempt at a ludum dare, we now understand that a multiplayer game is pretty much to big for this type of contest :)

I do have to say one last thing : We used Starling API and Feather but without trying them before hand …
Great tools … but not done for this type of applications… games for mobiles yes, game for computers : not much good.

Anyway, please give this new version a try and i hope we will be able to find some time on next LD !

http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=19058

sg1 sg2

Dance Man Mania

Well everyone, I did it, I created an authentic dance simulator.

http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=11072

danceman

It was only half the game I wanted it to be. My initial ambition for campaign mode was to have the screen zoom out to reveal the person playing the game while still dancing to the beats. I ran out of time. Thus, I do not rank Dance Man as high as my previous LD entry, Baby Farm. I chose play testing over features. I wanted to make this game fun to play. I’m not sure if it was worth it. I regret not taking the theme more seriously. My original Villain idea had to do with unwanted sexual touching, but I felt I had too little time to implement that within respectable boundaries. So I decided to make the sex fun and normal. Oh it was such an underdeveloped game. Next LD I have something much more powerful planned.

Until then,

MrEvilGuy

 

Ludum Dare: too easy to cheat!

The Jam is the all-inclusive version of Ludum Dare where we relax the rules so newbies and teams can enjoy the experience along-side the hard-core competitors. I like that, a lot.

What I don’t like is how relaxed the 48 hour competition rules are. Now I know these suggestion might be heckled as ‘not in the spirit of the competition’, but really, with over 1,000 entries, it’s about time we tighten up the rules so serious competitors can sink their teeth into a real challenge.

Here are a list of things that bother me about the competition rules:

#1. Anyone can change their submission after-the-fact.
This is the biggest hole in the competition my friends tell me about.   It sits very uncomfortably with me too.   There should be a single submission server with a cut-off at the dead-line. This would ensure people don’t make updates after-the-fact. Even presentation upgrades after-the-fact can give an entry a big boost, so I would like to petition to remove updating the entries at all. Challenge is all part of the spirit of competition.

#2. Theme is too vague.
You could make any game with these themes and slightly modify them, or their titles, to include the theme.  This is the number 2 flaw my non-coder friends point out.   There needs to be technical and artistic limitations – more tough rules- otherwise entries could be almost completely finished before the competition even starts, minus a few theme-inspired assets.

#3. No file-size or other technical limitations.
Back in the day we had Speedhack and there was a file size limitations of 512Kb compressed. This limitation is important for many reasons. #1 it separates those who know how to code efficiently from those who use sloppy techniques.  It also makes it much harder to pre-make a massive game/game engine and plop in some theme-related content during the competition.

#4 The worst rule of them all: Base code
Base code should be strictly FORBIDDEN. Much like the last three, this one is about being able to extend your ability to work on your game before or after-the-fact. One could literally write an entire game before-hand with lots of flashy sprite animation helpers and things, then come competition time simply make new graphics and sound for the engine. This ruins the spirit of competition.

My non-coder friends hate these rule flaws. They realize that the competition means virtually nothing if people could very simply, and very obviously cheat. Making the rules more strict would add to the intensity of the competition and help solidify the status of the winners.

I also have a personal gripe with the rating system. Having competitors rate games is a great way to ball-park the greatest entries; it’s unlikely really good entries will be underneath the top 100. Having said that, the top 100 games should be properly rated and sorted by industry veterans, or at least by competition organizers. Often times entries that, to outside observers, clearly don’t belong on the leader-board make it, and even sometimes make it to #1.   Past winners made a lot of my friends, who realize that I take game competitions very seriously, very sour about Ludum Dare.  The validity of the competition is constantly being questioned when I make mention of my participation.

I remember one Ludum Dare where a celebrity competitor had to opt-out because his entry would be so unfairly rated in his favour. If we really want a competition, we should have a place for such elite celebrity competitors.

Despite the common Laissez-faire attitude most people have towards  ‘the spirit of Ludum Dare’, I feel strongly that tightening the rules and pushing things harder is important not only to making better games, but in creating a better perception from the general public. It pushes us harder, it validates what we do, and it validates the winners. Without that validation the grand prize of notoriety falls upon the apathy of the greater public audience and damages the perceived importance of the competition winners.

To rectify some of these things,  I would like to suggest some extra rules for the competition. Note that I am not speaking of the Jam, which is fine the way it is.

#1 No base code – All code and assets must be written during the competition.

#2 Announce technical and artistic limitation alongside the theme.  See The Rule-O-Matic for the very best example of this http://speedhack.allegro.cc/rule-o-matic/spin

#3 Add ‘replay value’ and remove ‘mood’ from the ratings system.   Just a personal suggestion.

#4 Add a submission server – no updates after the deadline, not even spelling mistakes or presentation fixes. It is what it is. This will require a ‘line-up’ system so the submission server doesn’t get bogged down. Perhaps checksum entries prior to upload so this system cannot be cheated.

#5 Add a file-size limitation to source code and assets of 2mb. This is for the sake of the submission server as well as to add an extra degree of difficulty to serious competitors. Obviously, this doesn’t include engine over-head like included library files needed for execution.  Back in the day, 512kb was enough!  2mb is more than enough for the efficient programmer.

#6 Pre-approved, competition certified libraries only.  This again, is to prevent pre-completed base-code. Libraries must be approved by competition organizers.

#7 Remove names from entries during rating. – Popular entrants get too much notoriety and are unfairly judged in their favour. I know a big tradition is promoting your game after-the-fact, but really we all know that popular entrants get unfairly high ratings based on past performance and celebrity status.

I know I will get flamed for these suggestions, but I feel they are important. Why? Because when I explain the competition rules to my friends who do not code, they immediately poke these very same holes in it. They dismiss the competition and don’t give it the credit it deserves. I would like to see Ludum Dare actually mean something to people outside the competition one day.  I would like to see people gain the greater recognition they deserve.   Having better rules adds to the importance of the competition,  it adds to the tension,  and it pushes us even farther. More importantly, it attracts the worlds truly elite game developers and validates their performance to the general public.    I would like to see the winners go on to become not only credited by industry brethren, but by the populace of potential general public fans, eager to know who really is the best of the best. Until the rules are tightened, I don’t see that happening.

Please discuss, and thank you.

PostLD25 Goatzilla vs Nuclear war

I wanted to devote just 8 hours to LD25, but eventually I ended up with just 2-3 hours, thus not finishing my concept and not submitting the game.

However, I really liked the theme, so I finished the game later.

Goatzilla vs Nuclear war:

screen00

 

The story: nuclear war is raging, goatzilla appears. Various nations are firing missiles at each other, while still building and improving their settlements.

As a goatzilla, you have three options:

  • let the humanity perish (stomp all the houses)
  • force the humanity to unite, then let them destroy you (stomp near houses to make them shift sides and unite)
  • get killed early, keeping the nations separated

Tags: post-compo

Knights of Uruk (post-compo version)

Just a quick update to say that I’ve uploaded a bugfixed post-compo version of my mini-RTS “Knights of Uruk”, which you can play here!

battle1

A few people were confused about which units were which (My fault – one of the units was displaying the wrong sprite when idle). But to clarify things I added a little visual guide to the game page:

Knights of Uruk - Tactics

Post Mortem

I had fun! This was the most important thing for me.

I used my own framework called ‘essence‘. It was good to have an excuse to use it. I’ve learned that I need to update a few bits to make it more user friendly and useful. The framework is far from finished, but it’s constantly being updated on github.

My focus for this will be creating a proper drawing library, as I had to write in sprite code especially for the weekend.

I also want to improve the audio module so that multiple instances of  sound clips can be played at the same time. If you listen out in my game you can only head one bullet sound at a time, even if two or three shots have been fired.

HTML5 and JavaScript are a great choice for Ludum Dare, because you can create code so quickly. It’s not without it’s pitfalls (supporting multiple browsers etc).

Lessons for the future:

The movement is tied to the frame-rate, so next time I would separate that out. It was running okay on my old machine, but when I uploaded the game and tested it on another machine, it ran so fast it was unbelievable! It’s the first time I’ve had to limit the frame-rate.

I would like to also include some touch / tilt controls so that you can play the game on mobiles. I’m looking into supporting FirefoxOS as the OS is written in standard HMTL.

The feedback so far has been great. I love the fact that the community is very supportive, and criticism is constructive.

I’m considering entering my game into <game_on>, the mozilla games competition. If anyone else has a browser based game that doesn’t require a plug-in you can too!

Comments

21. Dec 2012 · 12:25 UTC
Delta time, fool!

Fry Fleshlings Fast – Post mortem

It’s been nearly a week now, so I figured I’d post a post-mortem about Fry Fleshlings Fast, my Ludum Dare #25 entry for the theme “You Are The Villain”.

The game is an ActionScript 3-game compiled in Flash. It runs online, or as Android AIR installs (I guess it could work as iOS installs too, but, you know, it’s a pain in the ass to create all certificates for that and only people with jailbroken phones would be able to install it since it’s not an App Store release, so why bother).

The original idea I came up with was a game where the player acted as an invading Alien overlord. You’d have a top-down view of a map and your task was to kill everyone below. For this, I envisioned a mechanic where you would have actors – the fleshlings – roaming around a map, going from checkpoint to checkpoint. The player would have the ability to cut their paths short (by using lasers) with the objective of getting everyone to move to the same general area, where you could then drop a meteor attack on top of them, killing everyone. The challenge would be in using as few lasers as possible.

Although the systems were different (using point- and line-based roaming paths, rather than a two-dimensional plane), the whole idea was heavily inspired by Jezzball, a very simple yet addicting game for Windows 95.

Early screenshot showing the internal map/waypoint editor I had to build for the game

Early screenshot showing the internal map/waypoint editor I had to build for the game

What went right

Reusing code: although I failed to do a post about it prior to starting the project, in this project I reused much of the code I developed for my previous Ludum Dare game attempt, Survival of the Tastiest. While much of the code is, of course, garbage – many shortcuts were taken – a lot of the support code and more abstract frameworks for handling objects and Starling entities came out very handy for this new project.

I now feel like, for a Ludum Dare project, you can’t plan on working on a new engine and a new game at the same time. Unless it’s a very unique but simple mechanic, it’s just a lot of effort that means you can’t get both really right. It’s better to develop an engine with a simple game layer on top of it, or to work on a cool game idea based off a well established engine. Of course, this is not something I did right this time around – I was developing both again – but having somewhat of a starting point helped.

Over time, it’s likely that my own entity engine – which doesn’t have a name – could shape up pretty well. There are many well known, polished engines for games in Flash out there, of course, but having one of your own is a great learning tool and, with time, allow you greater freedom since you can tweak and change it to fit your needs better.

Programming a system I enjoyed: I never get to spend my (full-time) programming job on game-like systems anymore, and while creating this game I was dead set on creating a point-based pathfinding and routing system that allowed for routes to be created and cut dynamically during gameplay. I love the code I produced for that – one where I didn’t take any shortcut on – and it makes me happy knowing that no I have this additional library to carry with me whenever I need it. I believe challenging systems like that are what I do best – rather that repetitive tasks – and I was a great joy to get this working from the group up. This made this Ludum Dare effort really worth it.

Not worrying too much about the idea: truth be told, until Saturday at noon, I didn’t even know if I was going to participate in Ludum Dare at all (because, like I said, I had other work to do). So I decided not to fret over it. I was thinking of ideas and discussing them with my girlfriend and friends, but not going crazy over it. Maybe because of that, the idea came naturally and I started implementing a few hours later.

Screenshot showing a debug view of the game, including map waypoints as I tested the path cutting mechanic. Roaming Fleshlings are also visible.

Screenshot showing a debug view of the game, including map waypoints as I tested the path cutting mechanic. Roaming Fleshlings are also visible

What went so-so

Scope: with my previous game attempt, I had a very audacious plan that failed to materialize in a game; it took so much effort to get something playable done, that by the time it was ready, I didn’t have enough time to make it easier, more approachable, or just fun. It was an engine, but not a real game. With this entry, I made sure to think smaller – creating something that could be accomplished without a lot of effort. This was also made more important because I actually had Emergency Real Work to do that same weekend, so I wanted to spend just a few hours with the Ludum Dare entry.

In the end, while the scope of the game was much better aligned with a Ludum Dare project, it still failed to materialize into a fun game. I only spent 6 or so hours with it, and I feel the results were more or less the same: there’s a game engine in there, but it’s not that challenging, or fun. It’s a gimmick.

Still, I think that, given enough time, it could be pivoted to something more fun.

Testing the final assets and the laser animation and smoke particle system (heavily inspired by Faster Than Light, I must add)

Testing the final assets and the laser animation and smoke particle system (heavily inspired by Faster Than Light, I must add)

What went wrong

Assets: Even if I decided to use simple assets this time around, I ended up spending too much time creating graphics, animation frames, and map textures for the game. Sometimes, it’s better to have extremely simple assets and concentrate on everything else.I’m convinced my next game will have circles, triangles, squares and lines first and foremost, and no animation frames. But then maybe it’ll finally have audio.

Not giving enough time for testing: the gameplay concept was something kind of unclear, and my problem was assuming it would just work. It’s only later in the development process that I realized it wasn’t the case. The mechanic was there – you cut paths down, limiting fleshlings to a given area – but it wasn’t fun. For one thing, their behavior was too unpredictable (they would take random paths once they reached a path connection) so the idea of funneling them into a common area never worked out. It would be better if they had clear rules – for example, when reaching a connection point, if there’s a clear path ahead of them, take that instead of turning the corner randomly – or if the map had additional mechanics, like one-way routes (maybe by deploying signs of some sort).

I feel like the need for those changes would have came out earlier in development if I was focused on getting a prototype working, rather than on getting a game working. I heard this is how World of Goo has come to exist: they developed a simple prototype over a week to see if the mechanic would work (as a part of a large, a-game-a-week effort), tweaked that as necessary, and only then decided to create a full game with its unique but fun mechanic.

Much was dropped: once again, I had to drop a few features that made the game less cool than I thought it could be. The end-game meteor attack was removed – the new objective was just to kill everyone with lasers themselves – and potential new weapons were never seriously considered. In way, this made the game interface better – I didn’t need a HUD for weapon switching, so the map could take the whole screen – but it also meant it was a bit repetitive.

Roaming Fleshlings and their bounding boxes (or their blood) when testing the killing mechanic

Roaming Fleshlings and their bounding boxes (or their blood) when testing the killing mechanic

Conclusion

This game was great in that it taught me one thing: I normally plan a system and then try to develop a game out of it. Maybe, given enough time, this can be a solution; but it means you need to give time to work on the gameplay after the system is complete, because at first, it’ll only be an engine of possibilities.

Many lessons learned for the next Ludum Dare. I like to believe I’m getting better. Code-wise, it has been a lot of fun, but maybe one day it’ll also be fun gameplay-wise!

Video Games Cause Mass Shootings – Post Mortem

Ideas and Theme

I’ve known for a while now that I’m pretty insensitive to some subjects that other people feel strongly about. So when I heard about last week’s shootings I felt pretty much nothing and just read a reddit thread about it (that’s how cool I am, yeah!). As expected, some people were angry and saying how terrible the shooter was for shooting children (because shooting adults is totally okay!); others were going on about how 24/7 media coverage encourages more shootings, which is probably true; most people were just terrified and sad that something like that happened.

Very few people, though, talked about why someone would do such a thing or tried to imagine a situation in which that kind of act would’ve been sort of justified (it will never be justified, but putting yourself in the shooters shoes, can you imagine how you would’ve gotten to that point?). So that stayed in my head for the day… Later the compo started and the theme was released: “You are the Villain”. I knew right away that I wanted to make a game about the shootings and explore the reasons why someone would do that. I also knew that, in those cases, people usually do have their own reasons, mostly because I had read a very interesting blog post (sorry I can’t find it anymore) some years ago about the Virginia Tech shootings explaining in detail the events that occurred that led the shooter to do what he did. According to that blog post, from what I remember, a lot of stuff that is said in that Wikipedia page I just linked are only half truths. For instance:

Several former professors of Cho reported that his writing as well as his classroom behavior was disturbing, and he was encouraged to seek counseling.

Written by Cho’s classmate, the post says that some teachers would just not accept Cho’s writing because they deemed it too disturbing, while the student who wrote the post thought it wasn’t a big deal. Also, some teachers would “force” Cho to speak out loud and express himself better in class when they knew he had issues with that… Anyway, it’s a lot of stuff and I don’t really remember the details. What I’m trying to say, though, is that those types of massacres are usually not without any type of reasoning behind them. It’s very easy to say someone is crazy and get it over with, but analyzing the whole situation regarding someone’s mental health, social status and whatnot is considerably harder, trickier, and may even make us feel bad about ourselves. I mean, who wants to feel like they are directly responsible for someone’s eventual mental breakdown and indirectly responsible for the death of others?

With all that in mind I decided that the game would be about a boy/girl/person who keeps going from interactions inside video games and interactions in real life (and by real life I mean the environment outside the game, but inside it… !). Their interactions in real life should be as terrible as possible, in an attempt to justify the ending (killing everyone) and their interactions inside the game should be also pretty violent, in an attempt to justify the game’s title. But this is more of a joke than anything. I don’t actually believe video games cause mass shootings! I had a bunch of ideas on how the real life interactions would be: you get to speak to your mom who hates you and resents having you around; you get excluded from a group of friends for some reason; your girlfriend breaks up with you; you get humiliated, ridiculed, bullied by a group of people in school (there’s a variation of this one when this happens as you’re confessing your love or whatever to some girl you like (and there’s a variation of this one too where the girl is in on it and she makes you believe she likes you only to get you to confess to her so that others can make fun of you (kids these days…))). I had very few ideas on how the games would be but they didn’t really matter. This was a more story focused game and if the games (the ones inside the game) themselves were fun that would’ve been great, but it was definitely not necessary.

What Went Wrong

The game itself was not fun at all. In fact, some people felt bad while playing it. While I feel pretty great that I made other people actually feel bad with something I created, I wasn’t aiming for that completely. I thought I had made the little children that you get to kill inside the games pretty funny and entertaining, but not cute and relatable to the point where players would feel horrible killing them, after all, they were just squares! My goal was to get the player to feel bad in the ending when you have to kill children in the game’s real life… I guess I’m just bad at emotions. ;_;

I should have thought way more about what I wanted the game to be. Instead of spending 20/30 minutes fixed on the idea of making the game about the shootings, I could have spent some hours trying to really nail down a creative and interesting idea before jumping to code.

I didn’t scope it properly. While I managed to finish the game, I had no time to see if it was fun, to add music or to just playtest it with other people. I spent the first day building the basic systems (platforming, enemies, guns, speech bubbles) and the second day creating content. I realized I do not enjoy creating content (compared to building systems), so it took me a lot longer to get stuff done on the second day. I also had no time left to polish the game as much as I wanted. There were no particles, music or just overall juicyness. Those are pretty simple features that really make a big difference…

The game looks terrible. I’m not an artist at all so I have to rely on primitive shapes, mainly squares. But I’m not at the point where I’m familiar enough with shader magic so that I can throw a bunch of squares at the screen and they’ll look amazing.

I was terribly unprepared. Like I said, I spent the first day getting the basic systems to work when I could have done that in less than ~6 hours had I prepared beforehand. There were many common patterns that arose as I wrote the game that I should have noticed, too. I also went in without any clue as to how I was gonna get music in. I play the piano, so I know how to compose decent (or so I think) music, but I’m not familiar enough with any tools to create a song in such a short amount of time.

What Went Right

I actually finished it in 48 hours. I created a list of things that I needed to implement and kept a pretty steady pace on day one. On day two I was sort of tired and the work wasn’t that interesting to me anymore, so I took a bit longer to get things done, but I managed to keep on keeping on (however slowly) and finished it. Also, my original idea and what the game actually turned out to be were pretty close to each other. Some details were different, but overall I didn’t compromise anything like I usually do (i.e. if something is harder to implement than I originally thought I’ll change the feature a bit so it’s easier to code).

Given that people said they felt bad while playing it, I’d say that the theme was handled pretty well. I also really liked using the sepia shader to differentiate between game and real life. It created a decent mood whenever you’re in-game. If I had a bit more experience I could have tried a more video-gamey shader, but the one I used did the work pretty well, so I guess it’s fine.

Conclusion

This was definitely a really good experience. I wanna continue participating as long as I’m ALIVE! Just the fact that there are so many games there are super duper a lot better than what I could possibly hope to create one day gives me enough motivation to keep trying to improve myself. It also reminded me how much deadlines help with getting stuff done!

LD24: The Crown Jewels Job AUTOPSY

For the platform game go HERE

Autopsy of the graphics/level design guy. Big thanks to all the graphics/level design feedback we’ve had, really useful!

Gripe: don’t knock the Jam as easy or Soft 😉

  • Less elitism of 48hr Compo please. There are a lot of reasons to do the Jam and yes it has relaxed rules and longer, but it’s a TEAM event. That in itself is the reason Will (the dev) and I enter the Jam rather than two separate entries (my solo effort would be crap I admit).

Good

  • Teamwork
  • Atmosphere – very much what we were after
  • Large level
  • Sound track choice (not composed specifically for this project – royalty-free from http://incompetech.com/music/royalty-free/
  • Parallax (scrolling backgrounds). Very pleased with them.

Sad

  • Controls: Could be better! Not being tile-based made the coding more tedious, and in the end we didn’t have time to fine-tune it at all.
  • Level design: There’s one place where you get stuck, and it’s not always obvious which platforms can be stood on

Different if done again/more time

  • Better shading
  • Particles to make Treasure more obvious and cooler
  • More obvious where you can stand – maybe add another layer to the engine so that platform highlights can be overlaid on the ‘scene’ layer
  • More hand-shaded graphics.
  • Add a music composer to the team

 

1. fluffy stuff 

I love the theme, it conjures up ideas of James Bond/Despicable Me/the Incredibles mega-villains. My creativity raced. But then we had to tone it down as we wanted the game to be playable by kids (the Dev is a particularly protective Victorian father!!!).

I don’t regret, but it definitely made the artwork more challenging for me as my natural style is a bit darker and grimier. We’d decided the day before to do a 2d platformer, but using 3d graphics and without tiling. We took a huge amount of inspiration from this cartoon: https://www.youtube.com/watch?v=neXDENKnC7A <jump 2 mins in. Maybe you can see it, maybe not.

Deliberate game-play choices included:

  1. No death. When you run out of lives (the 9 cats at the bottom), the end splash shows you going to gaol not dead
  2. No attack. The player has to avoid all the enemies, and they do not noticeable ‘attack’ the player. This also reduced the feature list.

 

2. Tools

Will developed the level editor over the first two days. Of course it took longer than we’d expected but for me this was an excellent feature and made the overall game much faster to deliver. It definitely was goal-orientated – it has quirks and missing features but was more than adequate for me to test artwork and build the level. The final level composition only took about an hour(!). Also, it allowed me to save to GitHub, thus eliminating the endless emailing of artwork for consolidation that was a bottleneck last time. I’ll let Will do the post-mortem on the tools but for me this was a massive plus.

screenshot of level editor

3. graphics

the most obvious feature is that it’s not tile based. By the final build we had 6 layers (counting player, enemy and treasure as a single layer). The majority of the platform graphics were G3D format models built in Blender and all using the same texture. I had difficulties with getting the depth right to not cut off or draw in front of the objects.

layers

The level builder including an auto-normals function but we forgot to use it before submitting. :C

The reason we used 3D graphics was because we’d planned to use better lighting effects but like so much these got de-scoped due to time.

The background Parallax uses large PNG files with hand-drawn shading. 2d graphics made using bog-standard MS Paint, GIMP , plus a Bamboo graphics tablet.

 

A century!

SOOO much LD gamey goodness…. HOORAH!…..  I’ve just reviewed my 100th game! :)

Tags: 100, hundred