LD25 December 14–17, 2012

Postmortem – Mister Misbehave

 

Hello everyone. I managed to finish my second Ludum Dare Compo entry this weekend and I’m proud of this achievement. I feel like I’ve created a much better game than my first entry.

title

PLAY MISTER MISBEHAVE NOW!

Description of the Game

In Mister Misbehave, you control a character who, well, likes to misbehave often. He’s banished from the city, and he continues to misbehave when he arrives to the countryside. However, the villagers are not happy with his misbehavings so they try to catch him to put an end to his bad actions.

The basic gameplay involves a tile-based, randomly generated forest map with a couple of houses (villages) on it. Our villain tries to misbehave in as many tiles as possible before the villagers catch him and give him a taste of his own medicine. There are also some “healer” type of characters in the game, dressed in white, who wanders around and tries to repair the damage our villain has brought to the universe. These characters reduce your total score, but can easily be dispatched by our villain. So, basically, villagers chase you, you misbehave a lot and also try to chase healers.

Capture5

The Good Stuff

  • Sleeping is important. I cannot emphasize on this nearly enough. Nearly 15 hours of my 48 hours were spent while sleeping and I’m not complaining. Sleeping is important to put your mind together and it gives you the boost you need to go on when things get tougher.
  • Solid game title and concept. I believe I came up with a great name for my entry. The villain character is also a little bit different from all the villains we’re used to see, so I believe it’s a nice twist to the theme which made the game entertaining.
  • Console text. I added a console to my game which describes all the misbehavings you’ve done. There are 5 different flavor text for each of the tile types you can misbehave in. I wanted to add even more tile types and flavor text to the game, and I might do so if I get to try my luck at a post-compo version. Right now, it’s one of the best features of the game imo.
  • Feature complete. I managed to put in almost all the features I’ve planned initially for this game. The content does get repetitive after a couple of plays but still, it’s enough for a player to try the game a few more times after his initial try.

Capture6

The Bad Stuff

  • Pixel art. I suck at creating art. I tried doing some pixel art, and while it wasn’t a bad effort, it lacks style which might’ve lured a couple more people into playing the game. I want to learn more about doing pixel art if I want the look of my games to be more attractive.
  • Difficulty adjustment. Once again, some people have found my game to be a little on the difficult side. While it’s definitely easier than my first entry in LD23, next time I’ll remember to put in a difficulty slider in my game to satisfy everyone’s needs.
  • THERE ARE NO GOATS. ’nuff said.

Capture4

So, what now?

I’m a little bit busy in the next couple of weeks, but I’ll try to make a post-compo version of my game in the future. The features I have in mind are adding levels to the game, adding more tile types and more flavor text, along with some other character types that approach you in a different way. Better graphics if possible are also on my to-do list. I guess we’ll see what happens next. Until then, I just have one thing left to say:

PLAY MISTER MISBEHAVE NOW!

Tags: ld25, postmortem, unity

Goat 666 – post mortem

epilepsy

 

It was my very first time taking part in a Ludum Dare, but I already did make some games and one game jam with friends of mine, so I wasn’t new either to technical aspects of gamemaking nor to the 48 hours time limit. In the end, I find my game quite satisfying, except for its difficulty wich is a little bit excessive.

 Play Goat 666

So here comes the post mortem :

wwr

-As I said, no big surprise during the making of the game. I didn’t get unexplained errors while coding, and didn’t spend too much time on deciding how the graphics would be done (except on the cover art).

-Good time management. Even if I became less and less efficient as I got tired, I endend up having some hours left to polish everything, which I wasn’t sure of at the beginning. It may only be chance since I didn’t really plan anything :B A good thing is that I decided quite precisely what I wanted to do right from the beginning, so I didn’t spare time thinking of what I should do after that : I knew where I was going and how.

-The experience was really enjoyable, even if I felt totally destroyed after that 😀

-Friends. Lov’em.

www

-Unconvincing game mechanics. I don’t feel like my game actually is really fun in its gameplay, even if the music and the graphics make it more nervous.

-Unbalanced game : although I managed, in the end, to tweak a little the probabilities and enlarge the hitboxes of the people you have to click in the game, the difficulty is still quite high. I usually make this mistake of forgetting that people who will play my games for the first time won’t be used to it as I am since I’m permanently testing it, and thus that I should make it easier even if I can beat it quite easilly. One day I will remember it.

-I don’t code fast enough..

-Couldn’t really get any sleep D: I tried though, but too much tea, coffee and not being at home (thus only having a sofa to sleep) broke  the mood. So I ended up being really really tired and slow at working.

-I used musics from other artists, which forbade me to submit my game in the compo, so I moved it to the jam. I didn’t read the rules with enough attention and though it would be OK if I used free-of-use tracks. This is no big deal, but it’s kinda annoying since I made everything else by myself within the 48 hours, so… Well, I’ll be more careful next time.

-I wasted time writing posts because I wasn’t always sure of my english. Nothing grave, but still, it’s kinda stupid to spend 5-10 minutes on a five lines post 3:

wn

-Spare more time on looking for game concepts, and learn how to do it more efficiently. It’d be nice to have a really fun game for once.

-Learn how to make music, for heck’s sake D:

-Maybe start working with 3D in order to get moar skills, even if it’s quite hasardous for now.

-Keep washing the dishes when I get too tired/upset to do anything right. In the two game jams I made, there was that moment when I just finished something and I though “Okay I really need a break right now, but I don’t feel like sleeping, and I’ll get even more upset if I just stay there doing nothing”. And seriously, washing dishes is the best thing to do at that moment 😀 It’s totally mechanical, so you don’t have to concentrate while doing it, and it’s more relaxing than doing nothing. Well, maybe it’s just me…

-Do games ! More games !

Makarun – Post Mortem

Recent post about my game with a video

 

The theme

As many others, I was sure. 100% sure “End of the world” would make it as the theme.
LD started at 3AM local time here, and I was honestly tired, shocked and disappointed when I read that its “You are the villain”.

boyHitting

The idea

I started from scratch thinking about a game I could make. All I knew was that I wanted to make use of box2dlights which I had discovered a few days before and which I adapted to some extend by playing around with the shaders. I came up with an idea after an hour or so. I thought about being evil and remembered my last neighbour who was a huge douche-bag. I remembered how I got really mad after a few months of fights with him and what thoughts where roaming my head during that time – they weren’t nice and definitely not rated as E-for everyone but more E as in evil. So I thought my game could be something like this:
You are a nice guy actually, getting into a fight with your new neighbour. As you become more angry, you start to do acts of evil to him.

The game-play

The actual game-play would be that you sneak around his house and garden and manipulate things to play evil tricks on him (plug his toilet, trample his plants, poison his bird, …). While you do that he would be roaming the area and have a cone of light indicating his field of view. You would have to avoid being caught by him. For each evil act you would unlock new things to do,eventually even new rooms in his house, in which you could free the villain in you. While the neighbour roams around, he would start yelling and play funny animations while he rages. All this was planned to happen from a top-down (birds-eye) view. The game would end by you killing him. In the final act.
So much for the plan.

The creation – day 1

I decided to use a tiled map for the layout as I have some kind of work-flow that should help me speeding up things. What I had not done is integrating physics with it. I used tiled-map editor and drew the physical borders over the map and had to make my game (java, libgdx) create physical bodies at the right position perfectly aligned with the tiles drawn. This took a while as I made some really mind blocking mistakes at that time. But well … I had barely slept, had a Christmas party the night before (did leave at 4AM, so not much sleep) and this was the result. So after two or three hours I had the work-flow reestablished and started to implement all the other stuff.

I used placeholder gfx for everything until ~15hours after theme announcement. I started adding some rotating cone-lights which was easily done, and wrote some code to make a playable character and some “are you in the light”-detection stuff. I started creating some ugly graphics and put everything together.

03

After adding the neighbour with some simple path-following, I realised what a massive amount of content I would have to create within the next 24 hours to make my concept enjoyable and got really frustrated. But I had to sleep by that time anyway. So I thought I might have an idea the next morning.

The creation – day 2

The next morning I warned myself, not to do the same mistake as last LD. Last time I had my game mechanics not settled until an hour before the deadline, which made me finish a lot of other things in a hurry (thus resulting in bad quality, like a wall-of-text-tutorial). I wanted it to be done earlier this time so I could actually polish things and have nice graphics and music. I decided that I had to change directions a bit to get that done. I threw away the neighbour concept. That was a hard step because I really liked this take on the theme. I felt like it would be nice to have the villain being just an ordinary guy like you and me, turning into a “monster” (very breaking bad style).

Instead I focused on what I already had, and that was the sneaking around and not being detected and line-of-sight part. I changed the setting from “house and neighbour” to “Villain in jail on a run”.  I had not created many graphics yet, so content wise, it wasn’t that bad. I had used tiled only to place all my meta-data in the “neighbours house” so it was relatively easy to generate a completely new map with more than one enemy. I added some security-cameras that would rotate between to specified angles with a specified cone-angle. By being able to place and define all these things (including the paths for the AI jail-guards) I was able to get some concept done quickly. Here’s a screen of what the map looked like in tiled-map editor with all the meta-data at a later point in time (click to enlarge):

easy

I added mouse-over items that would explain game mechanics and some basic storyline about you waking up in jail after an intense dream of a goat that betrayed you. (You should play the game to see what this leads to). I added the ability to kill guards while not being detected and some kind of jump/dash that would make you move forward quickly to escape the view of cameras and guards. I think at that point I felt like the main game mechanics had been done. I created three difficulties that unlock once you have completed the preceding map. I had some nice to have features on my trello-board but thought I might postpone them and work on assets and music first.

The audio

I spent around 2 hours to compose a main theme for the game. If you like you can listen to it in my dropbox folder: PLAY. I used Reaper for the first time together with some free virtual orchestral instruments and my Korg SP-250. This worked very well although I didn’t know the software well. I added some percussion sounds that are played when you get caught but other than that I couldn’t find a way to produce nice foot-stepping and attack sounds. As this is a stealth-game I found it not so bad to have the main character not producing noise. I still am not really missing the sounds much. But I might add some in a post-compo version.

Well that’s basically it. I produced all animations with pro motion which I had bought and learned a few weeks ago, and I start feeling comfortable with it. Oh and as with my last LD I used Artemis Entity System Framework instead of a classical component-based approach and this is still my preferred way to do things in games. I haven’t come along the game that I wouldn’t want to implement with this pattern. If you haven’t heard of Entity Systems as a design pattern – give it a try and wrap your head around it 😉

So instead of a time-lapse here is a short animation showing screenshots of different stages in the development (click to enlarge, but ignore the compression artefacts please ;):

 

One last paragraph about controls

A lot of people in the comments on my LD page, say that they have problems with the control scheme that I defined. When you press W, you walk in the direction of your mouse-cursors position. If you press space, you jump into your mouse cursors direction.  I did a mistake that I didn’t realize until release in that pressing A and D doesn’t make you strafe orthogonal to your orientation, but in a circle around the mouse cursor (this part actually is really weird). I suggested in my games description not to use A+D at all. In fact I haven’t used them at all, which is why I didn’t recognize the wrong movements.

Yesterday I started porting the whole thing to android. It’s running smooth on Tegra2 devices, but even without android specific performance tuning I had it running at 30FPS on my desire hd. Given this input scheme it actually fits very well to touch input. Maybe I was influenced by that when I made it the way it is now.

What I would like to ask you, in case you play the game and plan to leave a comment: Could you please suggest a way of control that would suit you better? I can hardly think of one, so I need some input. Thanks in advance and please rate my game, i’ll definitly rate yours.

Oh, and it has a goat. 

And English is not my first language :)

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

TL;DR

What went well:

  • Using the right tools that I was familiar with
  • Concentrating on the mechanics before spending much time on assets
  • Using Trello to stay focused
  • Isolating myself for two days to concentrate
  • Using Artemis Entity System Framework
  • Not drinking as much energy drinks as I did last time – I switched to tea.

What went wrong:

  • I was very tired the first day because I had partied to long on a Christmas party on Thursday.
  • I defined my scope wrong initially but was able to adjust on the second day without much trouble
  • I really should have added at least a second control scheme, but I wasn’t aware of it during development
  • I made myself too much pressure because I was really overwhelmed by my placement in the last LD
  • No breaks. I should have stopped every now and then, if even only for a short break.
  • Adding static lights for the map in tiled was a bad idea because I had no preview implemented and had to restart the game on each change.

Well, That Sucked

I started and even had an idea and everything, but my weekend was so busy that I had no time to work on it, even for the jam.  *Groan* it looks like “Super Evil Soviet Goat Commies vs. The Moon” will have to wait.

Gobelin’s Dungeon – post mortem

Hi people.

It’s more easy for me to make a complete game than write a post en English, but I must do a post mortem.

So, It’s first time a really try to finish a game. Last time I had only one day and just had the time to finish the engine.

title
Good things append :

– Time

  • Friday night the gameplay was ok.
  • Saturday the engine was ok
  • Sunday was relax and graphics/polish.

So time was perfect and had time to sleep

scr1
– Graphics

I’m actually happy with my basic graphics. I never do this type of work, I usually use my minions designers :)

Some people here (ok, deepnight) motivate me to practice a make me believe a developer can actually draw correct things

palette
– Code :

Well I imagine making game all the week for work help me a little

I just had a problem trying to use a buffer system without use it never before and renounce when I see that doesn’t change nothing for this little game performance

Keep it simple and dirty code is the unique way to finish in time.

 

Bad things append too:


Theme

Well, finally a make a so original Dungeon Keeper like, like everybody :)

I keep with only 2 ideas, this one and another with classical games end boss where we control the boss. But there were too many different gameplay to code.
– Time.

My wife come back from week end to early :)

Without that my elfe had a blow and the mage some spell

I wanted to do some bigger/fun monsters too…

I doesn’t had time for using particules, light system etc, so I was a little disappointed to not use this for a realy nice polish

mage
– Music

Last biggest point is the sound music. Bfxr help me a little for sound, but I didn’t know how to do a correct music. So there is not…

I had a really good time doing thing I will try to participate again.

I just regret there is not gatherings here en Santiago de Chile (and south America) when I see so many in my country, en France.

Thanks everyone for playing and for your feedback!

 

You can test the game here : Gobelin’s Dungeon

Manest

 

Unexpected use of theme

Thanks everyone, the feedback is great so far!

CrimeScene_long

Postmortem – Crime Scene

Right?

- Unexpected use of theme: I think, this was one of the great features of the game. A lot of games were created putting the player’s character as the villain, or even the Player himself as the villain. And I usually work with games that could bring some “Good” entertainment, based on virtues, heroes and fun gameplay. So in this game you control a detective that needs to find “Who is the Villain?”, and he says to the assassin: “You are the villain!”.

- Experience with Unity 3D. I’ve being using Unity since 2009, in version 1.6, when everything on the interface was terrible. And since the beginning I felt a lot closer to Unity’s creators concept/philosophy of bringing game dev for everyone and on every platform. That’s one of the reasons that I use their tool for almost 4 years. So, when I’m Jamming, the experience helps me a lot. I know I could do better 2D in other engines, but the fact that i know how to work with unity kept me going. (and today I’m a professor in Unity 3D programming course in a Game Design University)

- No art experience at all: My experience with Photoshop and Maya/Max is close to none. Not the use of the tool, but the knowledge of art, composition and colors. I don’t draw or 3d model, so I needed to create a game based on cubes. I think the art concept, at the end, was pretty cool. The use of colors and some post-processing effects of Unity Pro really came along. And everything is made with the transformation of Cubes or Cylinders. No UV Unwrapping, no texture painting, no animation or rigging, nothing more.

Wrong?

- Lack of time (or say, organisation): In this weekend I had a lot of family appointments, like my mom was getting married and everyone of the family was around. So it took me a lot of time, and I could only code between 2pm – 6pm on Saturday, and 5pm – 12pm on Sunday. So I had 11 hours to make the game. In the end, I could not polish enough. The game has no tweens at all, like fade in, fade out, transitions, hud movements. I think the thing that did worst without a proper tween is the End Game. Some said to me that they didn’t know if they had won or lost. =p

- No art experience, so I did not have the proper experience on creating a rigged character, that could walk, shoot, and stuff.

And in the end…

The jam was really fun! This is my first time at Ludum Dare, but i’ve being to a lot of solo and group jams.
I’m very excited to Global Game Jam in january. I’m hosting the Brasília-GGJ in Brazil.

Thanks to all, and thanks for the feedback.

[1] – Wanna play it and rate it? http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=19073
[2] – Wanna se what else I did as a developer? Knights of Pen & Paper for instance. http://www.beholdstudios.com.br

7

This entry was posted on Tuesday, December 18th, 2012 at 1:13 pm and is filed under LD #25. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Feline Homicide Post Mortem

Wooh! Coming off of the last Jam where our team had to pull out early, this one went really well.

Feel free to play and rate our game:

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

Good:

  • Scale: Last LD, we decided on way to large a scale for the game (causing us to not really have a game by Sunday night and having to pull out). This time we went with an extremely simple idea that we could get actually playable in a single day, then improve on.
  • Lots of good ideas: The theme allowed so many good ideas, we could easily come up with quite a few unique ones quickly, something we felt was difficult with “Evolution” and “Tiny World.”
  • Style: Mostly do to our artist, our game had a lot more style than any of our previous games and we were able to put together a “complete” package.

19139-shot1

  • Time Management: Partly due to our simple idea, but it was a lot easier to manage our time and not be as stressed during the whole process.
  • Good Team: Although this is the first team our artist Jammed with us, we all meshed really well and didn’t really have any conflicts (Other than some discussions on the design of the game).

 

Bad:

  • Change From 3D to 2D: Our game was originally in 3D; however, do to some technical issues, to save time our artist decided to change over to 2D. He was able to crank out a lot of art quickly so it turned out to be a good thing, since we might not have finished otherwise.

catdrowner3dcatdrowner2d

  • Unity’s Prefabs: For all the things that are great about the Unity game engine… working with prefabs on a team with source control can be a nightmare… Prefabs not saving connections correctly would constantly be breaking the game during merges.
  • Last Minute Changes: Although we got a lot done before hand, the last 3 hours became a mad dash of cutting / making compromises as we pushed to finish the game on time.
  • Coming off of Finals: The three programmers just finished a week of finals, so we started off tired and warn out. However, even while getting sick we pushed out the game, just wish we were a bit more rested beforehand.
  • Ruined Pizza: The first night… the pizza that was delivered was smashed into the side box… I mean really… Thankfully the company sent us another for free, so it turned into a good thing.

Comments

AlexFili
18. Dec 2012 · 13:32 UTC
I’m using Unity a lot recently. I couldn’t really manage a Unity3D release for this competition but I did release a HTML5 game. I think when I’m good enough with Unity I’ll be able to crank out a good enough prototype that matches the theme, maybe next time :)
AlexFili
18. Dec 2012 · 13:33 UTC
Fabulous graphics by the way. I like the way the main character looks like a film noir style detective. Bad news about the pizza!

Grand Theft Crimbo Post Mortem

Hey all,

Firstly hope all went well with your compo and jam games and I hope you all enjoyed the development.

First note is that Team RobKat is a newly formed game development team, im joined by a new to the industry artist and designer, Katrina Reynolds. Much props to her as she quickly picked up all the niggles game development throws at you 😀

This weekend we developed a game called Grand Theft Crimbo using Unity, originally we were going to call it The Epic Robbery That Ruined Xmas AKA Grand Theft Crimbo but we decided to keep it simple.

The game is about an elf wronged by Santa, the story is kept open for players to imagine. Just know this, this elf is angry, super evil angry. His trusty sidekick, evil goat, drives his sleigh as you terrorise a small village near you evil lair. The plan is to steal presents and not get caught so Santa looks like he didn’t bother with presents this year.

What Went Right

As mentioned before we our a new team and it went really well, we worked cohesively and it was great fun.

We managed to develop most of the mechanics we wanted, stealing presents, driving a sleigh, basic collision, avoiding police.

Most of the graphics required for the game were made in time, its a shame we didnt have time to make the lair, individual house and village decorations but as a game prototype were happy.

Prior to the LD25 jam we decided to do a creative exercise where each voting round we would come up with 5 ideas for each theme, thats 240 game ideas. It really helped us to get into the creative mind set and we also now have 10 other really good game ideas to experiment with.

What Went Wrong

TileMapping – Boy did I not know how complex a tile mapping system can be. I started by creating a script to plugin prefabs for tiles, but soon realised even a small tilemap has a large number of individual tiles, meaning I would have to make every tile as a prefab and I can guarantee the performance would have sucked. What I really wanted was a system like RPGMaker but there wasnt a chance in homers noggin I was going to complete a system like that in time. Of couse there was always the option of using rpgmaker to make the game and that certainly would have saved time but we really wanted to have the game playable on a web page. Ive seen the work some people have been doing with a html5 port of rpgmaker but the api seemed complex and not something I had time to learn.

Unity was not without its difficulty though, ive been using unity for just over a year and im fairly confident but there were 2 things during this jam that really stumped me, thankfully the unity community is awesome and a quick google search sorted the problems. One of the problems was activating disabled game objects with children.

It wasn’t just unity specific problems that stumped me though, in fact occasionally I made my own problems, there was this really annoying situation where the police car wasnt changing animation cel, it didn’t even show any graphic. I went over and over my code which I had ripped from my other code for the character. The problem was in the fact that the code did something specific for the character but I needed it to work another way for the police car. Turns out the code I was trying to get working was in a custom function and not in an Update(), Doh :(

Unfortunately the game was released with bugs and there’s quite a few, Its been suggested in the comments for a post-compo version with all the problems fixed and while were at it we should add some more features, were definitely up for this and hopefully in the next few weeks we should have something to release :)

Improvements

The tilemapping situation presents an intricate problem which I will need to sit down and plan a strategy to attack it, there are two ways, tackle the problem myself or find a third party software. Actually theres a third way and as im writing this I think I might go with this one. A measure of the two. I have been using Pyxel Edit for a while now and I think its amazing, but it too like our game has many bugs and could benefit from some much needed features. If possible I will see if I can offer my programming skills to enable the development to move forward. A key feature(already in Pyxel edit) is export as xml/text. Using this I could develop a content processor making the whole tilemapping process smooth and trouble free.

As previously said were going to fix the bugs and release a post-compo version.

Were super excited about going back through the game and adding polish like xmas decor for the houses and village.

Its been great fun, hope you enjoy the game:P

Team RobKat (Katrina Reynolds, Rob Yates)

A small village : Post Mortem

postmortem

 

A small village was my first entry, and also the first time I released a game ! It’s about a villain doing bad stuff in a small village, where people don’t know what to do against you !

What went right ? After finding my basic idea, I had  time to make my small village nearly as I wanted. It was fun making all textures myself for the first time and it was looking good. I like the faces of my little people, goat included. The gameplay (FPS) was quite simple to do because a lot of my test with unity were like this. I didn’t know at first how to add humor in the game then I had the idea of let them yell stuff and it was really fun. I learned a lot all along the creation !

What went wrong ? In the first place, i didn’t even sleep well. I learnt about the theme at 3 a.m., woke up at 10, and wanted to make a 3rd person game, in a village like this. But I didn’t manage to make a 3rd person camera working so after 2 hours of retries I quit to making what I know most. The music in the game was my first time with lmms, so i’m really sorry for your ears ! Some of you liked it, but I don’t myself !

What went REALLY wrong ? It’s the code ! First, there was an update in Unity a few weeks before LD, and I didn’t had enough time to fully understand about the new animation system, nor about classes and methods which becames unusable and invalid. So after the first day, when I was happy about my village, I had something like 25.000 errors in the debug console, and no idea on how to fix them all. Of course, I didn’t had the time to learn everything about A.I. all over so I decided to make a stop to the development of this game before I ended up with nothing to play !

What do to next time ? I think I will be a little less stressed next time, and (I hope) more self confident about my programming skills (which are very low right now). I’ll also spend less time working on the map, and I’ll make a lot of art in a row, not doing so many alt+tab between unity, notepad, flash, photoshop, and the Ludumdare website ! One thing at a time, a better organisation !

Anyway, thanks a lot for this LD, i’m going back to rate your games (I already liked a lot of yours, it’s amazing the amount of idea!) don’t forget to test my little game and to rate it ! A Small Village

Keep in touch,

Edocentrique :)

Tags: a small village, Edocentrique, LD #25, post-mortem

Splatter: A Post-Mortem

Splatter was an attempted to kinda of fuse Frogger and Plants vs Zombies Defense. You play as the cars, the villains of Frogger.

You can try out the result here http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=7406

This was my first game jam and it was a ton of fun. I picked the worst possible weekend to do it as I was graduating from college on Saturday  and I was not going to give up drinking with my friends and family and celebrating this weekend. As a result I was only able to work on this for about 9 hours. So I am quite happy with what happened with such little time.

What went right:

  • The Idea, I believe, was good. I immediately wanted to do a classic game where you play as the villain  I toyed around with many different games as I had plenty of time to think about it before I could actually work on it. I eventually settled on this idea which I think has potential if fleshed out.
  • The Distribution, I had alot of concern about whether I could compile for windows as I was programming in Ubuntu and using a library with separate natives. But it seems to work at least on Linux and Windows. One person has said it crashed after awhile of play but that may just be because I didn’t put in a kill screen it just closes. Thanks so much to JarSplice, you saved my ass.
  • Finished, with my lack of time I was afraid that I wouldn’t have a finished product but I managed it, although it is not as fleshed out as I would have hoped.
  • Persistence, (kinda goes with finished but whatever) There was a point where I thought it was over. I could not get slick to let me write text to the screen and I couldn’t find an alternative approach that didn’t use slick. I needed to display the score and points and costs and I didn’t see any options. Then I said to myself “NO! I’m going to finish this! I’m gonna make something. It doesn’t have to be the best. It just has to work and be mildly fun at least. After I encouraged myself I got the idea to draw the gold coins to represent cost and not worry about a score.

What went wrong:

  • SLICK!!!!!!!!!!!!!!!!! Slick, the library, hated me. I could not get it to do anything right for me and the tutorials I found were all for depreciated methods and they wouldn’t work either. It cost me an hour or so looking at all the different tutorials and playing with it trying to get it to work.
  • TIME, I graduated and partied most of the weekend and probably only spent a total of 9 hours on the project. That was not enough time, but I only graduate from college once and I wanted to spend it with all my friends and family. But It was also important to me to do this Jam, to prove to myself I can finish and make something in limited time.
  • MAVEN, There really needs to be a good archetype for maven that uses lwjgl. The tutorial for using maven on their website was lacking and it did not automatically compile to a jar that would actually run. I lost lots of time learning how to do this manually.

Future:

  • I really really really enjoyed doing a game jam and I think I am going to do as many of these as I can from now on. It will also help keep my programming skills up as I look for a programming job.
  • I want to flesh out the game with graphics, sound and ACTUAL TEXT ON THE SCREEN DAMMIT. I joined the One Game A Month challenge so I think I will flesh this out and release a newer version for January’s game.
  • I would like to learn how to make an Maven Archetype and design one for making LWJGL projects to help anyone that has had the same problems I have. Plus it would be yet another thing that would be good to learn.

In closing, Its been a really fun ride and I can not wait to do it again and really be able to put in all the time I could to make something exceptional next time.

Comments

agmcleod
18. Dec 2012 · 14:28 UTC
With slick, i’ve run into a lot of the same issues before. Libgdx seems to be better in that regard, but i sometimes still run into older stuff. Just need to keep an eye on the last updated date, and any notes if the article is deprecated.
eerongal
18. Dec 2012 · 14:37 UTC
I would just like to say that I had issues getting slick to do what i wanted as well, though it could be my inexperience with it. i eventually got where i was going with it, but i think the BIGGEST issue is lack of good documentation for the API.

Html5 port of critter criminal finished

I finished a html5 port of my ludum dare entry. I wanted both the Html5 version and the windows version to be finished at the deadline but I ran into some problems with sound and drawing with the html5 version. But now it’s finished and those who don’t have windows should also be able to play the entry.

Play the game here!

I’ve tested the game in internet explorer, firefox and chrome. It works in at least those three browsers, but looks best in firefox or chrome.

Ludum Dare Mini Reviews

ldmr

 

Hey everyone.

I started writing some reviews on some of your entries!

At first i will review every game by users that rated my entry. After i catch up i will start rating and reviewing other entries  i’d like to share.

So if you want your game reviewed and added to the list you can head over here and gimme your juice 😀

 

Eaten

 

 

The complete list of reviewed games is here

Ludum Dare Mini Reviews

 

To link a specific review just add # + username to the url (http://ldmr.wzl.vg/#pinion)

 

Keep in mind that writing those takes some time, and it might take a while until i catch up.

Hope you enjoy it 😀

 

love and kittens,
wzl \o

 

Wandering Villain postmortem

I entered as a Jam entry, instead of a compo entry in order to get more time but I only actually ended up with around 6 extra hours on the third day because I had to sleep and work for most of the extra time.

The entry page is here: (Click)

There is a windows executable or a .love file, so if anyone on mac or linux knows how to compile love2d games, that would be really cool.

What went right

I created a pretty cool isometric rendering engine, which seems to be pretty capable.

I put a lot of effort into tuning the terrain generation, and it ended up looking quite good in my opinion. I haven’t done much world generation before so I had to experiment a lot to determine what variations would look natural and interesting.

The art style is 100% geometric, with everything being some composition of primitive shapes and it looks pretty cool. I would’ve liked to add a bit of detail to the “people”, but even as cylinders they feel lifelike enough when they are moving.

The splatter and shadow effects turned out quite well because of how they interacted with the tilemap.

I learned a lot about world generation, isometric rendering, and object oriented lua programming, so I would be more comfortable working with similar concepts in the future. It turns out lua allows you to define your own concept of a class and there are multiple ways to implement inheritance. I also now have a name for a “pigeonhole sort” which is a concept that I have sort of considered before but not properly executed.

What went wrong

I spend most of the first day trying to figure out how to get objects to draw in the right order (back to front) until I realized that I had to make each object no larger than a single tile size or else you could get a circular loop of objects that are above, behind, in front of, and below each other.

Performance issues: I put a lot of effort into making the game as efficient as I could, so objects that are far away are forgotten and things like the front faces of a tile are only drawn if the tile is taller than the tiles in front of it, and shadows are only drawn when the object is not on the ground. However, it still runs relatively slowly on my own machine and I assume even worse on the machines of some of the people that will test it. I added a few options at the end of the jam time to change the screen size and thus how many objects are drawn so that hopefully it can still be experienced even on lower end computers, but it is hard to get a sense for performance on another machine.

There isn’t really much to do. You spend more time exploring than being a villain. I was planning on adding cities, farms, castles, and heroes for you to fight, but it all seemed so complicated and I ran into time constraints.

Next time

I think I will try to work with a more complete rendering framework prior to entering, as I had to write a lot of drawing functions during the compo time. (cylinder, prism, sheared circle).

I will also try to have a better idea of necessary gameplay interactions and try to get them in place before anything else, so that the game is 90% playable within the first day, instead of being 90% pretty after two days but still missing a bunch of gameplay elements.

I know that my game idea was a bit too ambitious and so I set myself up for failure, but even so I think that having a challenge forces me to experiment and learn things that I wouldn’t otherwise have tried.

 

Dr. Spackolo Post-Mortem

This LD was a little bit of a failure for me! I had no idea what to do with the theme. After some thinking I went with a dating simulator, which was a bad choice. A good dating sim need two things: Good writing and cute artwork. As I’m not a native english speaker (and my english in general isn’t that brilliant) writing is really hard for me. I also can’t draw. Period.

I’m usually very motivated while coding, but most code was done in a couple of hours. This was actually good, because I could focus on content now, which I didn’t enjoy that much and after the end of the first day I realized that I couldn’t finish it in time with decent content. After some frustration and a couple of hours of non-LD related work I went back to at least finish it with the help of a greek twist.

7575-shot0

What went right:

  • I never wrote much for a game and it was an interesting experience.
  • HTML5 canvas & JavaScript is very usable for game jams.
  • It turned out to be quite meta.

What went wrong:

  • I did not like my own game, which is kind of frustrating.
  • Horrible gameplay. It’s basically a bad interactive joke.
  • I had trouble creating music for it (Now it’s very basic, I trashed a lot of other attempts).
  • I need to get more practice in pixel art (or general in creating graphic assets).

So, next time I’ll do a project that involves more coding, which should keep me motivated throughout the weekend. If you’re still interested and like bad humor give Dr. Spackolo a try.

Legacy of Hamelin: what needs fixing?

My game Legacy of Hamelin was a bit of a rush job, and crucially the levels were the last thing I made. Always a bad sign!

That meant that I didn’t have time to actually see if the puzzle mechanics worked or were interesting. Turns out they don’t really work, so what could I do about that?

A few ideas for the rat sections:

  • Don’t let the rats go into the sewers until they’re all over a sewer. However, that A) seems weird in the fiction (stupid reason) and B) might make it hard in a not particularly fun way.
  • Don’t stop the rats falling in the water in the first stage. But why would the piper care enough to restart? Not sure if I want there to be moves that kill you: that’s frequently annoying in puzzle games. Might be okay if I also had undo I guess?
  • Make the rats poop, player won’t step on any tile with poop on it. Might end up with too much poop? Alternative: only make the rats poop after they leave the sewers.
  • Add tiles which only the player can go through/only the rats can go through. What would these tiles be? Already have that the player won’t walk over sewers, but can’t really use that to limit the player’s movement because then it’ll be too easy to get the rats in them.

And for the children-stealing:

  • If a child moves next to an adult, the adult grabs them until the piper moves next to the child and re-brainwashes them.
  • If you move next to an adult while controlling the children, they’d attack you.
  • Possibility of drowning the kids? A bit dark, not sure if people would pick up that you have a choice of drowning them or kidnapping them?

Additionally, people don’t immediately get what the aim is in the second and third sections. Could fix this with some dialogue from the mayor probably.

Not sure I intend to take the game any further, but it’s good to consider these issues anyway.

Comments

18. Dec 2012 · 21:34 UTC
For me the most interesting part of the game was working out what I had to do in each section. Once I’d played through the first level the others felt tedious.

Retrospective

Inquisitor’s Note: Under interrogation, the insurgent “dustystylus” was deemed to have screamed the following:

Original plans

When the topic was announced, I thought about some recent uprisings in the world where communications were monitored and thought about a game where you don’t know where the enemy is and have to decode their signals to find them.

Aesthetically, I’m a fan of all things Russian, so I wanted to have a vaguely eastern look and feel the game. The name Victor Grozny is a play on Ivan Grozny, who we know in the west better as Ivan the Terrible.

What went right:-
Unity. This was my first time using Unity 3D and it turned out to be a great choice.
Unity… let’s you get away with some atrocious coding and scripting hacks… which is exactly what you need when you’re under pressure to just get stuff working.
– Music. This is one of the bits of the 48hr game making process that I like the most. It’s nice to take a break from the code to play around with musical ideas, I find it refreshes the brain a little bit for when you head back into the code again.
– FX. Heehee, I was going to record my own voice for the radio chatter, but had an idea to translate English to Welsh and get Google Translate to ‘talk’ it, and then record that back into Reaper, and then process it with various FX (pitch adjust and transistor distortion). They’re actually quoting from the Magna Carta about the rights of citizens not to be oppressed. ;o)

game_over

What went wrong:-

– Fun. Well, a lack of it really. Before posting my entry I asked a friend to take a look at it. “well, it’s not very fun” was the reply and he was right. I almost didn’t post my entry. :(
– Controls. It was a terrible idea to have the game use click & drag for the 4 knobs. You spend all the time looking at the knobs rather than the map display. It would’ve made more sense to have the mouse control XY and then use either keys or mouse-click-hold for the other controls. Make it feel more ‘interactive’.
Unity. Well, let me elaborate. I had a panic on the Saturday morning… this was the first time I’d used Unity and was struggling a bit, so I closed Unity and opened up Eclipse with an idea to do a pixel-art game instead. After a couple of hours I went back to Unity again and decided to press ahead with it. Definitely made the right choice but I lost a few hours to that indecision on my part.
– Clash of art styles. The GFX for the Inquisitor, Insurgents and Buildings are pixel art… this is because it was going to be a LWJGL pixel art game (I thought it would save time). Didn’t have time to work on better replacements.

Conclusion

I still like the basic premise of the game and am thinking about developing a much more strategic version. I will definitely use Unity in future. However, I’m going to prepare some foundation LWJGL code so that I have the option to something pixel-art based if the mood so takes me. :)

Ooh, uploaded a Linux version as well, as you guys don’t have access to the webplayer
http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=15902

Black Knight Blockade – Post Mortem?

So, the past weekend has been a blast. Ludum Dare 25 has been the first game jam I’ve ever taken part in and to be honest I surprised myself a little bit.

Working on Black Knight Blockade has been a blast and the most fun I’ve had coding since I’ve done another mini-game back at university. If you haven’t done so, I’d suggest you give it a try – or I’ll send the Black Knight after you!

Black Knight Chasing

I didn’t really expect me to finish the game in time. Especially people liking the really simple gameplay concept (poke people but lose anyway!) were quite unexpected. I usually tend to overthink stuff a bit, dependencies and data structures for example. In the past, this lead to things getting stale, due to too much back and forth without anything to actually play with (i.e. framework stuff, entity handling, etc.). This project started out similar, but early Saturday evening I decided to go a different way: screw good practices and software architecture, I want a complete game within 48 hours. And this played out nicely.

Game Screenshot

Considering his rage so far, this is going to be his last stand…

To avoid boring you with long paragraphs or anything similar, I’ll just stick to a few bullet points like most people here:

What went well

  • Finding an idea: I had this idea literally within seconds. I’m not sure why, maybe because I’m a huge fan of Monty Python and Mel Brooks movies, who knows…
  • Getting the framework done: Window creation, main loop, event handling, etc. has been rather trivial thanks to SFML.
  • Graphics looking better than expected: I’m a big fan of the old Zelda games, and us such I thought trying to catch their style might be helpful. I think this one succeeded, without making the game look like a clone.
  • Sound creation being a blast: I’m no great artist. Call me code monkey, but not painter, artisan or musician. I’ve never heard of sfxr before, but it’s been an awesome tool to get everything I needed.
  • Creating entertaining gameplay: The basic idea was simple, but at first I couldn’t think of any real goal or fail condition. In the end a simple “get as far as possible” approach felt like the right choice.
  • Adding some fun: I really have to be honest here. I didn’t expect anyone to find the whole thing ridiculous or funny. The basic idea, yes, inspired by a movie, but other than that? The last minute effects and sounds really made a difference!

What went not so well

  • Wasting time on program architecture: I should know it better, and should have kept in mind that this isn’t going to be a project you want to make money off and expand over years. You don’t have to make everything perfect or only use best-practices. It can help, but Saturday afternoon I rewrote some parts of the code several times, cause I weren’t happy with my interfaces/dependencies.
  • Some parts of the code became quite ugly (see previous point).
  • Not believing in “programmer art”: Hey, I didn’t expect reading that people that find my pixels adorable or just love them. Seriously!
  • Lack of variation: I lacked the time to add some more variation, e.g. different peasants or enemies (well, they have different health and speed, but they all look the same!) or weapons. I thought about having King Arthur as a boss-like char you must not touch (or he’d cause you some flesh-wounds). Also – as some comments noted – the bridge is just another tile in the background: I should have add some mechanic for the water tiles, even if it’s just a tiny slowdown.

So, what now?

  • Due to the positive feedback I’ve received since making the project public, I’m definitely going to upgrade and extend it further. There’ll be different ground tiles (not just different appearance), maybe even random maps, more enemies, more weapons, etc. If you’ve got something you’d like to see in the game, tell me and I’ll try to add it.
  • I’ll try to get the game ported to Android devices. It’s already cross platform and should run on almost any decent PC running Windows, MacOS or some kind of Unix. I think this is the kind of game that could really shine on mobile platforms. Maybe even on the upcoming OUYA console as well! Only downside to this is the fact that SFML doesn’t support Android yet, but there are people working on this and I’ll definitely try to help them. After all I’ve got something to port now, too.
  • I’ll definitely participate in future LD Jams and Compos. I just can’t wait for the January MiniLD (hope spare time will be plenty)!

Tags: black knight blockade, postmortem

The Banker – Postmortem

My game was The Banker: An Atrocity in Three Parts
The Banker

It was made in slightly less than two days from scratch with C++, and entered in the Jam.
Libraries used: SFML and Boost Property Tree
Tools used: VIM (IDE), GIMP, Tiled Map Editor.

What went right:

  • I finished! This was the first game I’ve actually managed to do in time.
  • The idea. While I didn’t get to work on it for a day, I had the idea the moment the theme was announced and it didn’t really change at all after that. This is the first LD that I can say that for – although it’s the only one where I would have benefitted more the other way around.
  • I got most of the dialogue I wanted in
  • By compromising on features, managed to make all three parts of the game
  • It was almost funny?
  • SFML wasn’t as God-awfully obstrucvtive as I usually find it

What went wrong:

  • Programming took around twice as long as I expected
  • As a result, all graphics had to be made in ~1 hour
  • As a result, the graphics were terrible
  • Movement was too slow, but this only became apparent once I made the map larger than 10×10 tiles in the last ten minutes of the competition
  • Some of the dialogue was done in the last couple of minutes before I uploaded, so it’s a little badly written in places, and feels inconsistent
  • While it would never have been a “gameplay” type of game, it lacks even an attempt at gameplay features

What didn’t go at all:

  • Didn’t have time to do any music. Not even sFXR
  • Had to cut a few interactions, and jokes suffered as a result
  • Didn’t have time to add the minigame I had planned
  • Didn’t get in any social commentary or obscure economics jokes

Overall, though, I’m just glad I finished – it was a very close thing.
I spent so long on loading the maps that the benefits I reaped in terms of entity loading were rendered useless given the lack of art assets, which was a shame. Just having better art or any music would improve the game so massively that I think I ought to just brush it up a little next weekend.

Artificial Incompetence Post-Mortem

My first Ludum Dare/Game Jam was a success! There were definitely bumps along the way, but we’ll get to that in a minute. First of all the game I ended up with (Play it here!). You have a fleet of AI controlled ships fighting an enemy ship, but the problem is that your ships aren’t all that “intelligent”. So whenever they malfunction you have to complete a minigame or quick time event and fix whatever went wrong. As the game goes the events come faster and faster, and by the end an event is happening about every second. Now that that’s out of the way, here’s what all happened and what I learned.

 

AIScreenshot1

 

Bad Stuff

  • I had a game idea about one hour after the theme was revealed. In it you controlled the traps on a Meat Boy style level and had to stop the heroes from getting through. This was going well until about 12 hours later when I realized the game had a ton of problems, the biggest one being that it wasn’t fun. It also was going to take more art than I was willing to make and I hadn’t set anything up right so adding in new traps and whatnot was a pain. So I completely scrapped the idea and started fresh. More on that in the good part.
  • The game gets repetitive fairly quickly. I feel like a lot of LD games fall into this trap, but mine kind of shoves the repetitiveness into your face. I had originally planned for more events to be in the game, but I ended up with only 4. This was partly because I lost that first day to the first idea, and partly because by Monday I was completely burnt out. What I have now is basically a cleaned up version of a single day of work, even though I had plenty of time to add in probably two or three more events.
  • The game is incredibly hard. I’m sure you all know how hard it is to balance a game, especially in the span of only a few days, but I don’t think anyone besides myself can beat this game. I tried to balance it so I could beat it easily, which would mean that anyone else should be able to just barely beat it or just barely lose on a second attempt (It’s supposed to be hard, but not this hard). Apparently that thinking was completely incorrect. So the lesson learned is 1) find playtesters and 2) make the game to the point where you find it too easy and then make it easier.

Good Stuff

  • Despite losing that first day to a different idea, I still ended up with a solid and complete game. I attribute this mainly to Unity. I only started seriously using it about a month ago, and it still amazes me how simple it makes everything. So the lesson to learn from this is if your game is no good after a few hours don’t be afraid to scrap it and start again. If you’re working on a game you don’t like then you aren’t going to have any fun and the game is going to suffer because of it.
  • Again, Unity. I’ve talked to programmers before who don’t like it for one reason or another even though they’ve never even touched it. There’s no way this game would be anywhere close to what it is without Unity.
  • I actually had next to no planning when it came to the final game. Once I scrapped the first idea I had another one that did involve controlling AI ships, but not anywhere close to what it is now. So I started making that new idea by making some planets and making a bunch of flocking ships. Then I accidentally made the ships move way too fast and they started zooming around the planets and bouncing off the side of the screen. That gave me the idea for the “Gravity changing” minigame (Even though it makes no sense) and the rest of the game was born from there. If there’s a lesson in this it’s that even if you don’t have a solid idea just start making something. Inspiration will come from somewhere.

 

So that’s my thoughts on the weekend. I’m incredibly happy with how the game turned out (Again, you should totally play it here) and look forward to the next Ludum Dare. Now to get back to playing everyone else’s awesome games!

For Greater Good – Post-Mortem

Gameplay – Mars level

Right:

  • Graphics. At first it didn’t look very well, but then we’ve managed to get pretty graphics with help of the Blender
  • Music. Composed by team member Drahosh, I find it to be very addictive. You should certainly play it with sound unmuted.
  • Level design. First levels are simple, later it gets challenging and then really hard. I had lot of fun myself trying to beat my own game.
  • Level backgrounds. You are flying over real Earth, Mars or Moon. Just try it :).
  • Game code. Coding this game was fun, but seeing our 4000 lines of code working is even better, especially if things work like they were meant to.
  • To sum up: Really almost everything. You should play it here: http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=13839

Wrong:

  • Sound effects. Sound files are there, but I didn’t manage to get them working on time.

What’s next:

Android port is on it’s way. And there will be Android post-compo (opensource) in Play Store soon. We will add some more features and redesign levels to make them playable on smaller screens of Android devices.

PS: Feel free to play around with xml files in res/levels. And if you come up with something cool please mail it to me :)

 

I hope everybody enjoyed this LD as I did, and I’m really looking forward to the next one!

Shadow Possession – Post Mortem

 
Shadow Possession

Shadow Possession contains a goat!

Click here to view my LD entry.

Or click here to go directly to the game.

 

This post contains a few spoilers (sorta), so I suggest playing before you read on.

 
Phew!


What a hectic, fun, stressful, and exhilarating weekend this was. I’ve never participated in a Jam before, nor have I ever actually completed a game, or made something beyond the game I’m still working on.

That first game has been (slowly) in development for almost a year now, so the idea of creating a game in a weekend was very appealing to me. Almost like a “right place at the right time” moment for me, as I’ve been struggling to have the motivation to continue development on my first game. Turns out that LD was exactly what I needed.

All the lessons and techniques I’ve learned from working on that first game really helped me create Shadow Possession in the short amount of time I had. I’ve also learned that if I can make 8 decent levels in 60 hours, there’s no excuse for my first game having only 5 levels in 9 months! It’s been a good wake-up call.

 
What’d I miss?


I have a good list of things that I didn’t have time to get into the game.

Off the top of the list: more sound effects, an increasing difficulty curve, and new rules/additions to the mechanics.
 
Sound


Sound is something I always had in mind as I developed Shadow Possession. I imagined “darkness-y poof” sounds when you would flip and land, a “searing, burning” sound when you were hit with light, and the appropriate sounds when the lights begin to flicker on and off. They really would have added to the atmosphere, yet I simply ran out of time. A few more hours probably would have been enough, as I had gotten footstep sounds into the game, so it was only a matter of having the time to find the other appropriate sounds I needed. Fixing nasty bugs that appeared in the last hour or two took priority, unfortunately.

 
Increasing Difficulty/Additional Mechanics


I had wanted the difficulty in Shadow Possession to eventually start escalating, after the player had time to learn the mechanics I continued to introduce. I set the flow of the levels in a calculated way – You learn to flip before you learn that light hurts, you get used to avoid light to continue before you learn that some lights have switches, and so on. The final level in SP should hint at what I wanted to do next with the mechanics – mobile lights via people/creatures/machines/whatever made sense. My plan was to have some AI that would wander in certain areas, and if the spot you with their flashlight, they’d chase you. They’d be either random strangers or perhaps friends of “The Gentleman” (the guy whose body you possess). I also wanted to make the light kill you quicker (and perhaps not push you out as much), but balancing the difficulty with that would have taken more time, so I went for more of a timing approach.

 
The Result


Despite not getting more sounds and menu in, I’m still very pleased with what I turned out. It was a lesson-full, motivating experience to take part in. I’d like to compete in the next LD again, and do something with procedurally generated levels/content. I’m not sure what takes longer – hand-crafting levels, or letting your systems do that for you (and working out the bugs), but I’d like to take a crack at it, as I’ve never done proc gen before.

 
The Future


If you liked Shadow Possession, look forward for a new version in the soon future. Now that I can take my time and really give it some finesse and challenge, I’d like to see where the game can go. I plan on setting deadlines to self-motivate like I did for the Jam, so development won’t take years. I won’t try and estimate a release time this soon, but I plan on seeing what I can do in a week or two, and take it further as needed.

 

All in all, I feel a good kind of different from before I participated. A pretty tired kind of different, but a good one nonetheless.

Tags: 2D, as3, flash, Flixel, ld25, post-mortem

UNLEASHED – post-mortem

UNLEASHED - Son of Kracken title screen.

UNLEASHED – Son of Kracken title screen.

Play the game here: UNLEASHED – Son of Kracken

So it is with a bang and not a whimper that I end my second Ludum Dare competition entry!  I always like to wait a few days before I do a post-mortem like this.  I need the time off, need to rest my eyes and my ass (sitting in my crap computer chair really wears me out), and take my mind off it for a while.  Now, I feel like I have a good grasp of what I was doing, what I hope to accomplish, and what I could have done differently.

You are free to take a look at my previous entry if you want to get a glimpse of a project done wrong.  I was determined to not make the same mistakes as before.  I knew first-hand that I needed to do a lot more planning, even if it was only a simple design document with some concepts and strategies lined out.  I also knew that I wanted to use a pre-existing engine for my development.  I tried rolling my own the first time and it added a dozen layers of complications – unnecessary complications.  I was also determined to finish the damn thing – have a start, a finish.  Have some sounds and understandable art assets.  I think I did just fine this time around.

The entry I give you this year is called Unleashed – Son of Kracken.  It was Friday night, and I was halfway through the Hobbit when I remembered that the voting should be in.  I checked my phone, and was sad at first.  You are the Villain?  Not the theme I was hoping for, but whatever.  I sat for the rest of The Hobbit and thought hard about a game.  Nothing came to me during the movie – but the breakthrough came during the drive home.  I was listening to the XM radio in my car, and the word ‘Sea’ was in the title of the song.  That got the juices flowing – the sea…pirates!  Sea monsters!  The Flying Dutchman!  I started on an idea dealing with the Flying Dutchman, but then came around to being a sea monster terrorizing the ocean deeps.  The Kracken myth soon followed – and the popular line ‘Release the Kracken!’ right on its heels.  So if your father is ‘Released’, what does that make you? UNLEASHED!

ULEASHED - Son of Kracken Instructions Screen

ULEASHED – Son of Kracken Instructions Screen

Once I had the idea, much more started falling into place.  I had the skeleton of an idea, so I started writing.  I thought about sending ships to different ports, having a large world for you to explore, and having pirates to fight.  Some ideas I originally had were five or so types of boats of varying strength based on the island you were near.  This idea was abandoned in favor of all islands being relatively equal in the beginning.  I documented all this in a one-page document – the most crucial part of the process.  I am a ‘learn by doing’, so when I type something it gets wedged in my mind much more firmly than just remembering it.  Documenting the process was the best decision I made.

Once the concept was in place, ImpactJS took over.  Before, when I rolled my own engine, I had to deal with collisions, drawing, levels – all the sticky stuff.  Not this time around.  ImpactJS is an EXCELLENT engine for javascript/html5 development and I’d recommend it to anyone.  Well worth the $100 license fee.  I was able to get a prototype up within an hour, with a simple sea creature roaming an ocean with nothing in it.  With the built-in level editor I was able to get the islands and spawners in place quickly as well.  In fact, because of the power of the engine, I was able to spend the vast majority of the time on game balance, art, sounds, and other aspects.  With my first go (LD 24) I spent so much time on an engine that I didn’t have much time to work on an actual enjoyable game experience.  Using a pre-existing engine, and a robust one like ImpactJS, really accelerated the process and allowed me to focus on the game mechanics.

UNLEASHED - Son of Kracken Gameplay

UNLEASHED – Son of Kracken Gameplay

Mechanically speaking, the game is a little bit too easy.  Cannon balls don’t do a lot of damage, the spears are relatively simple to deal with, and the Merchant Marine that you face doesn’t cause much trouble.  The ship difficulty curve is also kind of wonky – when a ship leaves the map, its spawner gains a level and allows more powerful ships to spawn.  The ships also have a tendency to get stuck on islands (as do cannon balls and your acid spit).  On a much more positive side, mechanically the game is quite sound.  Attacking and being hit feel good (to me), and movement has a definite ramp-up feel to it.  You start quite slow but within a few minutes you can overtake anything on the sea.  I like using the ‘Dive’ ability to dodge cannonballs, and using the ‘Acid Spit’ ability to fire back.  The ‘Vortex’ is crazy powerful.  The game does technically have an end goal – once you kill 100 ships, the Hovering Dutchman emerges and challenges you.  When you defeat him, you have ‘won’ the game – but with the power of the HTML5 spec (LocalStorage!) I am able to give you a persistent character.  Even if you die, your stats remain the same so when you start over you have your same character as before.

UNLEASHED - Son of Kracken Gameplay Screen 2

UNLEASHED – Son of Kracken Gameplay Screen 2

What would I do different if I could do it all again?  To be perfectly honest, I’m not sure what I would change.  I documented my game before I started, giving me a good road map of where to go.  I used an existing engine to make my life easier, and make the game better.  I have little to no artistic talent (as far as drawing/pixel art is concerned), so I am happy with the sprites I was able to produce.  I really like how I used my voice for a lot of the effects, and am also happy with how that turned out.  If I were more talented or a better Google-r I could have provided some pirate-y or naval music.  I also would like some more decoration in the islands building, and the sea.  Additionally, more ships, some sea life, and more stuff going on in-game would improve the experience.  All of those things were clamped by time (and my sanity – I needed sleep!).

What does the future hold for Unleashed – Son of Kracken (if any)?  I really like the concept of the game and how it plays.  It doesn’t take a might stretch of thought to see it implemented on mobile platforms (using AppMobi’s Direct Canvas acceleration).  The game also lends itself to simple mobile controls (especially touch).  With some time I could also improve the assets.  It’s always been a dream of mine to see a game of mine in the app stores, and seeing people playing and enjoying my game.  I might see if I can’t take this a little further, polish it up a whole lot, and try it out!

 

Thanks for all your reviews and comments!

Untitled Post Mortem

See the entry here.

Good – why you should try the game, look at the source, and what I recommend for your next game
1) Learned about SFML.
2) Game was, I think, fairly pretty, which I wanted to do regardless of theme.
3) I wanted to make one of those surreal Ludum Dare game experiences. Given that more commenters thought the game was artistic than frustrating, I’ll call it a success.
4) Xsplit (free streaming software) works on computers with worse specs than the minimum requirements. I tried Flash Media Encoder, but it requires ManyCam or similar to present your desktop into a webcam as well. I also tried Open Broadcaster Software, I can’t remember why it didn’t work out, but I’d want to use it in future because it’s open source. I met a Ludum Dare buddy while streaming, so it’s good for networking. Also put a description above your stream link — I’m pretty sure I got the 1 viewer (aforementioned buddy) because I put “C++” and “SFML 2.0” in my comment on the streams post. I also implied that I’d be up for explaining what I was doing, which I really was.

Bad – What to improve on next time
1) Remember that at the start of the competition, the theme is posted on Twitter, not the site itself.
2) Use SFML only for what you can’t do yourself — treat it as a very thin wrapper to OpenGL, an event poller (and remember to turn of key repeat), something that gives you an audio callback, and a window maker.

Calling all local multiplayer games!

I’m interested in playing some local multiplayer games tonight. I’m aware of these:

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

But if your game isn’t in that list please tell me about so I can play it!

This Is How It Ends: Post-Mortem

ThisIsHowItEnds_Title

Post-Mortem // Play and rate it here

How could someone justify ending the world?

That was the question I wanted to answer. So I told a story indirectly, using personal narrative, correspondence from other people, and cold, scientific descriptions of doomsday scenarios.

To keep it from simply being a “click here to read more” game, I tried to make it emotionally difficult to progress. This led to the decision to start at the end, then have the player go back in time. The emotional weight would come from the scale of devastation, the local impact, and letters from other people (pleas, threats, news) that would show different perspectives on your actions, and also inform you of the past that brought you to the point of being a messiah of the apocalypse.

howitends_chart

That chart was in my head as I wrote the narrative, which I did first. Then I settled on a graphical look (super 16-bit) and created a setting that would be part of the story: a location that showed the effects of latest disaster you enacted.

Here, you can see the final stage (which is played first), compared to stage 2.

howitends_stageprogression

Each stage has a visible change. I think that’s one of the things that really worked out well.

There’s a glowing square in each scene. That’s a “memory” of the previous stage, showing how things used to be. This interactive object lets the villain provide some context and commentary, while serving as the “gate” between stages. This is probably the weakest part of the design, as the player has to walk around and touch things to discover how to unlock it. But once they figure it out, it’s the same each time.

There are two computer consoles in each scene. One shows the effects of the previous disaster:

howitends_acidocean_result

The other shows the impending disaster, giving you the option of activating it (sending you forward in time) or disabling it forever, which can end progress (“this is how it ends”) if you decide to abandon the memory forever. Here’s the Acid Ocean activate screen, which would be seen in the stage following the one with the result:

howitends_acidocean_activate

Finally, there are the Letters, which provide external perspectives on your actions, as well as insights into your personal history (including the dark events that turned you into what you are). There are a few one-offs, but I use several recurring characters to show progression. Here are two letters from the President, in reverse chronological order:

howitends_prez_letters

I’ve heard the colorful letter from the Fisherman’s Union of Anchorage Alaska (after you’ve acidified the oceans) is a particular favorite.

Ending progress by disabling the doomsday device AND closing the memory gate — thus stopping progress forward or backward — was supposed to trigger a narrative explaining what happened next, which would have further justified you moving forward. But time, alas. She’s a monster.

I hope I get enough feedback and votes to justify putting that in the game, giving everything a coat of polish, and posting it online for a few bucks. But even if that doesn’t happen, I feel a tingly sense of satisfaction at a story well told.

Thanks for reading. Merry Christmas.

-ted

Tags: post-mortem

Yay, timelapse!

So here’s my timelapse for my game!

The beginning is code and placeholder but it starts being fun with some sculpting at 00:55! 😀

Tags: timelapse

Cruel Cruel Dastard Postmortem

A little bit belated, but here’s my postmortem for Cruel Cruel Dastard (play and rate it here)

Things that went well

Recording my own sounds: 

Usually when I’m working on jam games I tend to make heavy use of free sound libraries (such as freesound.org) and content generators (such as bfxr). Since the main Ludum Dare Compo disallows use of sound libraries, I decided to give recording my own sounds a try. It turns out recording sounds was actually a lot easier than I imagined (and also a ton of fun).

Under normal circumstances, I might have spent ages searching through a free sound library for a train sound. While recording my own sounds, all I had to do was record myself blowing into paper and then tweak the result in Audacity to get what I wanted. Everyone who plays the game seems to love the evil laugh I included as a victory noise. That thing is basically just my own voice sped-up and it only took me about a minute to make, so I’ll definitely be recording my own sounds more in the future.

Re-doing the controls halfway through:  

When I started making the game, the idea was that it had a simple “click to place things on screen” control scheme. To build a large amount of train tracks, the player would have to place each piece of the track individually and switch to a different shape every time the track turned. To illustrate, here’s a screenshot from the game on day one:

notice how each shape has its own menu item

notice how each shape has its own menu item

If this sounds like a terrible and tedious control scheme to you, well you’re right! About halfway through the competition, I decided to scrap this scheme and make a much more intelligent track building system that allows the player to lay tracks or re-route existing tracks just by dragging their mouse across the screen. Even though it took a good chunk of time to implement, I think it was a pretty good idea, particularly since it’s now much easier to build tracks in the game than in my level editor.

still have to choose pieces by hand

still have to choose pieces by hand


Practicing Art Beforehand: 
 

I was using the Make Pixel Art web app for making my art. I like this program because it’s really simple and it has super useful “lighten” and “darken” tools that I can’t seem to find anywhere else (if you know how to get the same thing in photoshop or gimp, please tell me).

Of course, it’s simplicity has some drawbacks, such as not being able to easily constrain the size of your drawings. Fortunately, with a week of practice beforehand, I was able to get past these problems via silly solutions such as creating “frame” templates.

makepixelart

Things that didn’t go so well

No Time for Levels: 

Hey look at that! I kind of mismanaged my time for this jam. My original intention for the last day was to do some basic polish, make a few designed levels to introduce the mechanics (complete with tutorial text), and then build a procedural generation system for making the game more of an arcade style puzzle game (like tetris) rather than a deterministic puzzle game (like a rubiks cube).

If that sounds kind of over-scoped to you, you’re correct! I was still adding polish on Sunday when I looked at the clock and realized I only had one hour left and no levels to speak of yet. It didn’t help that my level editor wasn’t fully set up yet either.

In the end, I had to scramble all ten of the levels together in less than 20 minutes, which basically meant I got the tutorial levels in and not much else. Whoops!

Poor Prioritization: 

Part of the reason I ran out of time on Sunday was definitely due to poor prioritization. There are a bunch of mechanics in the game that are either not explored fully or not properly implemented at all (such as the rope mechanic). I think if I had done a better job pruning these ideas down to only about two or three basic mechanics (say, laying railroad tracks and dynamite), I wouldn’t have run out of time towards the end.

Also, certain pieces of polish that would be essential for a larger release–The “undo” button in particular–might not have been really necessary for a 48 hour game, particularly one as short as this one, so I might have benefitted from focusing more on the core gameplay.

Playing it “Safe”:

One of my goals for this weekend was to create something fairly polished that I could easily expand upon for a bigger release. In practice, this meant that I discarded a bunch of ideas during the planning phase that were a lot more experimental or interesting because I wasn’t sure I could expand them into something worthwhile in only 48 hours.

Of course, this means I ended up designing a game that was distressingly similar to games I’ve made in the past. While this isn’t necessarily a bad thing (plenty of people riff on the similar concepts several times before moving on), I think I could have benefited from going with one of my wilder ideas.

Another game with 3x3 explosions

Another game with 3×3 explosions

I think I still might be able to differentiate this game from some of my previous work by implementing the “arcade mode” which I didn’t get around to, so I’ll keep updating as I do post-competition work on it.

That’s about it. Thanks for reading!

 

 

The making of Park to Park

Park to Park screenshot

Park to Park screenshot

Here’s how my LD25 compo entry, Park to Park, came to be.

Concept

I had three basic game ideas lined up that could be made to fit a number of themes. I woke up early Saturday morning, checked on my phone what the theme was, immediately picked this one, and had a fully formed idea before I’d even finished my shower. There would be an evil businessman who wanted to turn a lovely green into an ugly parking lot. Of course there had to be protesters, so why not make them the ultimate symbol of love that is the hippie? The goat just fit in quite naturally. I’m not sure where this all came from; inspiration is an unpredictable mistress.

Coming up with a title was harder, but because I don’t like changing titles halfway, I just cut the knot after ten minutes and went with Park to Park.

Programming

I’m very familiar with the technology (HTML5, CoffeeScript and CSS3/SCSS), but programming still took longer than I anticipated.

I initially thought I could get away with really simple collision detection, but it didn’t work out so I had to make it more sophisticated. Somewhere along the line, a bug crept in that occasionally causes an enemy to miss a boundary and walk off the screen. It’s very rare and I couldn’t reproduce it, so I finally submitted with this bug still in.

Someone also found a bug where you can divide the playing field into two disjoint regions, by “skimming” along the opposite edge and then looping back. This is not good for your score, so this is not exploitable, nor does it crash the game in any way, but it’s still weird. I should have started pouring concrete as soon as the tape touched the edge of the concrete, rather than waiting until the villain has his feet back on safe ground.

From my previous games I learned that people like to compete against themselves, so I added a scoring system and a hiscore list. The list is saved using HTML5 local storage, which I’d never used before, but it turns out to be incredibly simple (it’s basically just a hash map, though it only stores strings).

For sound, I reused the technique from my previous game Cytosine, downloading base64-encoded WAV files and programmatically creating <audio> elements using a data url. It’s far from efficient, but quite effective.

Another problem with programming was — again — the music. How hard can it be to make HTML5 audio loop gaplessly? Pretty hard. I ended up having two <audio> elements, starting one when the other finishes. After the weekend, I got a bug report from someone saying that both were playing at the same time… For next time, I should probably research libraries to make this easier.

Gameplay

As usual, I didn’t take enough time tuning the gameplay and difficulty level. From the comments so far, it seems I got it mostly right by pure luck.

My biggest mistake was that I didn’t know my genre. I based this game on a game I used to play on Windows 3.1 whose name I could not remember, and I didn’t hear of its ancestor Qix until after the weekend. If I had known, I would have added the enemies from Qix that creep along the edge. This would force you to move and make it impossible to sit and wait indefinitely for the right opportunity, and make the game much more tense and exciting.

Graphics

This is the aspect I’m most happy about. I had a lot of practice lately using Inkscape for another, somewhat bigger project that I’m working on, and got a lot of inspiration and courage from Chris Hildenbrand’s excellent blog 2D Game Art for Programmers. Add some rudimentary but effective animations, and I’m quite happy how the look of the game turned out.

It’s really too bad that the characters end up so small on screen, and moving so fast. It’s hard to see the flowers on the hippie’s robe and the weird rectangular pupil of the goat (really, those guys are scary up close), and the hearts on the underwear of the businessman when he’s stripped for a split second before he gets wrapped in his own tape.

Park to Park entities sprite sheet

Getting all the tiles right and lined up for smooth edges of the concrete (except in some, ahem, corner cases that I later discovered) took quite some time, and with hindsight I should maybe have selected a simpler approach (like masking in code) to make it look good.

Park to Park rotated tile sprite sheet

Later additions to the graphics include the logo, and the lines on the concrete of the car park. As there was no entrance, I just made the arrows point in a circle. I suppose it’s a metaphor for the futility of industrialist progress, or something. Maybe. I guess.

Sound

For my first two Ludum Dare entries, I used Bfxr. For this one, I wanted more natural-sounding effects, so I used my webcam microphone instead. With no practice at all, it turned out I’m a lousy foley artist.

The “win” sound is me playing a scale on a tin whistle, sped up and pitch-shifted downwards. The “lose” sound, lacking real construction tape, is the crumpling of a plastic bag with some effects applied to it. The goat and hippie sounds are just my voice shifted up and down, respectively. The popping sound for placing the tape is me popping my cheek like this (well, almost like that). I did the “pouring” sound by shaking a bottle of water; that one worked out particularly well.

All sounds were recorded and edited in Audacity, which was also a first for me. Maybe it was my inexperience, but I think that’s one of the worst designed, erm, hacked up user interfaces ever. But it works, and it’s free, so I shouldn’t complain.

Music

Some people like the music, some people hate it. If you are in the latter camp, feel free to turn it off! The melody is a pastorale for two wind instruments by J.B. de Boismortier, entered by me into LMMS.

Since I’m not good enough at music to play anything myself, I had to find a tune that would work reasonably well when played mechanically by a computer. The harpsichord sample fits well with that, as harpsichords naturally have relatively little room for expressivity. The problem with LMMS’s harpsichord sample, though, is that it seems to be off-key, or at any rate it would sound awful together with any of the other samples like flutes and organs. That quite limited the options to make it sound interesting.

Chrome

By which I mean, intros, endings, menus and the like. The win/lose screen is just some basic HTML and CSS with a CSS3 transition applied to it. I had this idea of making it into an official-looking letter, hence it is exactly the ratio of a piece of A4 paper, but that didn’t really work out.

I had some images in my head of what the intro screens should look like, but didn’t get round to them, so you fall right into the game.

On IRC, Cryovat (much concrete beauty be upon him) mentioned that he was disappointed at the lack of a game over screen after winning, so I spent the last two hours scaling up the villain’s image, pulling him apart, and animating the parts with CSS3. I won’t spoil the effect; if you want to know, go and play for yourself!

Tags: postmortem

Comments

Cryovat
18. Dec 2012 · 20:44 UTC
Thanks for the name drop. 😀

Of course, a Post-Mortem.

I’ve been looking forward to this.

So I have to list the stuff I did well, stuff I didn’t, And goals.

What I did well.
-Made an actual game
I had been making games for a while before this, but I’ve always been kinda scared about releasing it. I decided to take part and I’m glad.
-Zombie AI!
I made my first AI! I’ve made stuff like moving platforms or goombas and what not but never something which thought for itself.
-I actually finished it.
It has a beginning, middle, and end.

What I didn’t Do well
-Rushed
A lot of levels where made in quite a panicky state and I felt I could have tried harder.
-Buggy
Zombie AI is very buggy.
-Story
It ends very abruptly and doesn’t really touch on the theme. I had very little time on my hands and I felt I should get the mechanics down before anything.
-Game maker
Game maker isn’t a bad thing; It’s just I’m bored of it. I like programming when It can keep me interested and Not frustrated.
I originally planned to do it in AS3 and Flashpunk, But FlashDevelop kept crashing and time was scarce, so I resorted to Game maker.

I had fun, And hope you did too. See you next time!

The Adventures of Jack Lumber: Post Mortem

If you haven’t yet, you can rate the game here.

This has been one of the best experiences in game development since I started roughly 1 year and a half ago. I made my first completed game at the last Ludum Dare, and while I was excited about it, seeing how much better I’ve gotten at art, programming, design, and sound in just a few short months is extremely motivating. Anyway, here’s what went down.

What Went Right:

  • The biggest thing I was able to do for myself this time around was choosing an idea with a scope that was reasonable for me. I had never done a game remotely like this, but choosing to do single screen levels, with very simple, but understable mechanics helped a lot. That’s not to say I did everything I wanted to (I obviously wanted more than one enemy type), but I was able to get a game that was fun to play by midway through saturday afternoon. From there, I was able to really start added to the core experience, like sounds, UI, End game splashes and stuff. Not only keeping with a reasonable scope, but defining what was core to the experience was crucial.
  • While my game doesn’t look great, I’m very happy with the amount of progress I’ve made in this area over the last few months. If you played my last entry in August, I think you’ll agree. Midway through the contest, I actually redid every sprite using a new pallete, and since I’m not totally sure how to use the color replacer in Photoshop, I ended up doing each one manually with the fill tool. It took more than an hour of time, but I think the results were well worth it. In the end, my game isn’t pretty by any means, but I would say that there is at least a consistent style throughout.
  • My wife can play it! Since I started making games, this has sort of been the litmus test for whether a game is approachable or not. My wife not only picked it up and played it, but kept playing for upwards of thirty minutes (she wasn’t very good…). I don’t know if anyone else has ever experienced it, but this is one of the most satisfying things that happens.
  • Finally, I think I did a much better job of selecting my tools. I had learned to program exclusively in XNA up until a month and a half ago, and was tired of having to package my games for windows only and with several dependencies. Now I can build games much faster, with a more powerful tool, and I’m also able to easily package them to platforms that other people can actually access them on. Being able to export to web is huge for me, since I can get people to play them, even outside the LD community. Seeing that hundreds of people have played my game is super cool!

What Went Wrong:

  • Like everyone else, Time. This time of year is full of Christmas Parties, Graduations, and Graduation Parties. In all, I was probably able to spend about 15-20 hours on it total, but I would have liked to get another five or so in. I had to cut back on the ambitious number of levels I was planning to put it, as well as the new enemy variants and environments. I’m not sure if this should even count as a “what went wrong”, since having no time is kind of the point.
  • Music. I was able to get full sound effects and music in this time around, but I spent at least 3 hours (as much as 20%) of my development time making a 30 second loop. I ended up with ok sounds, but I wish I could have found some more flexible tools. inudge.net is great in a pinch, but the variety in instrumentation is definitely lacking. I’ll definitely try to find another solution before the nest LD comes around. Ultimately, the problem here is that I didn’t have a firm enough plan going in.

I’m sure there’s more to share, but that probably plenty for now. I had a ton of fun, and I’m actually really happy with my final product, all things considered.

 

This may not be the place to post this last bit, but it’s been on my mind the whole time I’ve made this game:

I think it would be cool to work with someone (or someones) else for the next LD. I’ve done all of everything for all of my games, LD and otherwise, and I think it would be a  good experience to learn to work with a team on something. I feel like it would be really beneficial to start exposing myself to other peoples ideas and styles, not to mention possibly make something better than I could on my own. Sadly, I think I may be the only game developer of any kind for a 500 mile radius around my house. I know I’m not an unbelievable programmer yet, but if any artistic people want to give it a shot next go round let me know.

Relax Stream going live soon

Please join me today on my stream at 6 pm PST (-8 GMT) on 12/18/2012 (about three hours from now).

I will play your Ludum Dare game or one requested, just as I did during previous relax streams.

Tags: game, livestream, stream

Comments

fhoenig
18. Dec 2012 · 23:35 UTC
Try our subversive evil undercover cop simulator Riot!:

Some Statistics

So, it’s been two days since we submitted our game, Sky Pirates, to the Ludum Dare. Here’s just a little bit of information:

Users Before: ~20

Users Now: 42 (Our game is the answer to the ultimate question…)

 

Battles Before: ~10

Battles Now: 269!

 

This is really cool :) We’re glad some people are enjoying the game.

Dr. Vile in The Greater Good – Art Post-Mortem!

Hey everyone! 😀 I’m Joe, artist for Green Pixel’s games and for our first Ludum Dare entry: Dr. Vile in The Greater Good! I did the art and my friend and Green Pixel’s programmer, Rich, did the programming so we’ll each be writing a post-mortem of our experience.

First off, congratulations to every who participated in Ludum Dare 25! Whether you finished what you wanted to finished or not, think of how much more you have now than what you had before you started! 😀 I had that mindset going in and even if we didn’t finish in time, I would have still had art assets and we still would have had a foundation to build something out of. Thankfully, we did finish and now, not only do we have a great foundation to continue to build on, we have a game that people seem to enjoy! Thank you to everyone who’s played and we greatly appreciate your awesome reviews!

I’ve never worked on a project that had such a short timeframe. To all you 48-hour devs, kudos to you! I can barely tie my shoes in the time it took you to make a game! Right when we found out the theme, Rich and I immediately started brainstorming. From aliens to meteors to Mayans, we eventually decided to go the mad scientist route. And, thus, Dr. Vile was born! We gathered all our gameplay ideas and then I opened up Photoshop and went to work 😀

I drew inspiration for Dr. Vile’s look from all the mad scientist cliches out there. Lab coat, crazy glasses, disheveled hair, etc. It was tough fitting everything into a 16x16px sprite while keeping it discernible but I think I managed! He looks like a mad scientist, right? 😀 I also drew inspiration from a character in my webcomic, The Pocalypse, named Doc. Doc is also a mad scientist and I’m sure you can see the resemblance!

postmortem_doc

After I created Dr. Vile, I created the world around him. I usually work in one .psd for our game projects so I can keep everything together and keep everything in line with the theme. Here’s what I ended up with 😀

postmortem_photoshop

There may be a few things missing (like Dr. Vile’s computer assistant, Lexe) but that’s pretty much everything in the game! This simple (and small!) art style let me work with the time constraint while still being able to create as much “things” as possible. One important thing that I’ve learned from past game projects is the speed of my work, depending on the style of the game. This personal knowledge was invaluable in estimating how much I could get done in 72 hours 😀

Another extremely important thing for this project – and all projects, big or small – is how well Rich and I communicated. We’ve been working together for about 5 years, from a larger company to an indie studio to an at-home business, and knowing him for so long has created a great sense of communication 😀 I think that there’s nothing more important than that when you’re working in a team. For this project, it was crucial that we remained on the same wavelength because, obviously, art and programming are not the same. Rich let me know what was needed and what wasn’t and I prioritized my art list accordingly. I could have put Dr. Vile’s laboratory on the top of my list yet it wouldn’t have made it into the game. Imagine the time I would’ve wasted on a big, fancy laboratory if we didn’t communicate effectively!  And, while we both had the same overall vision for the game, the finer details had to discussed so we both knew exactly how the game would look and work 😀 I regularly send images like this to Rich to make sure that I’m on the right track:

postmortem_communicate

It was a super fun 72 hours and I look forward to doing a Jam again! I wouldn’t have done anything differently and I’m glad that I now know that we can create something pretty cool in so little time! 😀

We are planning on expanding the game so stay tuned for updates (we’re hoping to add crafting, more weapons, more locations, more everything)! Follow us on Twitter @GreenPixelDev  and feel free to visit http://www.greenpixel.ca and check out our other projects 😀

Thank you again for playing Dr. Vile in The Greater Good and if you haven’t, play it now and give us your feedback!

postmortem_lexe

Also, keep an eye out for Rich’s post-mortem!

Tags: post-mortem, postmortem

Bret: Postmortem

That’s right. I completed my game. Yesssss. 😀

Tools Used:
– Unity 3D
– 2d toolkit
– Photoshop
– git
– bfxr.net

High-Level Summary:
I think I paced and scoped appropriately this year. After the theme, I scoped out the game in the beginning few hours, as something that I could complete within about 15-20 working hours. I started with the most important work first (set up a build, linked in packages), then the hardest work next (minimum set of art), moved into the core mechanics (programming), then to polish (audio, bug fixes).

Time Breakdown:
11.35hrs -> Programming
05.10hrs -> Art
02.97hrs -> Public Relations
02.24hrs -> Project Management
01.95hrs -> R&D
00.57hrs -> Audio
00.39hrs -> Design

24.57hrs -> Total

Great job everyone! I’m excited for my next jam (GlobalGameJam) coming up in January! :)
Play and rate Bret here

Replay Value – Best Web Games

After Ludum Dare it would be easy to just game the rating system and ‘rate’ 100 games every night. However, I prefer to give each game the same amount of time I would hope others would give mine.

Let’s be honest, most entries are not replay-worthy, but replay value is the utmost important factor. Let’s also be honest: Games with outstanding graphics get more and better ratings across every category. I think that’s a shame because replay value is what makes the all-time greatest video games so legendary. Replay value really aught to be the second-to-top category, just under overall.

So here’s a list of games I’ve played so far that made me want to play again, and in some cases again and again. In my mind, these games fit in the true winners circle.

Trolls: Where the Sun Don’t Shine


I found myself wanting to get a higher score, to push myself. It’s amazing how such a simple title can be so addictive.
Click here to play

Plane of Misery


Although the timing is short, this game is a real gem. I couldn’t stop laughing at the mere premise of the game, and the gameplay itself was fun. Okay I admit the puzzle timer was way too fast but that didn’t stop me from trying this game over about 10 times.
Click here to play

Heroes are so Annoying!


Okay, so when I beat the game it was over; No more replay value. However, it took a couple tries to get it right. If only this title had random dungeons, I would sit here and play for hours.
Click here to play

Of the 43 games I’ve played and rated, these three gems are the only entries that made me want to play for longer than 5 minutes.

Good job.

Comments

18. Dec 2012 · 22:47 UTC
I’m always happy to come across game lists like this, especially ones that are curated for replayability. Thanks!
18. Dec 2012 · 22:54 UTC
It’s nice to see people appreciating and recognizing little games with that valuable trait. :)
Gjarble
18. Dec 2012 · 23:19 UTC
While it’s good to see such an emphatic substance-over-style statement, I would like to point out that entries not designed for replaying are not necessarily bad, especially in the case of story-based games, which usually don’t lend themselves well to replay (yet can become “legendary” as you say on the strength of the story alone). However, I agree with you that capturing and holding the player’s interest is an aspect of game design often overlooked in LD entries, and in more arcade-style games, this typically manifests itself through replay value. I think the “Fun” rating category is meant to be a more general version of this statement to account for different styles of gameplay (thankfully, IIRC, studies have shown that it’s the category most strongly correlated with success… though closely followed by Graphics).

The Evil Machinations of Fluffy McSnuggleBottom – LD #25 Post-Mortem

LD25_fluffy

> Play/Rate/Vote/Comment
> Time-lapse
 here: http://www.youtube.com/watch?v=LnqqZIqjIdA

The Theme & My Idea:

In truth I had a very specific goal coming into this Ludum Dare weekend. I wanted to prototype a mix of game mechanics and see if it was compelling. As long as the theme was fairly generic I figured I could make it work.

The theme “You are the villain” was announced as I was leaving work. I like timing the theme announcement time for when I’m not at a computer. I had an hour long commute to think through what I wanted to do.

My initial concept was a serious topic, but this fell apart early Saturday afternoon. What emerged was a tale about a cat.

Writing:

Another goal I was hoping to accomplish this weekend was to get my fiancee (Melinda) involved in writing dialog trees. We’ve been trying to get traction on our own game idea for a long time so this presented a good opportunity to put a fire under our asses to figure out a usable workflow. One of the first things I did Friday evening was write out a template in Google Docs including a sample dialog tree. The thought was that Melinda should could edit this doc, I could copy and paste into Chat Mapper, then export to XML for use in the game.

This workflow worked… pretty good! Melinda was able to follow the template well. Copying and pasting into Chat Mapper was quick. And the resulting XML files were usable almost immediately. What I didn’t account for was game dialog logic being so foreign to Melinda (she is not a gamer). I’ve played so many games with dialog that I can just see the underlying structure. It was difficult for Melinda to write without fully understanding how it would flow in the final project. Thankfully it took me literally minutes to turn her dialog into gameplay so she could see it in action and adjust accordingly. Rapid iteration saved the day.

The original scope was 3 stages each with 3 characters – so 9 dialog trees total. Final game had 1 stage and 3 dialog trees which was plenty of content for this jam. Melinda learned a heck of a lot about dialog in games and I learned a hell of a lot about explaining these systems. I’m considering ditching Chat Mapper for a simpler text-only file format. While the time it took to copy and paste into Chat Mapper was negligible, I quickly found that the tool might be too cumbersome to rapidly iterate on a text-heavy game.

Technology:

For the first time in 3 years I didn’t use Flixel for this Ludum Dare. In September I started learning Starling and have been building my own helper classes. This was my first completed project with this codebase. Things… mostly worked. There were a few very broken things that I came across that I had to just design around. I’m not a framework programmer by any stretch so I’m impressed when any of my code can be reused.

At this point I’m not sure if I’ll continue developing my own codebase much more or if I’ll just wait and either adopt Flash Punk 2 fully, or just parts of it.

Graphics & Sound:

I feel like I barely got to really polish the game and as such I had to make due with some fairly awful graphics and sound. Certainly for (my) Ludum Dare standards they are fine, but they just don’t come together as nicely as I’ve managed in the past.

Design Goals:

As stated, my primary goal this weekend was to test out several game mechanics and see how they played together. I originally covered the Platforming/Random RPG Battles in Abarrane (LD 19). These worked well together. For Fluffy, I wanted to try out my idea for a dialog “mini-game” that relied on stats that you’d build in combat. This came together pretty good, although I was incredibly nervous for most of the weekend. Essentially I was juggling 4 distinct gameplay mechanics during a 48 game jam. I honestly didn’t feel like I gave any of them the love and attention they each deserved. I was most worried about that intangible “glue” that holds these things together and until late Saturday I didn’t think this game would come together as well as it did.

Overall:

Was this my “best” Ludum Dare entry? No. But did I achieve many of the goals I set out to achieve? Yup. Ludum Dare’s are all about learning and practicing my craft so just participating is rewarding for me. Having a game I can show others after the weekend is just a bonus.

Ludum Dare 25 Jam Recap

 

Rob:  the thief

 

It’s Nathan this time, I thought I should write something since Brad wrote and streamed everything else.

Summary

We didn’t have our sights set too high for the competition. I am in college and I just finished my final projects on the 13th after pulling a couple all nighters so I didn’t get much time to prepare. Our main goals were to come out with something playable. We also wanted to learn a lot about game dev in general and game dev with Java + Slick2d. We are happy to announce we accomplished those goals.

Brad and I have never really worked on a project together before and we are both first time Ludum Dare participants, it was a great experience for both of us on the collaboration aspect and the 72 hours without proper personal hygiene aspect.

Personally I had never worked on a single repository with the same person before, I was new to conflicts when merging so that was great to learn.

On a final note overall it was a great time, we generally completed our goals. We were hoping to finish  something with more substance, such has sound in the game, a bigger map with more obstacles, enemies, etc, but we are happy with the result.
All we have up right now is the source, however we will soon be adding a jar and hopefully an applet.

What went wrong

  •  Not enough time was spent preparing before the competition started.
  •  We should have familiarized ourselves with the Slick2d Library more before starting
  •  Got less completed than we hoped
  •  Did not get to implement sound into the game

What went right

  •  We learned more than we originally thought we would
  •  We got a rough prototype completed
  •  We were able to stream the process, and take snapshots for a time-lapse video (coming soon)
  •  Built a lot of reusable component based entity classes

What’s next

  • Build more from the prototype, add more of a level, change the art, add sound, etc.
  • Refactor and fix the bugs that exist currently due to the shortcuts we had to take to finish on time.

None Shall Pass : Post-Mortem

I’ll start this off by saying that I really enjoyed this Ludum Dare. Last Ludum Dare I participated in (LD24) I didn’t like the game I created at all. Well, I sort of liked it, because it was the result of my hard work. But I didn’t like it as a game. This time around I quite like my game. It isn’t the funnest, and the AI I implemented sort of sucks, and one can win the game by holding attack while to the far left of the screen, but I like it.

Looked at others’ post-mortems to see what to do, so here goes (bullet-points for brevity):

The Right

– I successfully completed the Ludum Dare! (for the second time)
– I created a better game than my last LD
– I implemented the style of art that I was hoping to, and pretty successfully in my opinion
– I implemented some form of AI (although the knights are not very smart still) which is my first time trying to create AI
– I actually commented my code while creating my game
– I managed my time pretty well
– I am pretty happy with the audio I created
– I actually want to continue to work on the game and hopefully add different attacks and a new way to block, a delay between attacking, less cheatability, and better AI
– I really appreciate everybody’s comments :)

The Left

– I think the game is too long for how monotonous it is
– I agree with one reviewer that the gameplay is bland, which is why I hope to add more to the game to mix things up
– I would have liked to make the wave/kill HUD(?) look better
– I feel like I was oblivious to the outside world while I was working (is this a good thing?)
– I don’t know what else to put here
– I like reviewing other peoples’ games, but I find rating hard, because I appreciate everybody’s games and think they are all great

 

And now a screenshot to make this post less boring:

@_wampa__stompa

I like the way the legs look when the knights jump :)

Eco Terrorist: Results

After 3 days of developing (only had 9 hours of sleep). We finished level 1 and started working on level 2 but sadly, level 2 isn’t ready (but we did put in a secret WIP preview in the latest and final LD build).

What I learned from this Jam: I should have just used placeholders for the graphics so I can work on the features more. I just realized that while I was working on level 2

I have A LOT of cans on my desk. Need dem sugar to keep me running. Things really started to heat up Heater

Game: Eco Terrorist

Here is some pretty pictures. I hope it’s not too CRAPPY Toilet lolz

 

Da Desk

 

Da Fridge

 

A couple of screenshots:
Splash

Intro

Explosion

 

 

Comments

Suese
19. Dec 2012 · 00:01 UTC
I never could find the easter egg. I even tried three times to find it. It’s kind of ironic that massive 3-monitor system being used to make a game about conserving power and being environmentally friendly. :p
haloflooder
19. Dec 2012 · 00:11 UTC
Try the bathroom 😉

Amongst Shadows Post-Mortem

Well, here’s my post-mortem for Amongst Shadows. This is copied from the original post on my website.


Theme

The theme was “You are the Villain”; I had hoped it would be “End of the World”, given the date and that I had a good idea for it, but that was not to be. Now this was a somewhat difficult theme for me, because I hate playing characters of the evil archetype; I wasn’t going to create some mindless mass-murder simulator. I decided to make the morality of your actions somewhat ambiguous. You’re on an infiltration job for some mysterious organisation, you’re probably a mercenary, making you morally grey. Furthermore, it isn’t clear whether this organisation is good or bad, though it’s hinted that they’re bad.

This brings me to a more philosophical question, who is the villain? To the guards, you’re clearly the villain. To the organisation, you’re a good guy. The villain is a matter of perspective, and who you asked.

What Went Right

The AI I created for the guards is probably the highlight of the whole thing for me. I’ve never really delved into AI before, so it was a new experience for me. Considering that, I’m quite happy with what I came up with. The guards have a field of view, and they can’t see past solid objects, nor can they see you when you’re hiding in the shadows. The have a level of awareness, they fire at you, and search around your last known position when they’ve lost sight of you. Ludum Dare certainly fosters rapid innovation.

In terms of visuals, I was quite pleased with the animation work I was able to do, especially the guard’s death animation. The lighting worked quite well, although the light shapes were a bit rough.

Other than that, I was able to work around 27 hours in total, a new record for me.

What Went Wrong

I was planning on using LÖVE this time, but I hadn’t thought about level loading and editing, and tiled collision (things that FlashPunk makes easy). Ogmo Editor has worked quite well for me in the past, but it exports to XML. I tried various Lua XML solutions, but none seemed to work properly. Besides that, I’d tried tiled collision in LÖVE, but I just couldn’t get it working properly in time for the competition. It’s a real shame, because LÖVE has so much more capability than Flash/FlashPunk, especially in graphics and physics.

One major post-release problem seems to be input lag. I don’t know why, but as soon as you run the game in the browser, there’s some minor input lag that makes it difficult to backstab guards, and makes it slightly harder to move. Another reason why I wish I could’ve used LÖVE.

The game was shorter that I’d have liked, but I just didn’t have the patience, nor time, to create many more levels.

Besides all that, there were points where I was very worn out, and starting to get emotionally down. The work catches up to you, and anxiety creeps in; it goes away after time, but it’s not pleasant to go through.

Conclusion

While I had fun here and there, and ended up with some great innovation in AI, I don’t think I’ll participate in the main competition for some time. There are good periods, but even more “I want to end it” periods. Perhaps I’ll participate in the jam next time if there’s others to work with; that might be a more laid back experience.

Anyway, thanks for reading.

Tags: post-mortem, postmortem

Sorting submitted games by play type

I would love it if we could sort submitted games by the play links that were submitted.

For example, if I can only play Linux games, it would be great if I could search only games that have a Linux play link.

Some “advanced” search options, pretty please? :)

Comments

19. Dec 2012 · 02:57 UTC
It might be problematic, since the “type” of platform it is is a string, not a selection (e.g. “Web” might also be “Web (Flash)” or “Web – Unity” or “Flash”). But I agree something along these lines would be super helpful. =)
Gaeel
19. Dec 2012 · 08:23 UTC
Another issue is that some games have other ways of noting which systems they can be played on.

For example, mine says “All systems” since it’s a java project which launchers and libs for different systems all packed up in one.

Plunder Postmortem

I’m glad I was able to participate again this Ludum Dare. This is my third jam, and first time submitting to the Jam rules. While that’s technically true, as I submitted on Monday, I didn’t really start until 24 hours had already passed. That, coupled with the solo work and the starting from scratch, makes it feel to me more of a compo entry, but alas, I have no say in the matter. Onto the postmortem.

Plunder Postmortem

I decided to give Lua and LOVE another shot this time around. I have been using the framework off and on over the past year, and really enjoy how rapidly you can develop on it, but the lack of true Object-Oriented Programming techniques have hampered me in the past (and as you’ll read later, nearly caused me to bail this time around, too). There are plenty of great libraries out there that create a pseudo-class system, but they aren’t as fully featured as you’d find in a natively OOP language because…well…of course they won’t be!

The Idea

When the theme came out, I immediately started think “Tower Defense”, because it works extremely well with it. Simply put a princess in your tower and done. But As usual, as soon as I started looking at what other people had been posting I once again realized that the first idea is often the same idea everyone has. I could have just rolled with it, because even though it’s a bit obvious it’s clearly a good idea, but my first Ludum Dare entry was also a Tower Defense game, so I wanted to try something different.

I eventually came up with the idea of a rampaging boss razing and pillaging a town, all the while having to fend off various heroes along the way. The boss would be clearly more powerful that an individual hero, but though sheer determination, they could eventually whittle the boss down to defeat it. Thinking back, I must have gotten the idea from a recent play through of Rampage: World Tour with a buddy of mine, because it hits all the same beats. I even was going to have “peasant” characters that the boss could eat to regain health, and a destructible environment.

Programming

I tore though the framework relatively quickly. Most of it was all fairly benign code. A Hero class with subclasses for the particular Heroes, a Boss class, a Block class for the environment. I started out exclusively using vrld’s HUMP libraries, but I ran into a few snags (the big one I later figured out was of my own doing), and switched to kikito’s middleclass for my pseudo object orientation. I used vrld’s HardonCollider (you read that right; it’s the LOVEly thing to do) for my collision detection, although if I had known about it earlier, since I only used AABB’s, I could have used kikito’s bump to lower a bit of overhead.

Art

If you look at my game, you’d think I was still in elementary school! I have come to realize that I am a terrible artist. I plan on putting in some effort of the school break looking into Inkscape and vector graphics, because GIMP is not cutting it for me. Too much freedom, not enough “tweakability”.

Challenges

I had three big challenges, all of which stem from the HardonCollider library and my interactions with it. Granted, I have not really used it all that much, so I maybe it’s just growing pains, but it ended up costing me a lot of time that I could have used polishing the art or adding some more mechanics.

Is your mama a llama?

You are supposedly able to use the HardonCollider objects inside your classes, simply adding to the resulting table your additional information. But it did not seem to interface too well with middleclass, because I could never add those objects into HardonCollider’s object pool if I tried to assign its created object to self. I assume it has to do with the metatable being overridden by middleclass, and therefore HC cannot guarantee that what I am passing in is a HC object, but I ended up having to create a separate bounding box field inside the class to hold onto the HC object’s information.

This might not sound much of an issue, but you have to understand how HC works. After you add your objects to its object pool, you write callback functions to describe how the objects should respond to one another. However, the objects you get in the callbacks aren’t attached to the class objects you created them in! Luckily, in Lua, this can be fixed easily without having to change any of the libraries code: just add a field to the HC object that points back up to the the object’s parent. You just then have to be aware that you have a circular path here, so you need to be careful about how you use those objects.

Calling for disposal in a garbage collected world.

Lua is garbage collected, which helps greatly when dealing with a quick project like the game jam entries. And most of the time, it works like a charm. But here’s the tricky thing: Lua has no proper way to define a destructor (or dispose method for a garbage collected equivalent) for non userdata (i.e. C API interfacing) objects. So, when you do something like say, registering an AABB with a collision detection library, and then say, change levels, unless you are keenly aware of this fact, even though you’ve lost access to the parent of the AABB, which should have destroyed the AABB, it persists in the ether, since the collision detection library has no way of knowing that the encapsulating object is out of reach of the program. (It really isn’t, considering that I had to attach a reference to the parent on that object to fix the earlier issue).

If destructors were a part of the Lua lexicon, then maybe this wouldn’t have been an issue because I would have had to thought about this beforehand; but when I run a few checks and see why my levels are changing even though my boss character is no where near the door, everything sudden falls into focus, and I curse to the heavens. And, as usual with things like this, the bug is often super simple to fix compared to the amount of effort required to find out what exactly is causing the bug.

Why did we decide to move our origin again?

Everyone knows (or should know, otherwise how have you made a game for Ludum Dare) that most 2D graphics libraries out there choose the top left corner of the screen to be the origin of their Cartesian coordinate system, and that the positive y-axis points downward from that point. I understand the decision to make positive y point down given that the origin is now in the upper-left, but why make it there in the first place? Why not follow the convention of mathematicians everywhere and make the lower-left the origin?

Besides random pontificating, the point of that was to show how the convention works. Most people extend that convention to everything that requires a coordinate system within their code. If you have a local coordinate system for an individual image, the origin is the upper-left. Mouse movement? Upper-left. Consistent across the board.

HardonCollider does this as well, but for whatever reason, when dealing with it’s movement functions, it decides to use the centroid of the object as it’s movement. I can only assume that since HardonCollider fully implements SAT collisions, since it can handle any convex polygon, having to calculate the “upper-left” might be too much of a hassle when using any other point would also serve the same purpose when moving based on velocity, but when you have a moveTo function, you’d think that you’d be moving the upper-left of an object to the specified point, not the centroid.

This one might be on me more than vrld. Once I actually took the time to read the reference materials I saw it was stated fairly clearly, but it was fairly annoying while I didn’t know, and caused me to implement walls because I couldn’t understand why the images would jump in the air whenever I tried wrapping them around the screen.

Things I would have done differently

Don’t try to be as ambitious as I was. I think next time I do a game jam (which likely would be the Global Game Jam coming this January), I’ll try and pitch just making a simple platformer. No enemies; no weird mechanics; just a finely tuned platformer that I could finish rather quickly and spend most of my time polishing rather than implementing critical code at the last minute.

Work with an artist, or hone my art skills. I was reasonably happy about my game until I started adding art to it. I didn’t have much time (nor honestly enough energy) to spend on making some decent art, so when I threw together some art to replace my sweet rectangles I had been using, everything looks so incredibly ugly. I almost thought this was too embarrassing to turn in. So, hopefully by next Ludum Dare, I’ll either have gotten a team together for the Jam, or have greatly improved my art.

Timelapse

Here’s a timelapse of my stream from the weekend. Not much to say really. It’s good.

Robo Jerks – Post Mortem

“I can totally make a turn-based strategy game in 48 hours!” I stupidly exclaimed at the beginning of the Ludum Dare 25.  I aimed high, eventually aimed for progressively lower targets, and still missed.  My game, Robo Jerks, is in a playable state, but it is far from complete.  But it does have an orphanage to destroy, because those smug orphans need to be knocked down a peg.

What went well

  • LÖVE is so lovely, and it has the best library names.
  • I’m not a huge fan of pixel art, so I’ve mostly stayed away from using ASEPRITE.  However, this game had me making 32×32 images/tiles, so I gave ASEPRITE a try.  Holiest of craps, that thing worked wonders!  The art for this game was relatively painless.  I’m not saying the art was great, but it wasn’t a painful, depressing process like it previously has been.  Then again, that might just be because I was only making 32×32 tiles.  Regardless, I’ll definitely be using ASEPRITE for things in the future.
  • Trello!  I used Trello to organize and keep track of what I needed to do, which helped me stay focused.
  • The theme!  You are the villian?  It’s great because I could pretty easily make any kind of game I wanted to.  I didn’t panic for a hour because I couldn’t think of an idea.

What could have gone better

  • I put off adding sound and music until the end, which was a mistake.  I should have definitely worked on the music earlier, since music isn’t that hard for me.
  • I should have practiced (i.e., make warm-up games) and worked on my code base a bit more.  There were definitely some libraries that I wish I had made beforehand that I definitely will be making for future LDs.
  • I spend a couple of hours at a party on Friday.  That was a social obligation I should have neglected.
  • I rewrote the in-game UI because the first thing I did was make a really simple, keyboard-based UI (that took longer than I planned on) just so I could have units do things.  And the kicker is the rewrite wasn’t anywhere near what I originally intended to do, but I had to settle because I was low on time.  Hence, I ended up with a UI that was clumsy and frustrating, especially to those who didn’t spend several hours playing it.  I should have just taken the time to get the UI right the first time.  That would have likely saved some time.
  • The GUI library I made for LÖVE was missing some features I thought I implemented, which caused quite the headache.
  • The menu screens: boring.
  • I really would have liked to have a multiplayer mode.  In retrospect, I could have squeezed in the time for that.
  • I intended on having an additional use for energy: abilities.  The idea was you’d have these buildings you’d have to build, and for each one you build, you can use an ability (at the cost of energy); e.g., healing a unit, allowing units that have used their turn to go again, and bombing an area to damage units.  I had to cut that.

What went horribly wrong

  • Just like last Ludum Dare, I planned on doing too much.  I though I was planning out a manageable amount of content, but had to cut out a lot of stuff (what does an alot of stuff look like) in order to make progress.
  • AI.  I completely underestimated how much effort the AI would take.  I originally wanted the enemy army to be able to build units to fight you, but I didn’t have time to implement that.  I also didn’t really have any time to implement any intelligent AI.  Units just move towards your base (without thinking about the attack range of your units) and attack the first unit within range (without thinking about the health of your units).  I originally just wanted one level, but since I didn’t have the time to get the AI right, I just quickly added 2 more levels (and a weird-looking level select screen) with more enemies.
  • Since the victory condition is destroying the orphanage and the AI couldn’t produce units, there was a long, boring trek across the map to destroy the orphanage after defeating all the enemy units.
  • Originally, I intended on having a fog of war and an extra unit: the scout.  The scout’s purpose was to provide vision, especially for long ranged units with little vision (basically, the artillery unit).  I had to drop the scout as soon as I dropped the fog of war.  However, the units weren’t really all that balanced after that point.  If I had originally planned for having 3 attacking units, I could have had a nice paper-scissors-rock thing going on.  The infantry unit is cheap, but pretty useless.  I wanted to give each unit abilities in order to fill the gap left by the scout, but I had no time for that.
  • The maps: so boring.  When I realized that adding terrain you couldn’t move across would be nice, I realized that I would have to rewrite and test a lot of things to make that change.  So that went to be bottom of my to-do list, never to be seen again.

Normally, I fiddle around with my game for at least a couple of weeks after a Ludum Dare.  I distinctly remember saying “NOPE!” to that when I submitted my game.  I claimed I didn’t want to see any code for several days (which would interfere with what I do for a living).  That was a filthy lie, I was working on the UI the next night.  I might even follow through and release a less-terrible version in a couple of weeks…but I’m not sure I’d get my hopes up.

Sir Cat postmortem

http://www.ludumdare.com/compo/wp-content/compo2/201083/5160-shot0.png

Sir Cat postmortem

 

Overall, I’m exceptionally happy with how this turned out. I took a near-complete leap of faith and used a bunch of new tools- new graphics editor, new development setup/OS, new IDE, everything except the kitchen sink and the programming language/library. I used the following new stuff this time around:

  • Krita for Graphics Editing- I was so impressed with this that I’m no longer using anything else- this is really a great piece of work. Open source too!
  • SPE for IDE- Admittedly I’ve been using python for the past few years and never fooled around with SPE. (Seems like a crime against nature, doesn’t it?) The tool did well, but the debugger doesn’t like lots of entities at once, so at a point I was forced to debug from the command line.
  • Ubuntu- I’ve done a little bit of development on it, but nothing much at all, so this was a new experience for me as well. I’m never developing anything on anything else again, it was such a breeze on Linux. :)

The rest:

  • Python
  • Pygame
  • Old code from LD23 (“Dreamworld,” if you’re interested.)

What went right: So much went right with this time ’round that I can’t even begin to list all of them, but I’ll list a few, because I know you guys wanna know :)

  • Python- never lets me down, never gives me obscure pointer errors
  • Graphics- Normally I’m relegated to glorified programmer art. Krita let me do a whole lot more, and I’m more than impressed with the results.
  • Angular velocity- Learning trig in my math class, naturally I wanted to apply it, so I added angular velocity for the player and mice, and while through post-compo playtesting it now seems (to both me and the people who’ve commented on it) a little annoying, I think it really brings out the mice as an innocent “feather.” I like the effect.
  • The idea: Normally my ideas are way too far out to reasonably complete in 48 hours. This was the first which I felt I’ve truely fulfilled in the best of my abilities given the time
  • Goats: I added a goat- a laser goat made out of yarn attempting to take over the world- naturally.

Where I found gremlins hiding:

  • One short, confusing level- Many people I’ve shown the game to are confused as to how to win the game- I explain that there’s a sign that goes across the screen, but even then it seems too vauge…
  • Misaligned text- I don’t like pygame’s text, it doesn’t let you specify “centered” or anything sane like that, so I had to guess as to positioning…
  • Python/Pygame: I think this will be (sadly) the last entry I make with python- I’ve hit upon many limits of it in making this game that wouldn’t be there on other platforms. It’s a great learning tool and really helped me get to this point though.
  • Py2Exe: eeevil eeevil tool, I had to use python 2.5 (when Itanium was a thing and support for windows 9x was *starting* to look old…) to get a nice .exe for windows.

Overall, I love how it turned out, will definitely be making a post-compo version, and who knows? Depending on how much positive input I get, I might just go all out with this one- That’s how much I love it.

Finally, some advice to first-timers:

If you think you didn’t do well, that you didn’t try, or anything negative, it’s not true. You just found out how *not* to make a game. This is my 5th LD, and the first which I think I actually did OK in- it took me a while to get it right, and it might take a little while for you too- just know that each time you do it, you get better, and not just by a little bit either. You start noticing yourself doing things you never thought you could do, or even dream of, during any normal time. LD is not a competition, it’s a learning experience. You don’t win LD, you learn by doing it, that’s what you take away from it. Hell, you just had some of the most productive 48 or 72 hours of your life- even if you didn’t finish, you still have (at least some of) the code, the art, and the idea- and most importantly, you worked hard on it and learned from it. You don’t get to be Notch without learning how to make a ton of separate, unrelated games. That’s the point of LD, and if you had fun, you won it.

 

-JoeCool17

Play and rate my entry here!  http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=5160

 

Tags: post-mortem, postmortem

post-mortem

So this was a fun one. I was not able to work on my game on Monday and all, also ended up only being able to work on it for a few hours on Sunday. I got a lot further than I thought I would and I am pretty happy with how it turned out.

This was one of the themes I saw on the list that I did not want to do, so it took me awhile to come up with an idea I liked. I ended up with the stealth based 3d platformer mainly because I had never tried to do a stealth game before.

What Went Right

The Level Creation went well. Unity makes it easy for one man teams to make larger levels and get collision working

Enemy patrols and detection- They are alittle jerky when turning around, but in all I like how the enemies move around. People seemed to understand right away that they needed to stay out of the red light in front of them

The Camera- about half way through the day on Saturday I threw out my camera script and re-wrote it. Giving the player full control over the camera has its drawbacks but since you play as such a small character the player needed to be able to look up and around them to find their way around.

What Went Wrong

Player movement- This is the big one. I made my movement and camera together at first, so when I got rid of my camera my movement suffered for it. I was not able to redo it in time. Because of this the player moves too quickly at times and can be hard to control.

The Map- Just play the game and you can see how this went wrong….

The Tutorial- I waited too long to do the tutorial and because of that it is not very good.

 

What I wanted to add

A real map

In game dialog, some witty remarks from the bug bot and stuff

better lighting, me and unity still don’t get along when it comes to light

better controls

More toys, I had lots of different gadgets I wanted the player to be able to use, but I never could add them in

 

All in all I am happy with how far I got. Hopefully next time I will have my full team to help me

Tags: post-mortem

Memex: Artist’s Desktop!

Play Me Here!: http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=10976

Hey guys! While I figure out the inner workings of my timelapse (aka; pruning it of excess shots and figuring out the best song to go with it), have a peek at my Illustrator desktop post-LD completion. :) It’s kind of crazy, and I honestly think this was the most ridiculous desktop I’ve had in the past 3 LD’s Zeik and I have done.

Anyways, despite the fact were in a Jam, 97% of the assets were made by me right when the Jam started. (The other 3% being the 7 or so stock photos I used from sxc.hu)

I hope you guys enjoy! It’s full of insanity, AND OMG SO MANY LINES AND ALIGNMENT-OBSESSIONS!

Little Death Adventure : Post Mortem

 postmortem_lda

The course of action 

It is our first Ludum Dare… Our creative process is simple, one emits an idea, the other takes what is pleasing and reformulates something else or reverse the idea and so on.

So we try to find the best in every ideas. With an old friendly bottle and some chocolatine’s, we took 1 hour to find the idea, not the most original one, but one which the both of us agreed and liked.

We had some issue with the theme being you are the vilain and the slaughter of newtown. What to do, jump on it, take from it, shall we change our game to make something different. All in all the theme was a pain, processing violence in that climate of “game too violent” is sh*t. So we took the humour way.

 

Take random guy, choke him to death, make bim bring justice to innocent souls… Why ? are we just values on death pathes ? Why someone with no way had to die more than… some other ?

/end of brainfuck. go make something fun and highlight the ridiculousness of the situation.

I unilateraly agreed to start an engine from scratch drawing from my personnal lib and borrowing deepnight and benjamin’s lib. Take from the best. Always.

A quick start with the design of the character and the main bg  quickly made. At the end of the first day, we had all the main character animation and a full bg for the game, the platformer engine was roughly functionnal with some xml level design and sprite sheets.

The gamedesign was very clear from start, make a harsh timed platformer. Time + points is a good constraint easy to tweek.

Matthal quickly agreed to participate for the sound and his music adds lot of depth, we knew very hearly the game was going 111 second why ? because 666 is way too long so he tuned the song and it was perfect !

Went to sleep at 3am, and came back to work at 9am.

The second day we focused on content creation and bugs. BM produced 150 punch line in the morning.

Gyhyom operates in stances, he just did the introduction in 2 hours, props creation and collision tiles took a lot of time.  Then at  2 pm he crashed. His mind were absent, did no longer understood anything. BM in despair. We had no level design and no good tiles. BM goes desperately chasing his bugs.

Hopefully, starting 7pm, and with the help of a good meal, Gyhyom’s head restarted, and he went all crazy : the level design was made in 1 hour, and he had plenty of time to do the title screen and the html page for the hosting page of the game. We were saved :)

BM added some feedbacks like character slicing, glows, tried to iterate over playability and intuitiveness.

BM struggled a lot around game timing (flash sent me update every 15ms 1ms 15ms 1ms dunno why…) but i had started too late. so i just unlocked the game in 60 fps and submitted :)

What went right :

– content creation was quick if we except blackout phases

– the game is pleasing, hardcore with some glitches but a fun ride.

-writing a platformer engine from scratch  is coooool…

– Haxe our old friend, thanks so much ncannasse to bring such a powerful tool for game creation. The MT libs and tools like hxods (bless ya) , bmp embedding (soo gooooood) and xml fast (bless ya twice) allowed us to speed up content creation sooooo much.

– sound integration and music what nice

– we are already professionnal the exercice is soooo stimulating.

What went wrong :

– …but writing an engine from scratch costs much :)

– we underestimated the 48h timing constraints.

– game scope is limited… we could not push all the ideas in the game we would have added some levels, combo system and “slowing” patterns. Dying would habe been of the party too. and I miss scythe interactions (grip) :)

maybe for an extended version :)

 

Conclusion

A very good experience this ludum, but very tiring. It ‘s a bit like going to do live concert after years of studio. Refreshing, exhausting, stimulating. We  hope that all the ludum’s members will enjoy our game ! txall

A villainous Post mortem

So for LudumDare25 i created a pseudo 3D bank robbing game. At first i thought it was a really great idea but i bit off far more than i could chew.

 


THE GOOD:

  • I made a passable 2.5D ray caster from scratch with no libraries.
  • It was in a playable state by the end(Ill get into that later).
  • I HAD FUN :) :) :)

THE BAD:

  • For some reason some people have been saying that it’s unplayable. I can’t understand why because i built it on a computer with a 600mhz processor and 2g of ram, so I’m fairly sure it’s not a performance problem.
  • There was only one level, one enemy, and and one objective.
  • There was no sound or polish.

THE UGLY :(

  • There were two horrid bugs, one that crashed the game and the other that rendered sprites through walls(Can’t believe i neglected to fix that ).
  • The frame rate did drop once you got really close to sprites.

IN CONCLUSION:

I made a video of me playing the game in the uploaded state on my PC to show you what it should look like.

All in all though i had a great LD and i can’t wait for the next one. Can’t wait to play everyone’s games.

(try 😉 )Play it here

Watch the video here

P.S the frame rate in the video is shocking mostly because i live streamed that and my internet is crap

cheers, kix

 

Tags: java, ld25, post-mortem

Comments

loren
19. Dec 2012 · 04:02 UTC
I’m able to run it from the jar (win7 i5 processor)

Making-of : Keep Our Dungeons Evil

Creating a building and managing game requires a lot of forethought and planning. And a good one needs to be rich enough to be a fun and interesting challenge. But when the theme “Your are the Villain” came up, it was hard to resist the temptation of doing a tribute to Dungeon Keeper. So we decided to do it anyway.

Titlescreen for KODEscreenshot from KODE

Keep our Dungeons Evil : http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=10263

What we managed to get working in time :

In KODE we wanted to add a nice twist which was to have an inspector arrive and check that your dungeon was truly an example of evilness. We thought that would suggest some backstory of a higher hierarchy where the player is only managing a branch of a greater evil realm. The kind anyone can relate to, since we all have someone to respond to at some time or another.
We’re really glad we managed to get that in the game in time. We kept it for the end, in case the other more urgent challenges we had to address first wouldn’t allow for that added layer of gameplay.

Also six buildings (corridors count as two because of turns) PLUS three animated characters is actually a lot to design and get working properly. Not only did the artists barely work fast enough to get them done in time, but some of them posed some serious coding challenges. And sleep deprivation really didn’t help in that respect. Especially  AI pathfinding was a big mouthful. Our coders must have spent half the time getting that working for the game.

What we needed more time for :

So the player has to place each bloc manually and you can’t really turn them otherwise than selecting them as different blocs. But give us a break, we only had one weekend ;).
The lava pit clearly deserved more functionality than it’s current evil aesthetic one. Even if it counts a lot in the demon inspectors eye. Maybe in a future release you’ll be able to drop someone in there.

We decided early on we wouldn’t go into fighting. It can also be interpreted as a game design decision as much as a time management one, but it clearly deserves more time to think about. And it could have implied more characters (three is enough for one weekend).

Some of our designs planned for more types of building like trapped coin boxes or canons pointing outwards for some more evil kudos. But you just have to know when to stop.

And more spells would have been a blast!

In any case, all I can say is, I’m having a ball just playing our game, which isn’t a very objective statement since I worked on it, but it still showed I loved working on it and I hope it will show when you try it.

ONE LAST THING : one of our late bugs is that everyone seems to get the WIN screen when finished. but you’re not THAT good. Until we sort it out I would suggest you to put your score in your comments to know if you are truly evil or if the goat only says that because it loves you all, deep down inside.
I know we don’t. But we are very evil, we hate everyone ;)

Have FUN !

lose screen from KODEwin screen from KODE

KODE - Lavapit conceptKODE - Proton Canon concept KODE - Hatchery conceptKODE - INspector conceptKODE - goblin conceptScreenKnight01

 

Please play and rate our game !!

 

ECHO CHAMBER Soundtrack available

You all have been so great when playing my game and rating/commenting! This is technically my first Ludum Dare (I participated in the charity jam and warmup), so to experience the community has been a real treat.  Thank you so much for being so cool.

A few people mentioned enjoying the music for the game, so I uncut the cut parts and have uploaded it to listen and/or download.

I hope you enjoy it! Keep playing all the games, there are a ton of great experiences out there!

 

Automatic Music Composition Tools

H-JEM
Random music composition tools. Better music means more polished games. Random generators are fantastic for inspiration, even to hardcore composers. Compiled with the help of Zeik and ChainedLupine in the LD chatroom.

These are all free except Easy Music Composer, and ACS which is shareware and in my opinion is amazingly useful even without a pro license. For me at least, ACS has an almost 1:1 ratio of success; it prompts immediate inspiration. I’ve personally found Wolframtones to produce quite meaningful ideas as well

music_2

http://codeminion.com/blogs/maciek/2008/05/cgmusic-computers-create-music/
Kindly suggested by AdventureIslands in the comments below. This is quite mind-blowing in fact.

wolfram-tones3

Wolframtones     <- algorithmic, very interesting pattern. Has preset genres like jazz, world, rock, etc.
SoundHelix-logo

 http://www.soundhelix.com/  <- Sound Helix  cool pattern-based compositions

( http://www.soundhelix.com/audio-examples )

images

Circuli   http://www.earslap.com/projectslab/circuli <- ambient generator

scs_emc2

Easy Music Composer http://www5f.biglobe.ne.jp/~mcs/emc.html

images

http://hp.vector.co.jp/authors/VA014815/music/English/autocomp.html< very very useful musical ideas. This is a must

*

Greasemonkey’s Autotracker-Bu <- Run “python autotracker.py”, you will get an .it file, then use your favorite tracker ( like http://schismtracker.org/wiki/Schism%20Tracker ) to export it to .wav or .mp3. ( link and description provided by jarnik )

*

http://www.bemmu.com/music/index.html <- music driven by a simple math formula. interesting convoluted results

*

http://www.earslap.com/projectslab/otomata <- freeware online version, paid iOS app

Please signal boost this post and if possible get it on the official site. What is a community without communal spirit!

Also be sure to suggest more of these

Tags: #LD48 #LD25, music, resources, tools

the Throat of the World

we didn’t finish.

but we are gonna be working on the game along the week :)

this was probably one of the most creative and inspiring weekend in my life. we where a team of 5 doing 2 different ideas.

200% fun.

here are some sprites for you to see. the next update is gonna be the game!

goat bye!

the-throat-of-the-world_sprites

Salut, très bon jeu.

Bonne continuation.

 

LS-MAN Postmortem

It is pretty depressing to work on your idea for a few hours on Friday night only to realize that at least one other person is doing the same thing as you. I had looked at a Google image search of “Atari 2600” just to see some basic game implementations and ponder how to reverse them. When I saw the Pacman game, I realized that it was something simple enough to do in 48 hours, and complex enough to not be just a concept demo (I think I fell somewhere in between). A game where the ghosts are trying to trap the Pacman wouldn’t terribly difficult: minor AI, simple screen, few animations, basic controls. It seemed like a good idea, and it was, which is probably why someone else selected it, too. After Friday I refused to read the “other” journal for fear of 1) unconsciously directing my creativity choices and 2) to not get discouraged and quit early. I continued on.

On Friday night I decided I wanted to use a mouse select->command scheme for control. Ghosts randomly move around the map until you click the ghost and tell it where to go. It will follow the path to the destination, where it will return to roaming. I didn’t want them to just stop somewhere because then you’d be able to camp out and essentially block Pacman while you herded the ghosts at your own whim. Having them roam would make it more difficult to trap Pacman. Friday night, after I created the map and creature code, I implemented the pathfinding system.

Most of my wasted time on Saturday was spent implementing the pathdirecting and pathfollowing system. This drove me nuts and I nearly threw it at the wall. I don’t think I ended up using most of what I did because it got to complex. I was able to rewrite it so it made more sense and was easier to debug. Once this was done, the ghosts could be directed, but also wander. I added some sounds and replaced some of the placeholder rectangles with bitmap graphics. At this point I had the makings of a game, but not things to make it an actual game: game over condition, accomplishment measurement or general polish.

gameplay

I don’t actually remember much of what happened on Sunday. I worked on some of the same things, but by the time there were only a handful of hours to go, I knew I wasn’t going to be able to make it. The deadline came and went, and I was onto the Jam. Monday I had to work, but I was able to spare a couple hours afterwards to add the game conditions and finish the UI to give the illusion of a finished product before submitting.

What Went Right

placeholder graphics – Usually I sketch things out while I flush out design and end up using them as the graphics. I like the resulting style. It give it that cheap cartoon animation feel. For this entry, however, I didn’t sketch a thing and used placeholder squares and lines. It let me implement features earlier instead of spending time trying to animate or adjust images. I don’t think sketching things is ever bad; it can help you bring your game idea to life even if you never use the image in it. Placeholders force you to work on what is more important and spend less time on things that would get removed or reduced near the deadline.

pathfinding – I used a couple AS3 classes from Untold Entertainment (which only needed a couple tweaks, see their comments) and it worked out really well. There are a few things that I could do to make it more efficient, but it was good for this task. I will definitely use it again.

codebase experience – I’ve been using Flashpunk for a couple years now, so I am getting much more familiar with it. I have built up solutions using it and have been able to leverage those solutions in future projects, reducing some wasted time trying to ‘reinvent the wheel.’

I submitted it! – At the end, I managed to get something that could actually be considered a game, even if it’s not up to the finished idea in my head. I really didn’t want to submit a demo or sandbox because that doesn’t really count as a game.

What Went Wrong

endgame came late – I didn’t actually get the endgame stuff in there until the last hour before I submitted. I should have worked on this earlier. I think next time I will be sure to add the endgame circumstances, even if the rest of the gameplay isn’t there. I still have to write gameplay before the end, but this would allow me to push the more dropable stuff to the end in case time got tight.
reconnaissance – I probably should have investigated my partner-in-idea’s logs at some point to see if there was something I was indeed missing. Based on the review comments so far, I really should have added a better method to select the ghosts, perhaps buttons on the screen and/or keys on the keyboard.

AI – I initially thought the AI was not going to be hard, but I ran out of time and never really had a chance to implement it. The Pacman and undirected ghosts are essentially random. I wanted to have them show a little personality, perhaps chasing or trapping the Pacman, but not so much that you don’t have a job when you play.

random change of position – I don’t believe the real Pacman game allows the ghosts to change direction except at an intersection (or when a power pellet is used). It’s been awhile since I played, so I might be wrong. Anyhow, a lot of my wasted time was trying to get them to not return to the just-traversed hallway without going around. I eventually gave up. Looking back now, it doesn’t seem like it was that big of a deal to warrant that much time spent on it.

node/tile types – I designed the game to keep pathfinding nodes separate from map tile data. The pathfinding system uses nodes with only three options: edge, wall and hall. At some point, however, I realized I needed more than just those three tile types or would have to hack in other properties. I would have to go back throughout the entire pathing code to implement new types. This introduced a few problems and I even had to back out a couple hours of changes. I think next time I am going to go with a standard tile that doubles as a node and contains properties that can be used instead of checking specifically for certain tile types.

Conclusion

I have to rate this as a successful competition because I was able to submit something that I can consider a game and not just a pile of crap that lets me vote on entries. I’m not completely content with the end-of-compo result, but I don’t know that it is possible to ever be fully happy. I’m probably sitting somewhere about half satisfaction. It was a great experience, however, and I can really tell that I have made progress over the years. Can’t wait for the next LD competition in April.

Tags: final, ld25, screenshot

Post Mortem

What went right

-Even though we all live in different countries with different time zones and no one knew each other(we met each other a week and a half before the Ludum Dare), it went really smooth. Awesome guys.

-All the game mechanics were easy and fun to do.

-The gameplay is fun(my opinion).

-The discussion after the theme release was fun, everyone gave their input/ideas.

-The art and the music are really good.

 

What went wrong

-The choice to use GameMaker Studio to do this. I should have used my own engine or the 2D framework i’ve made for unity. The Html5 port for of GameMaker break the game.

-I spent a lot of time on the stair system trying to make it feels right and work with the AI(even though the AI is not working perfectly), but i redone the stair system 2 or 3 times.(So much time for an easy thing =/ ).

-The AI. I needed more time to polish the AI. In the last few hours did some things that broke the AI(careless mistakes).

-Even though i like the controls, some people said that the controls are weird. I had no idea how to map the controls on the keyboard, i think the game is better played with a joystick.

-Monday around 3pm there was a hail storm that happens once or twice a year(blame it on Murphy) in the city i live in(Goiânia – Brazil). I live in the outskirts(outside actually, almost an rural area) of the town so i lost power for almost 3h.

-No time to make the online highscore that i wanted. Shame =/.

 

What i wanted to do

-An hideout(between levels) to craft and upgrade your gadgets.

-More game modes.

-Super heros with super powers(shoot lasers and etc).

Conclusion

This Jam was really fun, it was really fun to work with the team, no stress at all(aside the time that i went out of power). I spent most of     my time play-testing the game and making small adjustments to make it feel nice. The game came out pretty good for our first Jam.

Game page:

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

 

Spy Trouble postmortem

As many other people, I had some hard time thinking up my game idea this LD. In the end I decided to make a metroidvania platformer. I wanted it to get players to learn and master the controls and be able to do parkouresque awesome moves in the end. Here is how it went, and how I feel about this.

What was the plan?
To create a metroidvania style platformer taking place inside an evil scientists hi-tech lab that allows users to learn and master the controls and be able to execute cool moves inside.

What went right?
I have managed to tailor the game as intended and I was able to master it nearly perfectly.

What went wrong?
It appears that the players find the game really hard. It seems havign mastered the game, I had to require some external testing, that I had simply no time for during the LD. However, I keep telling myself they’re just lazy 😛

What was left out?
I had to cut down on few features. One of these is movable enemy robots, that I didn’t even start to work on. The other would be final boss. The environment of the game is pretty tight, so I am eventually glad that I did not stuff it with more obstacles. I also had grenade launchers ready and working, that I left out. I just thought it unnecessarily make the game harder. Also, enemies have HP and cool this hit-effect all ready, but I wanted the game to be as speedrunnable as possible so they are all one-hit-kills.

So, can you speedrun?
Sure! I decided to record a video of me speedrunning it to perhaps help players who might have trouble on the way! Here it is:


Play & rate & play again!

Goat stories

Post mortem of  title  coming soon ( the game is here if you want to give it a try), but just one mystery fail for now:  the goat trap.

In our game, you place various traps in your evil-haunted-mansion-in-the-woods to scare, slaughter or attract those various pestering highschool cliches:

intro2teaser

On the web version (the only one for now), when you activate the “goat trap”, this is what happens:
nogoat
(exploding goat, why not… )

While this is what we draw/animated/coded:
goat
(obvious reference is obvious, plus T-rex make everything better anyway)
Yep, dinosaurs have disappeared from Earth and our game, and we lost half a hour not finding why this animation didn’t work ?_?

Anyway, don’t hesitate letting us know what you think of the game, we’re planning the post-compo version so feedback is very much wanted :)

victimes
(come on, you know you want to slaughter them ;D)

Crobal and friends, post-mortem

Crobal and friends

Mixed feelings folks, mixed feelings.

I mean, I totally made a game in 3D, I learnt the basics of OpenGL, and I did it. I also learnt all the side stuff to that, exporting models and UV maps in Blender, texturing models with GIMP, and importing and rendering that shizzle with Java and LWJGL

But there REALLY isn’t much to this game.

I mean, people are getting used to my LD games having little to no actual gameplay. Solitas Exodae was the pioneer in the “pretty thing with no gameplay” genre I am defining. Solitas Exodae was followed next LD with Robot in the Garden, which didn’t yield quite the same success (more about that here), but definitely confirmed my distinctive “Hey this is cute, but erm… what am I supposed to be doing? Oh… Nothing… Kay…”-inducing games.

Now understand, I’m actually more of a fan of gameplay-rich games, give me Angband over Final Fantasy anyday, but for some reason, during LDs I spend so much time tweaking the visuals that gameplay gets boiled down to pressing arrow keys to explore the world.

So here goes…
What went well:
> I totally made a game in 3D, what up with that bro?
> The character is procedurally animated, that was fun
> I learnt Java (I knew some Java from school, but I learnt so much more here)
> I grew confident in my modelling skills
> Also, this was made at the LD gathering at my university here in Montpellier, France
—–> This event went really well
—–> There were 14 of us, and we had loads of fun
> I finally completed Hexagon and set a personal record of 81 seconds

What went wrong:
> It’s not very pretty, especially for a game with no actual gameplay
> It’s a game with no actual gameplay
> I didn’t have time to make music for the game and I LIKE making music
> I STILL don’t know how to make an applet, so choosing a Web-able language seems so futile now

Here, play it!

Comments

24. Dec 2012 · 11:23 UTC
Well you certainly inspired me to take a crack at 3D modelling during the event – in my opinion so long as you’re doing *something* new it’s worth while, and you did rather a lot new 😉
Gaeel
24. Dec 2012 · 12:14 UTC
Memory serves, it was decided and conveyed within 2 hours of the end.

Breaking apart BREAK! – A Post Mortem

Well, I’ve thrown my entry into this December’s Ludum Dare, and I’ve come out happy and better for it!
Without further ado, let’s get to reflecting upon my entry in to this year’s jam.

The Good

  • The Gameplay Worked, and it was polished!
  • The tileset looked pretty.
  • I was able to write a grid-based movement system after scrapping a smooth-moving system that was proving to be incredibly troublesome when it came to sticking to walls. That recovery was what set me back on track.
  • 7 Levels + Start and End. Lots of variety.
  • A musician friend of mine told me that the music I used was kick arse.
  • I discovered that #’s are Line Breaks in Game Maker.

The Bad

  • My choice of sprites for the main character was poor.
  • As was the choice of sprites for the guards.
  • There should’ve been more enemy variety, or different types of Guard AI, even simple things like Left to Right/Up to Down.
  • A narrative written at 3 in the morning to accommodate the theme was probably not a good idea.
  • I didn’t make much use of the crawl or lean mechanics in the later levels.
  • In spite of the polish, there were some minor movement bugs I didn’t quite anticipate that other players picked out.

The Strange

  • The ‘goat of disapproval’ makes no sense unless you’re paying attention to the narrative. (Spoiler, the main character is a Were-Goat/Satyr/Something)
  • There was a bug that I fixed which disabled you from saving if where you came in was in the same place as the save point, on the X or Y axis. I had to change some things at the last minute to prevent this from occurring.
  • There’s a -very- subtle bug with the cameras. You’d notice it in Room 4 (after the crawl room) – the Camera sight follows the camera perfectly, allowing it to see you around a corner sometimes. Whoops!

That aside, I had a lot of fun! I’ll see you next time!

-Luca!

Tags: BREAK!, post-mortem

Timelapse of The Hunt

dead goatWhile I write a postmortem for my abominable entry, you can watch my timelapse. Usually I keep chronolapse running for the whole Compo – this time I had to keep switching it on and off because of other things I had to do on my computer. It’s around 20 hours of coding. I also added some comments.

And if you want to see and rate my Jam entry, here’s the link.

Tags: hunt, timelapse

Close My Side Post Mortem

LOGOcms

Close_My_Side_20005

Hi guys!

It was a great time for me (and I hope for you too)!
Quite a bit, I want to talk about my LD25 game. The first day I did not do anything. I sat and tried to think of a visual style (at this moment I have not thought in any genre will game). I have not been able to come up and went to sleep. Came the second day and I woke up in the afternoon. Yes, I had very little time. But I ran out of time and I finished the project. Game (not really a game) was very short. But I had time to do it. Art, music, and animation.

And I was working in the bathroom. The house was very cold.

work in bathroom

I hope you enjoy my game!
Everybody all the best!

PLAY CLOSE MY SIDE

Tags: blood, close, dark, dead, indie, post-mortem, side

Comments

Ariake81
19. Dec 2012 · 12:36 UTC
games making in the bathroom, i should try that next time :)

TerraForma – Timelapse

Here is the time lapse for my game TerraForma. This time I cut out all the boring parts when I was sleeping.  Play/rate my game here.

And now for the video:

Tags: timelapse

Comments

19. Dec 2012 · 11:56 UTC
The music fits nicely with your timelapse video! Now i’m going to play your game.

LD25 Postmortem

Now that it’s all over, and comments are still rolling in, it’s time to figure out what went right, what went wrong, and just what I’d change. All of these things are things I will change for this coming year, and my New Years’ resolution, One Game a Month. They’re basically the things I will focus on, one or two at a time with each game. As my LD24 resolution was ‘Next time, I need to focus on making a fun game, and one that works from a technical standpoint.’, this resolution will be longer, and aimed at making me a better game developer overall, rather than just a better game jammer. This’ll be a bit of a long post.

What went right:

  • The idea(s): I managed to come up with a simple idea for each theme in the final round of voting. I didn’t stop there. When it was announced, I forced myself to come up with another two ideas I liked. The first was an Evil Genius-like game, which basically everyone came up with. The second was so unmemorable, I’ve already forgotten it. Out of the three, I decided the early one and the first one were the two I liked best. Out of those two, I went with my keyword: “Antibition”. Rather than go with the ambitious dungeon-building game that involved lots of mechanics and was considerably more impressive, I decided to go with the simpler idea, but polish it a lot more. The choice was a good one, after seeing how many people came up with dungeon-building games, and how few people came up with railroad-type games (one, that I’ve seen)
  • The tools: Starting out, I decided that I would have to choose between C++/SFML, the hard option, and Python/Pygame, the familiar option. ‘Hard’ in the sense that I was unfamiliar enough with the library that I wasn’t confident I could make a full game, even if I could make a tech demo. If I hadn’t felt confident I could at least make a tech demo showing off the mechanics (but not including any user friendly interface, animations, etc), I would have chosen the familiar option and researched SFML more before next time. C++/SFML was immensely more powerful than Python/Pygame, less problematic, and a lot more easily packaged.
  • The progression: My initial milestone was making a working representation of a railway system, with junctions, with no train. The second milestone was getting junctions (or actually, any tile) to have a mode, which toggles the direction of travel when coming from the right direction. The third milestone was representing a train that exists on rails and moves in a pixel-based fashion (this failed, and was replaced by..). The fourth milestone was getting a node-based graph back-end to the railway, created when the level is initialised, and on which the train exists. The fifth milestone was getting the train to respect junction modes, and to have a variable speed. The sixth milestone was being able to toggle junctions (by mouse callback, which then calls an internal function that the AI also calls when changing junctions). The seventh milestone was allowing the AI to turn you around, and adding cooldowns for all these abilities. The eighth milestone was getting the cooldowns represented onscreen as the HUD, as well as the current speed. The ninth milestone was getting a working menu system to choose between two levels. The tenth milestone was getting an instructions menu. Those I had established beforehand. Once those finished, it was all polish, reworking graphics, failing to add audio, etc.
  • The updates: In case you were reading my site, you might have noticed what were basically hourly updates on what I’ve been doing, following all those previous milestones. These were a bit of a nuisance for a particular roguelike news aggregator picking up a dozen updates in a day, but were useful both for me and for people to see my progress in somewhat real-time. Next time, I might attempt a livestream, or, if not possible, a timelapse. At the same time, I’ll attempt to be more active in IRC next time.
  • The endpoint: Finally, I called it quits when I should have. Finishing the core gameplay and milestones less than a day in, I didn’t decide I should give in to feature-creep and keep adding mechanics I wasn’t sure about before. That, most likely, would have had me at less than five hours left with no polish and half the mechanics broken and unbalanced.

What went wrong:

  • The graphics: I’ve mentioned I’m not fond of the graphics in it. The animations are horribly choppy, and the train is a classic example of programmer art. I’ve never been properly artistic, or at least artistically creative, and I feel this shows in the way I tackle graphics in most projects. I’m capable of producing half-decent art for things like backgrounds, terrain, mechanisms, etc, but I’m really bad at detailing them properly, animating them fluidly. This is something I know I can improve, and I will improve, however my resolution for this is another. I will attempt to collaborate with artists more, for game jams especially. Not having to deal with the graphics would basically free up half of my core development time to spend on gameplay, and almost all of my polish time to spend on bugs, balancing and interface work. Speaking of..
  • The interface: This is basically a remnant of my progression as a programmer. I started out with Visual Basic when I was very young, which is fine, but it was way over my head at that point. Followed that up with Pascal, but stayed well away from any of the graphics bits in it, and worked solely with text/file input/output. Veered into C/C++ at one point, steering straight into user interfaces and OpenGL, and gave it up when it turned out they were difficult. Moved through various languages, always managed to stay with text-based interfaces, attempting tutorials on graphics-work every so often and giving up once the projects got big enough to be useful. Settled on Python for a long while, and after a long time, decided to turn my roguelike work into simple graphics. Gave it up once again. This year, I finally decided to stop being a baby and tackle graphics properly. In the month or so I worked with OpenGL, I managed to get to a point where I’m no longer scared or confused regarding graphics, 2D or 3D. In fact, I’ve even got 2D perfectly under control now. However, my interface work is still horrible. By which I mean, menus, widgets of any description, buttons, windowing systems, etc. Sure, there’s GUI libraries out there, but I need to go an use them. My resolution is to make a game with a proper windowing system, and an interface that works, feels nice to use and has no bugs.
  • The audio: Something I wasn’t happy with was the lack of audio in the game. This was because of two major reasons. My electric guitar and preamp decided that they should be noisy as all hell when plugged into my computer, to the point where I could not manage any sort of clean recording, and my dorm is also noisy as all hell, to the point where any attempts to record my acoustic guitar were foiled by people shouting, dancing, singing off-key and yelling at one another on the hallway just outside my door. There wasn’t any sort of clean recording in the whole two hours spent attempting to record. To that end, my resolution, which is unrelated to game development in itself, is to attempt to pick up a piezoelectric bridge for my acoustic to allow me to record on my acoustic properly.
  • The intuition: To start off, I know I’m not the most eloquent person. I definitely know I’m bad at explaining things as well. I also know that most things that seem intuitive to me are plain ass-backwards to most people. I’ve had this pointed out to me what feels like half my life so far, and accept it, while attempting to improve it. I already knew before-hand that I need to consider everything in my game as unintuitive as possible to most people and attempt to explain it as well as possible. I managed to fail to consider junctions as a potentially unintuitive element, and have also managed to fail to explain the AI’s abilities properly, or make intuitive enough that it requires no explanation. Out of the ten or so real live people I’ve had test my game (while of course offering no assistance or comment besides the ones given in game, translating for some) only two thought the junctions were intuitive, three spent over five minutes attempting to make a train turn in a junction in a way it isn’t possible for it to, eight didn’t understand how the cooldown meters for the player worked, and nine were annoyed when the second ability for the player showed up. Five of those nine considered it a bug, despite reading about it in the instructions. Out of the other four, three said it makes the game plain impossible, and refused to believe me when I demonstrated how to win, claiming I had changed it somehow since I was the developer. So, my resolution is to make mechanics as intuitive as possible, not only easily explained, but to require no explanation whatsoever.

That’s basically it. A long post, but I hope it provides some insight into the process of finishing a game jam, for me.

Decommissioner Postmortem (LD25 48 Hour Compo)

This was my first ever game jam. It occurred a very short way into teaching myself to program again. My current skillset is very limited, though my conceptual understanding of programming is a bit above what I can currently do — for example, I can’t successfully program graphics, at the moment, but I have done so before and have some idea of how OpenGL, at least, works.

In spite of that, however, I figured I could get something done, and now seemed better than later. I learned a lot about Python in the process, particularly with exception handling, and in general had a blast.

Pre-Compo

Since I went into the project knowing that I was starting from such scratch as dreams are made on, I had what turned out to be realistic expectations for what I could accomplish in such a short time frame. Here’s how I envisioned my prospects going in:

  • I wasn’t worried about concept and gameplay design. I am accustomed to designing simple, focused games on short notice.
  • I knew I could come up with some kind of interactive game mechanic and program it in a decently short period of time.
  • I was not sure I could add graphics or sound, so I was prepared for the possibility of needing a text interface for the game. I therefore planned to focus on mechanics first and only add graphics/sound if I had time.

In the weeks leading up to LD25, I was busier than a starving mouse in a pantry full of food in cloth sacks. After digging my car out from under 1 meter (not a typo) of snow on the Monday beforehand, I spent three days bone-tired and recovering. I therefore had little chance to really prepare. I couldn’t get PyGame to install and barely got Pyglet installed with enough time to dink around with the tutorial stuff.

So I had absolutely no base code to start from. None.

Conceptualizing

When the theme was announced, I quickly assumed that most of the LD entries would run the gamut of stock game types with villain-themed wrappers. Although I take no issue with that, I wanted my game to be as unique as possible. Especially because of my limitations. In looking for a way to achieve uniqueness, I found inspiration in dystopian science fiction, a German board game a friend of mine told me about a while back, and some things I learned in my social psychology class in college.

I don’t really want to go into too much detail about the story here yet, since people are still playing and rating, but I will talk about the format of my game. There is more story than gameplay, but there really IS gameplay. There are segments in which you run simulations to determine the optimum configuration of robots for a work site with a farm and a factory, and which robots to discard in favor of some new robots. This ties into the story and the villainy, though the villainy isn’t apparent until the end.

Execution

Having set myself up to write a frelling simulation game with a lot of story (oh, how I facepalmed at myself), I had a feeling I wasn’t going to end up with graphics.

I focused first on working out how the simulation would work on paper and then launched straight into programming it, starting with object classes for the robots and where they were to work. I occasionally wrote functions to display the bits of the story when I needed a break from formulas and stuff, but I did the majority of the story work after the simulation was working. I wasn’t consciously thinking about having a playable prototype ASAP, but in hindsight… that’s essentially what I aimed for.

Once I had a couple of story segments and the simulation done, I considered my music and graphics prospects. I knew graphics were out. I thought there was a chance that background music was in, though, so I did some singing and then tried adding my music to the game with Pyglet. I got the music playing, but not looping; then looping, but all activity in the console stopped while it played. So I threw that out, too, and went back to working on the story and checking for bugs. (But you can hear the first BGM song I recorded here! Single take. It was to play during the normal, everyday parts of the story.)

I think the most important thing I learned from all the coding I did was how to properly handle exceptions in Python. I already knew how to make custom exceptions in Python, but I wasn’t practiced enough in their use to make good use of it. I am much better at it now! The way I handled input meant figuring it out lest the game crash.

Even so, my initial executable releases still included a bug at a critical juncture in the robot simulation because I missed exception handling at a critical juncture. I found and fixed the problem (I think) and have released updated files for everything except Windows, which I was unable to get to recompiling today due to not being anywhere near my Windows machine. I also figured out how to use Pyinstaller to compile the program into a single file for niceness.

Oh yeah, just figuring out how to compile the programs was a new experience, too. xD

Improving the Game

I definitely want to keep working on this game. There are a number of things I could do to improve the game, starting with more storyline branches and figuring out how to add sound. It would be nice to have graphics, too — basic visuals for the robot sim and maybe some visual novel style backgrounds and character graphics for the story bits. The story could be lengthened to allow for more robot simulations and better expression of the ideas in the story.

Tentative Plans for the Next LD, Based on Lessons Learned

  • I will have base code beforehand. Yes, I will. Starting well beforehand. Must learn moar!
  • Make sure I know how to incorporate at least sound, if not graphics as well. I’m not really a drawer, but by gosh I can sing, and if I am gonna keep doing things where mood is important, I want that extra mood buff.
  • Cook good food beforehand instead of expecting myself to want to do it during breaks. When I take breaks, I end up playing games or otherwise goofing off.
  • Spend more time in the IRC channel because the community rocks.

Overall

I’m very satisfied with how it went.

Wanna check it out? 😀

Tags: post-mortem, postmortem, python

Save the princess(?) – post mortem

save_the_pincess_ss1

Once again, I finished a game! Okay, it’s lacking a lot of features… the story should be longer, the maps are ugly, a trap doesn’t work, there is no kinda of sound, people are again complaining about the combat… But, now I have something solid to expand!

Looking back, I noticed that I had spent a lot of time. Since I really (I mean, REALLY) like to code, and usually think that any problem can be solved “if I just change this one line…”, I kept trying to make a “Multiple Autotiled Tilemap”, only to be able to draw this map:

bg_31

I easily lost three hour doing so… I could use three tilemaps, but it wouldn’t work with how I was managing the maps… Or I could have done it manually… Well, next time I’ll try not to be stuck on those problems… Another stupid thing that made me lose some time was this (incomplete) tileset:

pickleTile

It’s the first graphic I drew. But I didn’t like the fact that it was too repetitive, so I discarded that one and made a simpler one. If I had time, I would then enhance every tileset (and map). Well, I didn’t have…

But, hey, I enjoyed the compo and didn’t only lost time. I really liked the sprites, and I was able to draw and animate them relatively fast. Pay extra attention to the boss. I drew that in aproximatelly one hour! And only needed few more time to animate. There’s that castle, though… I still think it’s missing a tower and some windows. I tried to detail it a lot… and kept trying to make it seem like a castle… That one was hard (and I’m not completely happy with the result…)!

But the main aspect of the game is the story! After seeing the theme I tried to think on the most unique way to use it… a way that noone else would use (so far, I think I played 3 other games with similar ideas… xD). The name of the game, “Save the princess(?)”, try to point that things aren’t as they seem…Though the game is about saving a princess and you can indeed save her, you get a rank according to how you played and what your final decision was. I tried to make you play as a hero but later find out that you actually weren’t one (depending on how you played). I wanted to show that the “Evil King” isn’t quite evil, and killing his followers and himself would turn you into the villain

I also though that this time I made a playable game… I tried to fix the problems from my last entry: there’s a kind of check point (though you respawn on the first map, you don’t have to redo anything), I recover the life before and after the boss battle, there’s a big (well, half the player’s size) graphic that shows what hit enemies… but people still found the combat problematic. I don’t know… perhaps the lack of knockback and sounds didn’t help… or… I simply don’t know!

Anyway, I’m happy with how the game is overall. If I hadn’t spent so much time on stupid stuff (mainly, trying to fix things that didn’t need to exist), I would have an better polished game. Well, I’m making a post-compo version! I hope that one is playable. xD

If you haven’t played my game, you can do so here!

Thanks for reading! =D

Tags: postmortem

….I guess nobody is bad boy enough to beat my game yet!…. (hint: use the training levels!)

 

WINNER

So as anyone who has already played my Wario-Ware like game “60 Second Bad Boy” knows (and a big super thanks and hand claps to all who have so far….)

Here it is the cheeky scamp of a game:     http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=19384

What have i learned so far…. It’s bloody hard to beat all the levels!!!!   So sorry for any RSI- like mouse clicking strain (someone has already had that happen to them… oops, sorry!) Its a bit harder than i thought while i was building it. but the intention was to make it old school hard so kind of a big win for me there at least!?!… I guess it was way easier for me to beat it as i knew the levels (obviously, silly me 😛 ) and was play testing it very,very often, which is dead easy when each round only lasts 5 seconds.

So anyway….. THE GAUNTLET HAS NOW BEEN LAID DOWN LADIES ‘N’ GENTS!!!!!!!  limber up and become the first ULTIMATE BAD BOY(or girl!) to beat my evil game.

oh wow, i guess this has all become a bit meta and im now the over arching villian inviting people to play my evil game about a villian…… nice, i’ll take that and use that to explain the game next time to make it sound more pretentious and arty! :)

or maybe not.

well post a comment on my page if you manage to beat this naughty arsehole of a game and i will praise you highly and allow you passage into the exclusive “ultimate bad boy club!” (which is just a name really, no free shit or parties im afraid..)

Here’s a link to a lovely timelaspe of the last 5hr crunch (condensed to 4mins ish) of me doing the childish pixel art and stupid fast music for the last levels. enjoy hombre’s.

60SEC BADBOY – last 5hrs tlapse from Matt Clarke – PORTFOLIO on Vimeo.

 

Mad Princess – Post Mortem

Mad Princess Logo

Play the game here! http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=11391

I had another fun and busy weekend pixeling and making a game. This time was much more interesting than usual though, I made a sideways tower defense, and I have never made a game like that before. Frankly, at first I wasn’t even going to make the game about this idea, fearing I would not have time to make it, but then I thought, whatever, at least it will be an interesting learning experience.

I’ve had this idea of a psychopathic princess killing heroes for a while now, but I’ve been just waiting for good time to start making it. Then it turned out that the Ludum theme was You Are The Villain, what an excellent chance to finally make the game!

 

What went right:

– Finished the game on time
This was real close call, I spend perhaps a bit too much time with the graphics again, and lots of time was spend just making the traps and enemies behavare correctly. I only finished the core mechanics near the end and all 8 levels were designed in hurry with just two hours left before the deadline. I also should have started making the graphics to the 16×16 tilesize like they are in the finished game from the very beginning, when I first started making the game, the characters were much bigger, but I soon realized it takes too much time to make and animate their sprites, so I instead started to remove pixels and made them as tiny as I could. Here is some before and after comparisons, I think the smaller ones look much better anyway. I can’t draw big characters. At all.

Before and after

Before and after

– Made a good tower defense!
Like I said, I have never done a game like this before, in fact, this is my very first game that is not a platformer. I am very proud of myself. At first I wasn’t going to go with this type of game, but I decided to take a risk and it paid off. Considering how fast I had to learn everything and put the thing together, I think it turned out pretty well and I am glad the feedback has been prettypositive too so far.

What went wrong:

– Number of levels

I had only two hours left to make some playable levels, so it’s no wonder some of the levels are bit poorly balanced. I also didn’t have the time to add any kind of help or tutorial texts to the beginning of the game. Currently you just have to read the game description. I was aiming to finish 10 levels, but it would have taken too much testing, so I had to go with 8, but that’s pretty ok number too. Also All the levels turned out to be the same tiny hall, with lots of unused empty space underneath it. The reason for this was that I simply did not have the time to start designing more complex levels like in alpha design picture:

Mad Princess alpha screenshot

– Enemy balance.

There are 3 types of enemies in the game: Regulars, who are basic walking and attacking knights, Agiles, who can run ridiculously fast and can walk past road blocking traps, and Brutes, who are slow but very powerful giants. Plenty of people have said that the agiles are bit tough to deal with as they take no damage from spike carpets and reguire either arrows or carefully placed bombs to be taken cared of. I haven’t really heard anything said about the Brutes, but I personally think they should have showed up a bit more and perhaps be a bit more stronger, they are pit of a pushovers currently, there is a weird bug that makes them slide down hills when they punch things.

Enemies

– Trap balance

I didn’t have enough time to properly test the traps, so I am not entirely sure if the prices are balanced enough. Also the final Chain Ball trap turned out to be bit useless, it costs a lot, moves slowly and breaks way too fast. I really should have boosted it’s spinning speed and HP. Also the game gets a bit easy if you just buy lots of crossbows in the later levels, the wall trap doesn’t get much use either, it should probably get a boost in HP to be truly useful.  There was also supposed to be 6th trap but I didn’t have the time to make it. Well, I didn’t really even have any ideas what it could have been. Perhaps slime that slows the enemies down when they walk through it?

Traps of Mad Princess

Traps of Mad Princess

 

Disregard of what went wrong, I think the game turned out pretty well anyway, at least this is a good foundation to start building something bigger and better, maybe an improved post-compo version with better levels and more balanced gameplay and fixed bugs? Mobile version? We’ll see, I’m especially interested to see if I can turn this mobile. That depends on how stable the new beta of Stencyl 3.0 is.

madprincess-ios

Goods post mortem

Goods is a game about trading stolen goods. You are a shady street salesman who has to sell as many stolen goods as possibly to bypassing strangers, while avoiding being spotted by undercover cops. The game is highly inspired by the Eighties television series Miami Vice, but instead of being an undercover cop chasing villains, you are the villain. Yeah.

My initial idea for Ludum Dare 25 was to do a game about AIDS. The problem with AIDS is that it’s not that funny, not that provocative and not that dangerous anymore. My second idea was a drug dealing game, pretty much like the final game, only with drugs. When putting in the graphics, it became obvious that this was going to be a humorous game rather than a serious game, and having a drug dealer as a main character soon became too much of a contrast. I’d love to make a drug trafficking game, but I don’t like to make it into a joke. Furthermore, I’m totally unfamiliar with the jargon and the methods of drug dealing.

I really wanted to make the 48-hour entry, but Alas, a God damn wedding ate all of my Saturday. And it wasn’t even my own wedding. I could easily have made the 48-hour deadline, but instead I spend most of Saturday small talking with old people who will probably die of old age before we meet again. But the cake was good.

I started working on the game Sunday morning at 5am. For reasons unknown, movie director Jim Jarmush’s face kept popping up in my head all morning. “It’s a sign” I thought. So I put him in the game. I guess this is the first time ever that Jim Jarmush makes a cameo appearance in a video game.

The rest of sunday/monday was basically just crunching/coffee/crunching/sleeping.

What went right

– I decided pretty quickly on which idea to work on, and then spent a lot of time perfecting that one idea in my head before starting. I don’t necessarily recommend this approach, but it works for me.

– I only used software that I know really well, and I only did stuff that I knew how to do.

What went wrong

– I should have some game soundtracks lined up. Making music after two days of crunching just ain’t that inspiring.

– A God damn wedding ate all of Saturday! Yeah.

Comments

loren
19. Dec 2012 · 15:02 UTC
Cool game, I liked the style a lot

Piracy: To Yarr and Beyond Postmortem

So yeah. Here’s what went right and wrong about the project. The biggest event overall was when I ultimately ditched XNA for unity due to compatibility problems. Specifically, we wanted to compile to web, as we felt the most people would prefer to not have to download a thing. We probably could have gotten away with XNA, but I don’t think our game would have turned out as well in general. There were a bunch of features that we probably could have implemented had we started with Unity, but oh well. We completed our game, and that’s good enough for me, at least for the first time. next time, we’ll be in it to win it!

Right:
We managed to get a working game, and it was actually quite a bit of fun.All of our 2d art ended up working really well as reference when we moved to 3d.
The sound came out great. The music was really strong, as was most of the sound effects.

Wrong:We shouldn’t have changed engines halfway through, that was a big mistake.
We should have spent more time before the competition learning how the engine(either one) works.
Flash somehow had a weird bug which wouldn’t flag certain booleans, causing some strange crashes.

Features we wanted to implement:The ability to tractor civilian ships to your base for money
The ability to upgrade your ship with extra turrets
The ability to destroy military bases for reputation, and civilian bases for money
Reputation was supposed to get you more minions, which would repair your base
The military was going to be able to destroy your base.
There was supposed to be a really nice starfield effect, which never happened, sadly.

Post Mortem: Dream Chamber

Another great weekend full of designing, coding, pixeling and composing is over. LD 25 for me was a good edition because I finished my game in time and it seems to be my best yet.

Play and rate the game

Dream Chamber is a very basic tboi/zelda-like dungeon crawler with procedural maps featuring ranged combat. Collect sleeping pills to get your fire rate up and hearts to get your life up. It progressively gets harder the deeper you get.

screen2

What went right?

Well, the second day was really really productive. I did write most of the code on the second day and the gameplay got better and better. But the first day was kind of a mess because I really couldn’t decide what to do with the theme. At first I wanted to make a puzzle game which involved solving levels by swapping your place with the villain(as in ‘you have to become the villain’). But I somehow did not like that so I decided to go for this room style procedural generated maps.

screen1

What went wrong?

The description of the game on the LD Site says: “You are a dream thief. Fight incubi and nightmares on your way deep down into the dream chamber…“. I wanted to bring this out more in the game but there was no time really. So I decided against it and kept the reference to the LD25 theme sort of loose. That’s not very satisfying but I had to make this cut in order to get this game to a playable/stable version in one day. In the future I hope to make LD games that have more to do with the actual theme.

What will happen?

Right now I’m still pumped from the weekend and I really would like to continue the work on this and make a deluxe version. But I don’t want this to be a stupid Binding of Isaac Clone –  we will see what happens if my endorphin rush decays and real life settles back in. I enjoy the concept of these particular types of zelda-likes so maybe maybe my ‘commercial’ game is going to be like this. Who knows.

Red Legion: A post-mortem

 

RED LEGION was the fifth time i’ve entered this competition, and the fourth time i’ve come away with a completed game. However, many things were different this time around:

  1. This was the first time i’ve done a game jam with RSI. This has been plaguing me since the end of summer, and consists of chronic pain after long sessions of sitting down typing at a computer. You can imagine why this is such a problem for competitions like these.
  2. This was the first time i’ve left my comfort zone and tried a new engine. Whilst C++ is my primary language, and i’ve made many games using HGE (Haaf’s Game Engine), I decided to work in Lua, using the newly created MOAI engine. This allowed me to prototype faster in a more high level language, as well as have the option to port to other platforms (I have a complete version of this entry on my Android device :D).
  3. This was the first game i’ve made which followed a storyline, and didn’t all take place in one large space. My other entries to LD are purely an arcade affair.
  4. This was also the first jam i’ve done using a standing desk.

Point (1) was a big mental block to get over. How was I supposed to do anything awesome in 48 hours if it would likely damage my hands in the process? Besides, I was banking on “end of the world” being the theme and had trouble thinking of something cool.

So the first four-five hours of day 1 was spent in the nearby park, feeding squirrels. It was there that I had the idea for a double-agent attempting to extract information from a companion, and decided to at least give it a go. So I put on some wrist braces, and started to type.

 

It’s so easy to prototype in Lua. Within hours I had a basic walk animaton (the one that is in the final game), as well as the ability to seperate the game logic into rooms. Each room had it’s own list of events that were processed one by one in a seperate thread (NOTE: i’d barely done any multithreading before, yet I used it extensively in this!). This allowed all of the logic to be compartmentalized into lots of small components.

Very soon I had dialogue working, and the ability to give commands to actors, such as “walk there, then turn around and say something, then put your combat face on and attack X…”.

These fundamental systems made up the majority of the game. All I needed next was an idea for a combat system. The one I settled on is quite simple, but gives a sense of urgency to the player. With that done, I could simply use the event system to randomly spawn enemies at set points in the game, and I had a full framework to work from.

However, the dawdling at the start and some arrangements for Sunday evening meant I was beginning to run out of time. I had about five rooms done, and no sound. I had spent too much time trying to get the rooms looking nice (they didn’t turn out so well, but they are quite detailed for someone with my lack of artistic expertise) that I hadn’t enough time to implement all the features I had planned. I was gunning for ~20 rooms, and ended up with only 10. I had only two instances of working doors, and one button (which was meant to be a tutorial, but turned out to be the only button in the game). So scope was a big issue for me in the project.

 

For how short a time it was made, the music and its underlying systems turned out well. The bassy beat gives a sense of emergency, whilst pulling in a bit of a solo and some drums when combat kicks in made it feel even more actiony. However, I kind of rushed the last part of the lead track, and it makes me twitch when I listen to it (it just sounds horrible to me). I also didn’t want to experiment using compressed sound files in case they didn’t work, so I ended up with two wavs, effectively doubling the zip size!

I also failed to include sound effects, which I believe could have made it feel a lot better to run and punch.

My initial plan to work in windows and port to OS/X and Chrome NaCl ALMOST worked. There are reports that the OS/X version has trouble with dialogue, and the Chrome version didn’t run at all. However, as I said earlier it appears to work a treat on Android (apart from the combat system, as it’s impossible to “press X” when you don’t have a keyboard!).

So in closing, good project, just need to scope better next time. And I know there will DEFINITELY be a next time, as i’ve now proved that it takes more than typing ridiculously fast to come out with a good game.

YEY! congrats to Madball – crowned 1st ultimate badboy!

super 10 times well done to Madball !!!!!!!! ( http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=8370 )

YOU ARE THE FIRST “ULTIMATE BAD BOY!” 60 SECOND BAD BOY WINNER!

WINNER

Here is my sorry backside and a big brown boot you can use to kick it in glorious victory over beating my silly game!

arse         boot

 

Congrats also go to GFM !!!!!!!! ( http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=7375 )

Another fine winner! 

Here is one of those annoying little blue balloons that everyone hates from the game as your prize! 😛

ballon big

 

 

Comments

Madball
19. Dec 2012 · 14:28 UTC
That was… unexpected.
19. Dec 2012 · 14:43 UTC
Nooo. Another balloon!! >_<

Ludum Dare 25 Jam Post-Mortem

(Republished from my blog at www.makethatgame.com)

Ludum Dare is over! Actually it has been over for a couple of days, but I’m just now digesting all that happened over the weekend.

For those who want to try it out you can download it from the Ludum Dare page.

It definitely helped this time around that I had other people working with me. I had Taylor actually working with me to make the game, and two other friends were making their own game for the competition in the same meeting room. I recommend that if you are doing your first (or even second) LD that you get some friends together and actually meet up physically to work on you game(s) (even if everyone works on their own). It really helps push you forward and you have a great source of crowd sourcing if you get stuck on some bug or implementation problem.

The other main thing I learned from this experience is how much time I need to allocate in the future when I participate in other competitions. Art takes up a lot of time, so expect to make some beginning sprites early and allocate at least 2 or 3 hours just making that. If you are using a framework that does not give you most of the convenience functions (ex. collisions, sprite management, level creation) make sure you are prepared to take another 3-4 hours setting up those common functions. What I’m going to do about that next time is actually create a framework that has all the features I need and then post it for free on GitHub so everyone can use it (maybe, RL might get in the way). It will probably be in XNA and not Pygame though.

Finally I realized how much time those little things take if you are not prepared for them. If you don’t prepare a title screen early, then it may take a lot of work to shoehorn it into your game at the end. Same with win/lose conditions and allowing the player to restart (whether that be restarting the level or the game) without exiting. Next time I will definitely be prioritizing the full game cycle much earlier in the process.

In the end I had a lot of fun, learned a lot, and am excited to participate again in March. Hope to see everyone then.

Timelapse

Lets talk about Source Code

So earlier this afternoon I sent out a quick poll to the Ludum Dare twitter account. The premise was simply, should the Ludum Dare Compo (48 Hour solo event) require source?

SummarySrc

So yes, as it turns out a significant number of people like this requirement (or are indifferent). Drilling down in to the reasons people like this rule, we get the following:

  1. It’s a good reference for new developers
  2. It encourages community
  3. It lets us verify that somebody didn’t cheat (**)
  4. It keeps people honest
  5. It can solve disputes (**)
  6. Some broken games can be fixed with just a few source tweaks
  7. I like to look at how people implement things
  8. Source code is one of the best things to learn from
  9. Any code created in 48/72 hours wont contain any serious secrets
  10. Even if it’s not you, somebody will learn from the code
  11. Ludum Dare is about Learning

And some of the reasons against.

  1. The code is often messy and not a good example of proper game code
  2. I use a proprietary engine. I can’t release its source.
  3. Some tools can’t easily export source
  4. Code can be stolen, games can be illegally published
  5. I like to make games and sell them later
  6. Unity/Flash users get lots of features and only have to share game code
  7. My code is mine

I was actually surprised by the overwhelming response, so to make sure we didn’t have skewed results, I added a 2nd question about half way through the poll:

SummaryLern

So about 60% have looked at source code, and 33% have learned something from it. All things considered, that is a significant number.

The data says something else too.

Tw1

I didn’t ask specifically how much source code people have looked at, but one fact I will share is that in the 10 years we’ve run Ludum Dare, we’ve never had to take action because of what was found in source code. I can’t remember any questionable games ever making it in to the top games. Funny enough, many real disputes have been complaints about people forgetting source.

Now as you all know, Ludum Dare very big now. The idea of us policing entries is well beyond what we can do. We don’t actually have prizes, so there’s really no reason to cheat at Ludum Dare. So the old policy of “to stop cheaters” really didn’t make a lot of sense to me anymore.

That said, there’s a lot great reasons to continue requiring source. The Jam has never required source, and that has been one of our main ways of inviting more people to participate in the event. That will not change. But where there may be room to change is why source is required. So, to quote myself:

Tw2

Of course, if disputes do happen, having source gives us something to make a case with. Innocent until proven guilty is kind-of a nice policy after all. So perhaps the main reason we share code should change.

Here’s another thought:

Tw3

Now there’s an interesting twist. One of the classic complaints of “From Scratch” developers versus Unity/Flash/GameMaker/Middleware developers is the sort of “unfairness” that they have to share so much. It is an issue we let happen, and it is true it’s not fair. So alright, Matt’s idea provides a fix to that long long problem. Not to mention, #2, #4 and #6 in the “No” list. There’s nothing stopping you from submitting everything as usual, but it gives more liberties to those that are protective/unable to share their engine code. In contrast, it does mean fixing code for some entries (Yes #6) is not be possible (extremely cool but uncommon anyway).

So that’s what’s being considered. Again, we really don’t have the time to police thousands of entries, so the thought is to redefine why we ask for code, and perhaps what we ask of code.

Share your thoughts in the comments.

Post Mortem: Brobulon the Terrible

This past weekend was a blast! I knew from the start that I wanted to get a little bit out of my comfort zone, and I had been wanting to make *something* involving space ships of some kind. So I formed up a general concept that could have worked with most of the themes though it may have needed some tweaking here and there.

What came out of it was “Brobulon the Terrible.”

Screen Shot 2012-12-17 at 8.12.14 PM

Play and rate it here.

I built it using Unity, but I made the entire thing sprite based with an orthographic camera and put the sprites on single planes. All the collision geometry was 3d (spheres and cubes) and I wrote a simple script to cycle through different sprites for animation.

What worked:
The movement system worked out pretty much how I wanted it, though maybe the ship could be a bit faster.
The pixel art seemed to convey what I was trying to do pretty well.
The rules of the game were simple enough that it let me make quite a few levels very quickly.
I used a transparent cutout unlit shader (built in to Unity) to draw all the sprites, and at least on my machine I get pretty solid framerates while there are ridiculous amounts of bullets on the screen.

What didn’t work:
I originally did a daytime sky that would have been featured in some levels. But it was too hard to see the targeting cursor and rather than spend more time making the cursor darker I just cut that background.
I spent an awful lot of time on pixel art (much more than I’d like to admit). I hadn’t done pixel art in years, but I was trying for it rather than doing anything in 3D because I figured it would save time.
The red and purple jets in particular fire more powerful shots and that’s not really conveyed well until you get hit by them (they use the same sprite as other enemy shots).
Tanks are too hard to hit. I gave them more health than the fighters because they should theoretically be easier to hit, being on the ground and slower. But since buildings get in the way they’re borderline invincible until you’ve cleared at least part of the level.

What I wanted to do (and what I’m going to do since I want to refine this project):
Bigger, scrolling levels. The idea being that when you reach one side of the level, you loop back around like you went around a planet.
Upgradeable stats (speed, shields, weapon power) between levels.
More varied buildings.
There was a warship sprite I made and actually imported into Unity, but I couldn’t figure out how to include it in the game in a way that would give me enough time to finish. The warship would have had at least four “turrets” to fire at the player with.
“Boss” events at different levels of Planetary Subjugation on each level, either being fleets of fighter jets or a warship to come in that you’d need to deal with.
A timer and a bonus awarded for how fast you cleared the stage.

I plan on working further on this, after a little relaxation and when time frees up a bit more.

I’ve Been Pretty Quiet…

I really haven’t posted much this LD, and this has been for two reasons:

  • I have a twitter now, so I couldn’t focus on both pieces of my online presence.
  • I didn’t have much warmup or anticipation for it this time, I just jumped in to it.

Of course, only now do I realize how much of a jerky move this was, so I’m making a little post.

SUMMARY: So, I had to do the Jam again, because I lacked focus on it during the first two days. Yesterday, I found out it didn’t work on slower computers. I fixed it up, staying within the rules, so that it did. A few people played it, and they liked it. Today, I found out my slower computer fixes messed up some of the story. It didn’t ruin the experience for those people, but I had to make a second fix today for the old fix. So yeah, I’m feeling like a little bad right now.

It should work now though. Go ahead and give it a play. We can only thank the fates I haven’t had time to start rating games and not to many people saw the ever-so slightly messed-up story.

 

This whole LD has felt very, very off to me. Either I’m not myself right now, or the world isn’t itself right now. Perhaps both.

Comments

mohammad
10. Apr 2013 · 21:26 UTC
R.I.P. Puzzlem00n

“Flamenco, Tapas & Siesta” Timelapse is ready!

Here is my timelapse!

I’m working in the post mortem entry, may be tomorrow will be ready with the postcompo version, which greatly enhances the gameplay just changing some variables, no new content.
Recorded with chronolapse, a capture every 4 seconds and playing 60 per second which makes every minute represents 4 hours


You can play in “Flamenco, Tapas & Siesta” here http://bit.ly/TVodSS

Tags: mesene, timelapse

Jack’s Most Portem

Hey.

Special shout-out & thanks to all who’ve given my entry a go & taken the time to write a comment. I added a detailed design breakdown in the entry comments, so if you’re curious about why I made some of the choices I made there’s some info there.

The following is copy-pasted from the project page on the Acre:

What Went Right

1. Years of Preparation
I’ve been at this for more than two years now. The only jam I participate in is the Ludum Dare 48 Compo, because I love its brutal nature and it’s perfectly suited to my modus operandi. This was my 7th entry, and I’ve submitted working games for each. In the interim I’ve done more than a dozen Darkade jams, a handful of major projects, and all the while gathered skills with the tools I use. All of that culminates in these compos, which I see as tests of my abilities. So yeah, I’ve got experience and it really showed this time out. I managed to make what was in my head a reality, and within the time limit. It’s not without its warts and bruises, but it’s by far my best entry yet, and that’s all to do with the talent I’ve been cultivating through relentless full-time practice in the art of making videogames.

2. Focusing on Content
In the past I spent way too much time trying to come up with “innovative” systems to support my designs. This time I kept it simple so that I could spend less time mucking around in the guts of Unity and more time doing things like creating interactive objects. I chose a fixed camera, no lighting systems, and a very basic graphics pipeline. All of that enabled me to come up with a nice, tight little adventure game.

3. Holistic Asset Creation
For the first time in my history of attempting these challenges, I managed to correct something that previous post-mortems had identified: the uneven creation of game objects. In the past I would approach everything in a sort of layered way; code the interaction systems, block out the levels, add models, materials, textures, and finally audio. This time I made things as I went, treating each little asset as final, and imagining that I wouldn’t be coming back to polish it later. Whether or not this is a “best practice” is debatable; I’ll let my results speak for themselves. But by crafting every in-game object to be fully functional on implementation, I was able to keep cranking out content right to the end without worrying if I’d added appropriate SFX to a door, or properly textured a wall, or written a description for an area.

4. Fixed Camera, No (Visible) Characters
I decided almost immediately that the environment was going to be the main protagonaist, so I focused a lot of the storytelling production there. Like, how could I make this area interesting? How could I show a bit of history with this object? It wasn’t an extremely detailed execution, but that was only because I knew I only had 32 hours to work (I like to get 16 for sleep) and I could only communicate so much with that amount of production time. There were no (visible) humanoid characters, so there was no rigging or complex modeling to worry about. Also by fixing the camera and forcing the player to move in a grid-like fashion I could tightly control what they saw at all times. It also freed me from worrying about things like collision and physics. So yeah, for those who are complaining about the fixed camera/movement system, that was by design and it helped me execute the game on time. If I had allowed more freedom who knows how many more hours of production I would have needed to finish. More than 32, that’s for certain.

5. Sought Early Feedback
I threw up the production build almost immediately, I think within the first 4 hours, and right away I got a lot of good responses. It was clear that my initial camera choice (free, mouselook 1:1) was not comfortable. Certain things didn’t read well. Parts of the UI were confusing. I managed to address all of these concerns (some perhaps not to 100% satisfaction, it’s hard to work for perfection when you’re under the gun) but at least they were informed design choices. I knew by the time I submitted my entry that it had been tested to some small degree, and in game development even having one extra pair of eyes other than your own on the project can mean the difference between a good game and a bad one.


The Green Room

What Went Wrong

1. Not Enough Time Spent Mastering Texturing
I’ve identified a bit of a weakness in my speed pipeline, and that’s with texturing. Originally I envisioned using the “AO bake style” that you see in the game to complement some nice bumped/specular textures made either in Quixel’s nDo/dDo or Allegorithmic’s Substance Designer. As I worked I kept notes on what was to go where: grated floor panels in the main corridor, control panels on the machine and keypads, grime on the sewer walls, an so on. Right up to the last few minutes I had everything clearly mapped in my mind, but there just wasn’t time. I made that decision early on when going with the “holistic asset creation” method mentioned above, and I told myself that the AO bakes would be acceptable. And I think they are, I mean at least the game has a unified look to it. But it certainly wouldn’t hurt to have a few detailed textures in there, either.

2. No Title Card
This shouldn’t bug me, but it does. The game jumps right from the standard Dark Acre splash into the game. I would have rather had a little title marquee with “THE CONDEMNED” animated somewhere on it, but whatever. It’s a vanity thing.

3. Looked At #LD48 & the Ludum Dare Site During Compo
I think somewhere I’m quoted as saying that one of my secrets of success is how little I engage with Twitter/blogs/comments. And I think this is still the truth, but for this compo I let that discipline slip a bit. I figured making a few community posts on the site would help. Sadly, the pessimist in me tends to focus on the negative, so when confronted with people complaining about the theme, or dropping out, I got a bit down. But then I said to myself, “screw those weak bitches” and let their failure fuel my success. There’s only ever been one theme for LD48 for me, and that’s “make a playable videogame in 48 hours or less, and make it one that doesn’t waste anyone’s time”. I’ve managed to do this 7 times in a row now. The streak is real. Now if only I could win the thing I could retire.


Thanks again for reading, and happy holidays!

P.S. A playthrough with developer commentary is coming, hopefully before the end of the week.
P.P.S. If you tried to play the game using the Windows standalone, it was broken. That’s been fixed now.
P.P.P.S. The flashlight doesn’t work in the sewer; that’s by design. If it did work as intended I doubt so many people would be able to “win” the game. I’ll talk more about that in the video.

Tags: post-mortem, postmortem

Power Grab: Post-mortem

In this, my 6th Ludum Dare, I had yet another fairly unique experience, encountering both new and old challenges and successes:

(Repeatable) Stuff That Went Well

  • My code was organized. In the past, I’ve written all the code for the game into the main function. This made it difficult to have more than one level and made it painful to add, for instance, a starting screen. In general, it let me make more content than usual.
  • I got feedback from people (well, one person), then implemented it. I did this early, leaving me time to do a good job implementing it and still leaving me a whole day for assets. The comment really helped me though, giving me an idea of what would make my game fun.
  • I left a lot of time to make assets after finishing the game. I spent the second day solely on assets.
  • Based on my own playing of the game, I refined the balancing of the game to draw more attention to the special mechanic I’d added to the game.
  • I chose an easily attainable goal and then built on it. I had somewhat of an engine done within the first hour or two. From there, I was able to add more stuff and polish.
  • Certain bits of polish were really helpful to the game. For instance, the sword in my game was pretty sweet.
  • I stayed motivated. In the middle of this competition, I kind of hated my game, or at least, I didn’t put much faith into it and didn’t really know what to do to fix it. However, I pushed on, doing what I did know how to do (assets) and then revisiting the gameplay later and finding that it was not really as bad as I’d thought and that I did have solutions for it.

(Avoidable) Stuff That Went Poorly

  • My code was spread out. There was no single place I could do all the balancing from, so it was a huge pain to do so. Also, I made too many tabs on Processing, so I could only see the names of 3 or 4 at a time, which made it hard to find any specific class’ definition.
  • I didn’t put much thought into what sort of mood I wanted. Resultantly, I didn’t exactly create any cohesive mood.
  • My art still wasn’t terribly good. I think I could have used more animation to make the top-down thing more convincing, but I don’t know. I wish I were better with this sort of thing.
  • The controls may not have been the best choice.
  • I don’t often play games based on action or on being quick and not so much on decisions. I therefore found it difficult to capture that sort of gameplay well.
  • The game concept isn’t wholly original. It feel more like a variation on some sort of shooter game – the majority of the game (the shooter part) has been done before. Only a small aspect (the part about summoning enemies by taking stuff) is really new. Then again, people keep saying they like the idea, so… maybe it’s a good concept.
  • I did not proofread the title page. It has a lot of typos. Like the good player of a game that I am, I never read anything in my game and just clicked on stuff.

Also, if you are one of the >1000 people who haven’t tried my game, you can click here. (P.S. I love comments on my game – it’s one of the best parts of the dare for me)

Tags: postmortem, tips

Gathering statistics about your downloads

I know it’s a bit late to get the nice after competition statistics, but if you haven’t been doing so already, you can use bit.ly to gather a small extra bit of statistics for your download/click-through information on your game. The service is free; and the setup is as simple as pasting in your current URLs and using the bit.ly shortened URLs instead.

Then, you can track your stats by logging into your bit.ly account, clicking on your “bitmark” for the other URL, clicking the little i, and then the other little i next to your simple stats. It then breaks down your click information by time, referral website, and location.

If you provide bitmarks for all of your various versions, you can see the popularity split among the different platforms as well.

It’s a neat little free tool that I hope people can use to their advantage.

Tags: tips

Dr Vile: Ludum Dare 25 Game Jam – Programming Post Mortem

Hey everyone! It’s Rich, the programmer/composer half of Green Pixel. This past weekend Joe and I entered our first Ludum Dare and ended up making this game over the course of 55-60 working hours (which is almost a week and a half at a regular job when you think about it!).

 

Before the Jam:

As much as I love playing and making games, I also love developing really boring but useful tools. Early on Joe and I realised we only have interest in creating games from the NES/SNES era and that means sprite sheets and tile maps, baby! So over the past year, knowing our self-imposed limitations, we’ve been working together to create a set of tools to make our lives as 2D developers easier (every day we inch closer to the “generate game!” button!). Two of these tools, our animation system and tile map editor, became extremely valuable over the weekend.

For the week leading up to Ludum Dare, I started writing a 2D flash engine. We went with flash because:

  1. You can play the game directly in your browser.
  2. ActionScript is a rrreally forgiving language which is perfect for trying to get a game finished in 3 days and not being arsed to fix memory leaks and whatever else.
  3. I haven’t gotten around to making a cutscene tool yet, so movieclips to the rescue! 😀

I had never tried making my own engine before and now I can’t imagine how I got by before. With the tool chain and the new engine in place, Joe could section up a sprite sheet, create animations and I could have it in the game in about 5 minutes.

 

The Jam – Some notes on the creative process:

Friday – First of all, the theme really took me by surprise and I think I actually voted it down a few times haha. Anyway, we heeded the advice of the keynote and spent about an hour or so brainstorming ideas. We decide on a top-down Link To The Past style game where a Mad Scientist would have to gather resources to build a death ray to protect a world he hated from a meteor by smashing up people’s property whynot. I began by breaking the game down into the various objects that needed to be coded. We had the idea to randomly generate the town and the house interiors, so I first broke up the map into equal sized squares. Each square could have a 0 or more houses, each house could have 1 or more floors, each floor would have 1 or more rooms and each room would contain various objects and NPCs. Too ambitious! At the end of the first night and having a bunch of weird-looking half-assed procedurally generated house interiors, it was clear we would have to design some house templates and assign these templates randomly to build the town. We also constrained each house to only have a single floor. The game looked like Colecovision at this point with my amazing programmer art of solid coloured rectangles, but morale remained high!

Saturday – When I woke up, Joe was finished most of the character animations at this point, so I added them to the player and the NPCs. The NPCs just stood in the top corner of each house and didn’t scroll with the map, but they looked good! The big task for the day was grabbing sections of the templates to build the town map and house interiors. We also discovered the size limit on a ByteArray in ActionScript! Fortunately, Joe was able to prune the templates down so we could load the maps. That night we discussed things we wanted to put in the game, but would have to cut if we were going to reach the Monday deadline. We had originally planned on a few different locations (military base, good scientist’s lab) and giving Dr Vile an inventory of collected resources, similar to Minecraft, that you’d periodically have to empty at his lair in order to build parts of the death ray. We scrapped these ideas and just focused on the town game play. By the end of the first full day, we had a clear vision and most of the visuals in place… just no game play.

Sunday/Monday – The long haul! We vowed not to sleep until it was complete! (We actually did end up sleeping, but we also completed it so I guess that’s ok). Jobs for the day: NPC AI (yeah, I foolishly left this until 23:00 on Sunday night), breakable objects, loot spawning, music and sound effects, cutscenes, HUD graphics, game flow (menu – game game over – final cutscene – menu). So… basically half the game. We worked until 9 am Monday and took a brief 4 hour nap and then rushed like crazy to get the rest of the things into the game but it all came together in the end.

 

Scary Times:

  • We had a bug in one of the tools that almost erased all the art for the game on the second day haha. Luckilly, it was fixable while the art was still in the RAM.
  • Generating a ByteArray so large that it crashed the flash game and not really having the time to design an alternative.
  • A bug in the AStar implementation meant that if an NPC was more than 10 or so tiles away, it would take about 20 seconds to calculate a path. AStar is not a lot of fun to debug at the best of times, but it was about 4:00 am Monday. Luckily, the problem was simple and it ran fairly smoothly after that.
  • NPC AI in general. I had never done enemy AI before and there are a lot of things I would do differently now (like not calling the path finding function every frame when they’re chasing you d’oh!)
  • Combat. I had also never really done any sort of melee combat before. It works ok, but it’s definitely clunky and can lead to some garbage deaths.

Good Times:

  • We finished!
  • Pretty much had time to implement everything after stripping down the feature list.
  • Learned a lot in a short amount of time about AI and procedural generation.
  • Doing both code and music has a nice duality where if I get pissed off with one, the other uses the other side of my brain. 😀 Mmm, brain massage.

 

Conclusion:

All in all, it was one of the most fun weekends I’ve had! I already can’t wait for the next Ludum Dare in April. <3

Someone expressed interest in the source code in the comments section for the game itself, so I’ll upload that. I don’t know about the engine code? It’s kind of in an unfinished state and I might release it as an open source library along with the tools some day. Hopefully the game source will still be interesting!

Congratulations to everyone who participated and submitted a game!

Tags: 2D, as3, flash, jam, ld25, post-mortem

OH S#!+

Someone just informed me that “Bad Puppy” is, like, a “term” in gay porn.  Whoops!

Tags: #BadPuppy, noreallyitsjustapuppywhoisbad, notgayporn

Comments

Suese
19. Dec 2012 · 23:16 UTC
Hahahahahaha, I’ve TOTALLY done this before! It’s okay to be naive my friend. It shows character!

MoonRise post-mortem

This was my 3rd LD and 1st time that I finished and submitted a game, so also my first postmortem =D (sorry about bad English as is not my native language).

The Last 2 LDs gave me nice projects to work with after the compo, but this time I made up my mind to lower features count, lower graphics and to bring something complete to deliver here.

Theme

I was expecting “End of the world” but hoping for “Construction” or “Ocean” as it fits very well with games that I like to create. “You are the Villain” came as a surprise at Saturday 00:00 here in Brazil and no idea was coming so I decided to went to bed and think better with the morning.

Ideas

The first idea was about an alien at his UFO tormenting a city. Brainstorm brings tons of features ideas like flying saucer upgrades, capturing and use human meat as fuel, land
off the UFO, weapons, tanks and soldier fighting against you and then I realized that would be another half year project.

So no flying saucer, maybe a lone alien. Then I thought that too many entries would use aliens, so no aliens… A vampire then. In his castle… at mountain’s top… Hunting at a village at night. Maybe turning into a bat at will? But if he can turn into a bat why not give him other powers? Maybe ones that he needs to research first… using blood as fuel.

He must fear some armed humans and use ambush tactics to succeed. Ok, so concept was ready. This came at something like 10:00 am saturday. Later I added a last feature that was the day/night cycle and sleep at coffin to protect from sun.

 

MoonRise

 

The Good things

Unity 3D: I’m on it since 2010 and it never stop to surprise me. Aside from the powerful 3D engine, the additive pattern (where you add a behavior to an object instead of descending sub classes)  gives a huge boost in productivity from reuse and was essential here. I managed to finish 100% of planned features, all 7 spells (Bat form, Invisibility, Speed, Sunlight resistance, Hypnosis, Charm and Fire bolt), the day/night system, human AI (poor right now), and so on.

Place holder graphics: From some tips that I did read from ancient LD masters, one fixed at my mind: THOU MUST FINISH THY GAMEPLAY SATURDAY NIGHT. So be it. Nothing except code all Saturday. By 01:00 am Sunday the gameplay was ready.

The “Could be a little better” things

Complexity: A nice portion of the game is hidden from casual players because it is behind a lot of work to research spells. Maybe I should have made the “Bat Form” to start already researched so this also would minimize the long way castle <-> village.

The BAD things

Vampire control: I was thinking of allowing the vampire to walk forward and cast spells with its view (aim) mouse controlled, like a tank. Bad idea. Now most people are disliking it and I agree.

No Sound, No music: Spent 1 hour on music at Sunday just to realize that would take like 5 hours to be ok. I left sound for Monday night and then I found some final creepy bugs to kill, so no sound.

A bug with graphic quality control: Unity have some controls to tweak with graphics quality and turn some eye candies off allowing wider audience. Well, I just left a debug line at starting code forcing quality to last level. I mean the ULTIMATE level. Now it just can’t run on low/med CPU/GPU.

Gameplay balance: To implement every feature that comes in my mind cost the miss of the 48 hours deadline and forced me to join as jam. Even worse it left few time to tweak simple gameplay values that would change a lot things: Like the tedious looong way from mountain to village and back to mountain every night.

If the world not end (post compo)

I will resize the island, there are lot of space not being used in game. Smaller castle <-> village way will be nice.
I also will add features to improve fun: Give more value to surprise element (like human frozen if catch from behind unaware ; Improve combat system allowing vampire to block sword/arrows with claws; Introducing wizards with strong long range attacks to give something to REAL fear and avoid (or incentive the research for more power); New spells (heat sensor, teleport, raise zombies); Some bonus drop from humans like research bonus; Better meshes (animated), better textures, better HUD, Music and sounds; AND YES, BETTER VAMPIRE CONTROL.

Now some gameplay of a powerful vampire in action:

Thank you!

See you at LD26 (theme: Ocean =D )

Tags: post-mortem, unity3d

Weapons of Mass Construction – a Post Mortem

What an adventure.

 

I learned of Ludum Dare from my past obsession with the game Minecraft. I really enjoy looking into the backgrounds of works: how they were developed, fun facts about the creative process, etc. As I was reading about Notch, I found out he participated in some weird contest called “looduhm dair.” I played his games that he made for it, and thought it was interesting, but then it went on the back burner.

Now, for most of my life I’ve been interested in computers and such. When I was a kid I designed meager webpages, and eventually I started learning to program games. I also did animation for a while, and although that has kind of died out I still love to draw. Lately I’ve taken a great interest in designing games, which has been greatly spurred on by things such as Egoraptor’s “Sequelitis” series and the dev commentary from Valve games, among other things.

However, I had never fully completed a game. I had created many test beds for small bits of code, but never anything full and what I did create was pretty awful.

A friend of mine was talking about how much he’d love to try making games, but he had no programming knowledge. Enter myself.

So this pretty much spurred on my interest in games, and I soon remembered this Ludum Dare thing and decided it would be fun to participate in it, and that I’d learn a lot from it.

So how’d it go down?

Once the theme was announced, my mind got to work. About ~10 minutes after, I had an idea. A sort of reverse-Mario, where you place Goombas and gaps in his way. I kept thinking over the theme for about another hour, though. I didn’t want to go with my first idea, fearing it wasn’t good enough.

Though after a short time I decided that I was gonna try out making a little AI-controlled character jump over blocks in Game Maker. It worked well, and I kept adding things and fixing bugs in “ld25test.gmk”.

Weird stuff happened, and it was frustrating, as it was my first proper AI. The player got stuck in blocks, on corners, turned around in weird places.

So I decided to start forming this AI around tighter “rules” and then the idea came to me to use these rules against the AI.

Time passed and soon my small tests formed into something reminiscent of a tech demo for a game. The little red square which was a placeholder for the player jumped over black squares (blocks) and avoided blue squares (enemies). Fun fact: the enemy placeholder sprite was a 32×32 blue square, and so the final design for the enemy was, you guessed it, a blue square. With legs.

Another fun fact: the canned particle effect used for explosions, the player dying, the player killing enemies, and slightly modified for the teleport effect, was the first particle effect I made and was intended as a placeholder. I just liked the look of it a lot and made it dynamic so the particles could change color based on the object.

Bear in mind that all of this was done about an hour after the theme was announced, and beforehand I was planning to not start until the next day. Holy hell, am I glad that I didn’t choose to do that. Probably about half of the base engine for the game was made that night.

As time went on I just added more and then came right down to the deadline with a few minutes to spare, and the game you’ve all (hopefully) played came to be.

so OP...

so OP…

What Went Right

First, I think the central mechanic of the game was definitely popular and definitely allowed people to look past other, less desirable parts of the game. It feels damn good to make a little robot explode into bits, and to have the sort of freedom in the game.

I think the length was good, and kept the levels from getting too stale.

I think the levels are, in general, designed well and teach the player effectively. In fact, my little brother was my playtester and could pass most of the levels with a bit of head-scratching, which is a good sign.

I think the art came out well and gives a fun look to the game.

I especially like the quick sounds I whipped up, specifically the bomb dude’s “wwwwoooOOOOooooowww!”

What Went Wrong

The puzzles could have some really cheap solutions. This goes hand-in-hand with the bomb dudes being too OP. This was simply because I didn’t have the time to tweak these things, because…

I did a bad job at time management. All in all, it came together, but the levels towards the end got pretty repetitive, the ending was anticlimactic, the title screen was cheap, and the gameplay and levels required large amounts of balance.

However, pretty much everything that went bad, in my opinion, was due to the above.

 

So, to conclude, successful Ludum Dare! Yay!

Think the editor interesting? Learn to use it!

I’m a bit late with this explanation, since it was announced for yesterday. Sorry for that, but here you have it:

Link to entry-site: http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=18894

If you start the editor, you soon will notice the radio-buttons at the bottom. These will determine the “layer” you are currently editing.

1. Paint World: Use this to set the pictures of the tiles. On the right side you may have noticed the list of tiles. There are 4 main types of tiles:

  • Unpassable (Rows 1-12): these can only be traversed, by using a glitch or kind of hacking the game. Do not use the very first tile. It was initially transparent and used to display literally nothing, but then I realized, that java was capable of if-blocks, which were way better for drawing void
  • Passable (Rows 13-22): these tiles are like the floor in your favorite public or private place: you are able to step on them
  • Collectables (Rows 23-26): items that initially planned planned to have purpose, but now are just collectables with no known use, a little bit like ancient relicts (if you step on them, the tile will be replaced by the following on)
  • Presents (Rows 27-30): the holy grails of christmas thiefs and actually any other person. Don’t place more than 45 presents unless you want to f**k up the collection-display, you greedy ruffian! (Beware placing the tile at the very bottom right or an ArrayOutOfBoundsException will haunt you in your dreams!)

You can select multiple tiles, by dragging the mouse over the palete (Notice: you have to move the mouse down-right to do so). To paint selected tiles onto the world, just click or drag the desired position(s).

2. Define rooms: This tool lets you define areas which the game will notice as rooms. Rooms are like the place you supposedly are in right now: You can be in it or be outside of it. The game will check if you (well, the playing character) are in a room, and if so, whether the is an enemy in the same room, to decide when its time to brutally kick you out of the level right onto the world-map-screen.

To define an area as a room you need to drag the mouse from the top-left corner to the bottom-right one. If you want to remove a room, just right-click somewhere inside of it. Rooms may not intersect each other. They will be indicated by a yellow rectangle.

If you collected all the presents, you need to go inside an exitzone. Exitzones are similar to rooms, just have an other purpose. To define an exitzone, hold down the Y-key and drag the desired area as if you wanted to define a room. To remove an exitzone, right-click it while holding the Y-key.

3. Events: Events are visible or invisible thingies, which have different purposes, depending their type. Create an Event by just clicking a position, while being in create-events-mode. As soon as you do so, a window will pop up, showing you the properties of the event and allowing you to adjust them. If you want to reopen this window, rightclick an existing event. Note that each window is linked to its specific event. Before you close such a window remember to APPLY CHANGES!

  • TilesetInformation: Multiple purposes depending on the subtype: (if you’re messing with values other than -1 use propperly dimensioned images)
    • -1  –  player spawn point
    • 0  –  indicator to change the background from default to the file specified in the path-textfield
    • 1  –  indicator to change the tileset from default to the file specified in the path-textfield
    • 2  –  indicator to change the playerimage from default to the file specified in the path-textfield
    • 3  –  indicator to change the enemyimage from default to the file specified in the path-textfield
  • Enemy: People who hate it to be in the same room as you (maybe a shower would change that, but that feature is not yet implemented). If creating an enemy it is important to set the subtype to 0, or the game will crash. Enemy-events will snap to the grid as soon as you apply changes. Create a list of movements with the buttons at the bottom half of the window. By selecting an element in the list and hitting a button, it will insert specific action at the selected position. If no element is selected actions will be added at the end of the list. Selected elements can be removed by hitting the “Re…” button, which would look like a “Remove” button, if it hat the propper size (I didn’t feed it enough and I feel sorry for that). Each non-waiting action will move the enemy a whole square.
  • Door: No purpose at all.
  • Picture: Displays the picture from the file specified in the path-textfield
  • Text: Displays some lovely little characters, which you schould input into the path-field

All references to image-files need to be ralative to the directory, where the jar is living.

 

If you create a nice level, then for god’s sake remember to save it via the save button. We actually have lost ~10 creations by rushing out of the editor and forgetting to save the file. Currently the only way to play your level is to replace an existing campaign-level. Do not use the editor to cheat you through the game, because you want to see the ending! Use the one-button-win-everything-cheat instead 😉

If you have any question related to the editor feel free to leave coment.

 

I’m wishing you much fun creating your custom levels.

Greetings,

StMatn

Comments

Cake&amp;Code
20. Dec 2012 · 00:24 UTC
A link to your entry would help! Add it into your post and people will be more willing to give it a try :)

Valkyrie Updates

I’ve made updates to my LD25 entry. The page hasn’t updated yet since I submitted it, so here are the changes since I submitted it to the jam:

-UPDATE 2-
Lan can change direction faster between shots — she shouldn’t get stuck facing the wrong direction now.
Arrow indicators point to the exit on each map.

-UPDATE-
Alternate control scheme for crappy keyboards.
Bullets don’t go through enemies at point blank.

LD25 Post Mortem: The Hubris of the Bone Lord

Seems like everyone’s doing a post-mortem of their game jam – and since it’s easier for me to do one than it is to find out if it’s actually mandatory, here we go.

 

1. What worked

Almost everything worked for me, actually. Being forced into a small time frame made me simplify the graphics – meaning I didn’t have time to be fussy over colours, and didn’t have the time to agonize over the placement of each pixel, which is something I’ve had a lot of problems with while developing my other game, Return to Roots. This also resulted in a much more consistent aesthetic, which leads me to believe that the more time I spend on sprites, the worse I get.

AI development also worked out really well. Before tackling the AI, I wrote out a sort of “chain of command” that all enemy units would follow and communicate to one another. Having a bulleted list of “Do this, and then either to this or that” made it easy to split up the process into smaller, isolated tasks.

Program workflow kind of worked well. Stages are split into scenes, which contain a list of brawls. The “brawl” class could have been designed much better than it was, and creating a new scene required writing an entry into two places instead of one. Same for the brawls: edit code in two spots instead of one. But that was it; it was very easy to define where brawls would occur, who would be in them etc.

The control scheme. Controls feel smooth and (mostly) responsive, though I regret not adding single-key input buffering. The ability to attack in different directions regardless of which direction your character is facing was adopted rather well.

Feature Creep was rather nice to me. I had little trouble coming up with great features to add, but also had little trouble axing them due to time restrictions. So despite it being my first game jam, I managed to avoid biting off more than I could chew. (Chew means code.)

The storyline/plot of the game also came naturally, worked very well as a framing device for the game, and was well-received.

 

2. What didn’t work

My animation manager, for starters. I’ve developed a small but versatile class for handling spritesheets that allows for multiple animations of varying sizes and framerates and playback styles. Due to the nature of the LD48 compo, I couldn’t use it, and instead wrote something similar but much more barebones, from scratch. The result was slightly messier and more restrictive.

Time management was also pretty lousy. I thought I’d pace myself, so I went to bed by 3:30am on the first night. And slept for 11 hours. I had to make up for that by skipping sleep the next night, instead taking a 3 hour nap around 10am. I also did some other things unrelated to the competition during the competition, but they were more in relation to the next thing that didn’t work:

My chair. After sitting in it for 8 hours straight, even with a throw-pillow between me and the chair, my arse was killing me. I had to sit on the couch or in bed and play video games (Kingdom Hearts: Dream Drop Distance and a full run through Sonic the Hedgehog 3 + Knuckles, specifically) to pass the time and get the soreness down. I’ll need more cushions and regularly scheduled 5 minute breaks next time. Because there will be a next time.

Playtesting. I’ve got a lot of experience in software testing (well, comparatively to other things I do) so the game itself was functionally tested, but game balance didn’t receive any attention until 90 minutes before the competition’s end. Enemies were given too much health at first so that was pared down a little, but I think it still got overwhelming near the end. Game Overs boot you to the title screen, which someone was quick to point out the viciousness of. A game should be difficult and challenging, but it should not be frustrating. A fair punishment would be restarting the stage, but to redo the entire game is enough to make people drop it, especially in a competition such as this one.

The Main Menu. I should have spent more time on the title screen, making the difficulty select be menu driven instead of pressing a specific key for a specific action. The number keys aren’t used at any other time, and they don’t exist on the gamepad, so when I do port the control scheme to XInput gamepads, I’ll be having to redo it anyway. Should have planned that one ahead.

Comments

Gjarble
20. Dec 2012 · 00:59 UTC
A very good, well-thought-out postmortem. For the record, it’s not mandatory to do a postmortem, but it is a part of LD culture. Either way, it’s good practice to get these kinds of thoughts down on paper.
Suese
20. Dec 2012 · 01:29 UTC
You’ve discovered the pain of over-thinking. It;s clear that in your normal work you’re getting feeped. That is adding too many features and not concentrating on the most important part, which is making a game. We’ve all been through those first few years where we want to make ‘the perfect engine’, but engines don’t make good games.. game-play is what makes good games.
Suese
20. Dec 2012 · 01:30 UTC
I really hope you take your experiences here to the bank and get your main project finished. Who cares if the code is sloppy or if it doesn’t quite have all those extra features you thought might be handy.. if it’s not a finished it’s not a game, and if you don’t finish it quickly enough, you’ll burn out.

Cure 48 Post-Mortem and Theme Analysis

Ludum Dare 23 was a huge success for me with Zunzanda, and I said that I would not return to do another LD until my commercial game is done. But I guess I lied. It’s just too much fun to pass up! This marks my 7th LD (I think) and I think I did OK.

With the list of available themes, I picked the top three that I thought would win and began to brainstorm. I had some great ideas for END OF THE WORLD, and I was sure that it would win. Then, when the theme was announced, I just kind of stared at the screen in amazement. I honestly did not even think about YOU ARE THE VILLAIN. I should have, but for some reason it just didn’t pop up. I immediately stood up and began doing random things around the house while my mind raced with ideas. I usually go through this process. Instead of sitting down at the computer and drawing sketches, I just do some mindless task so my brain can sling crazy ideas around.

After enough thought, I decided to do something that I said I’d never do. I made a ‘Zelda clone’ with unoriginal slime creatures as the main enemy. This style of game is very unoriginal and the enemy is ‘easy’ to draw and is a total copy of about a million other games… but in that familiarity I crafted my overall design purpose: to use the player’s own history and tendencies against them. I will explain more about this design approach in the “THEME ANALYSIS” section. Reading that before playing the game will basically spoil the entire purpose of the game… SO GO PLAY IT!

CURE 48

PostMortem

Time, as usual, was the main enemy.

Features that got dropped after day one:

  • Voice acting
  • Elaborate intro and outro scene
  • Bombs to blow up rocks and open new passages
  • ‘Boss Battle’
  • Features / tweaks that got dropped on the last day:

  • More detailed/descriptive cave sequence at the end
  • Branching paths
  • Attractive Title Screen (the one that ended up in the game is hideous, imo)
  • WHAT WENT RIGHT?

    – The music. Cure 48 features two songs… the main theme and the ‘escape’ theme. I used the same instruments for both songs and kept them similar so the change wasn’t jarring. I think it works very well and the main theme is pretty rad.
    – The spriting. I was able to get a fully animated main character that’s generic but somehow not generic at the same time. Enemies are decently animated and have three palette variations. The world tiles are also pretty snazzy except for the walls.
    – The overall ‘purpose’ of the game seems to have been a great success based on the comments I’m getting. More on this will be revealed in the “THEME ANALYSIS” section below.
    – Graphical overlays and special filters. These make the game feel like it’s being viewed inside of an old, crappy monitor. Scan lines and static included.

    WHAT WENT WRONG?

    – CRASHES! My computer kept crashing on the first night and it put me behind by a considerable amount. It ended up being a hardware conflict related to my audio setup. BARF.
    – Much of the mood that I wanted to set got scrapped due to time. This included detailed intro and outro sequences with voice acting to help frame the actual game.
    – Screen transitions are harsh.
    – The sound effects are pretty standard. I wanted to do more unique sounds but I guess it fits.
    – Porting to HTML5. I was hoping this would be simpler but there were just far too many tiny errors that kept piling up. Things like world tiles flickering, audio not being triggered on time, objects and sprites changing at random, and AI not behaving correctly. It just wasn’t worth ironing out all of these bugs, especially when there are just so many other games to play and rate.

    THEME ANALYSIS

    So here’s the part that you shouldn’t read unless you want to be spoiled. If you haven’t played the game… GO PLAY IT NOW! If you’ve already played it, don’t want to, or CAN’T… then feel free to keep reading —->

    The theme “You Are The Villain” immediately painted an image in my head of playing as the bad guy. Role reversals start popping into my head. What would be the most interesting to attempt? I thought about it for a while but eventually decided I was thinking about it all wrong. The YOU in YOU ARE THE VILLAIN is the player, not the character. This means that the player has to play the game in a villainous way. That is, if the game is designed to lock the player into a role, then the player will obviously have to act within those rules. With my game, I wanted to make the player the villain without actually telling them to be the villain. I wanted them to be the villain by default while also giving them plenty of chances to be the hero. By using a familiar type of gameplay and introducing a familiar game enemy, I was able to manipulate the player into acting a certain way without ever asking or forcing them.

    Cure 48 puts the player in the role of a ‘spaceman’ of sorts that is tasked with saving Earth. A plague has swept across the globe and the only cure is found on another planet far away. This cure grows on a plant, and the player is asked to harvest as much of the cure as possible… and that’s it. The gameplay is very similar to The Legend of Zelda, in that you have a sword (in this case, a light saber kind of thing) and can swing it in four directions. The first screen consists of the player and his ship. You can only go right. Once you go right, you start to see some plant life. These plants do not contain any cure but can be cut down. Curious players may test swiping these plants just like the grass in many of the Zelda games. Going on the next screen presents the player with an interesting grass layout that draws the attention to the plant in the center. This plant has a white ball on top of it. Cutting this plant makes the ‘cure’ drop to the ground. Picking this up makes a sound and the cure count goes up by one. The player now knows to look out for these plants. So right away the player is used to moving around and using the sword to cut plants and gather the cure. In these first two screens, the player has already learned everything they need to know to ‘complete’ the game.

    The next area introduces the mini slimes. These green creates are familiar to most gamers. You’ve seen this guy before in other games. He’s a grunt. He’s an easy to kill enemy. But in Cure 48, he can’t hurt you. He doesn’t even follow you or try to get in your way. Up until now, the game hasn’t mentioned anything about being a villain. The game has never asked you to kill anything. Killing these slimes gives you nothing, but maybe it’s satisfying to be able to cut down something other than a plant. Maybe gamers are just curious to see what happens. My guess was that a combination of the game genre and the slime itself would immediately prompt a violent response from the player. In this moment, the player becomes the villain, not the character in the game. A creature from Earth that is trying to save his species from an attacker (the plague/virus) is now on another planet acting AS the plague/virus to another species. And this is all done voluntarily by the player.

    Continuing forward, a large slime is introduced. Again, this green slime will not hurt you or try to attack you. UNLESS you attack it first. It then becomes red and starts to defend itself. Hitting it twice more will kill it, and it will drop a cure. The player has just learned that the cure can be found in two places: on plants and in large slimes. This causes the player to now seek out the large slimes in order to get more cure. So now the player is committed to being a villain without even knowing it. Killing a green slime out of curiosity is bad enough, but now the player is slaughtering a peaceful creature in order to obtain something that is easily obtainable in a non-violent way. The next screen is much larger and has a mixture of large and small slimes and plenty of plants that contain the cure. Many of these plants contain two or three ‘cures’, whereas the large slimes only hold one cure each.

    Let me jump ahead a bit and talk about some of the comments I got about the enemies. Several players felt as though the large slimes are frustrating because they attack from an angle that can’t be hit by the sword. This was done on purpose. For one, it makes it more challenging as a game, but the most important reason is that it further supports the idea that attacking the slimes is not only a villainous thing, but it’s a stupid and dangerous thing. The game can be complete without ever attacking a single slime. There is literally no reason to ever have to deal with this ‘frustrating’ aspect of fighting the slimes. The player has personally chosen to pick a fight with an innocent creature and now the player is complaining that the angle at which the slime defends itself is less than optimal. WHAT A VILLAIN! “How dare you attack my weak spot!” I was hoping that somebody would fall into this trap that I set, and it seems like more than a few did. I couldn’t be happier. By acting like a villain, the player is making the game exceptionally harder than it has to be.

    So back to the game progression… you go to the next area and large blue slimes are introduced. These slimes don’t immediately defend themselves if you attack them. Instead, they will bounce backwards a bit. This is yet another test for the player. These creatures won’t even come after you if you accidentally swipe them while trying to get the cure. But if you hit them enough, which means you WANT to kill them, then they break into two small red slimes. These slimes will drop one cure each, yielding two cures for each blue slime killed. Introducing yet another reason for the greed of the player to kick in. This room also contains plenty of plants that contain cures.
    The next room is the final area. This room contains no enemies. This area has a TON of plants with many cures to collect, but it also has a curious object in the middle of the screen that looks like it may be the source of the cure. In fact, it is. I was unable to really describe this area in full detail because I ran out of time, but the idea is that the plants feed off of this power source and the slimes feed off of the plants. If you let a mini slime grab a fallen cure, then it will grow into a large slime. This was to show that the cure you are seeking is also the source of life for these slimes. This also explains why cures fall out of large slimes when you kill them. This object in the middle of the room flashes red when you hit it to show the player that it can, in fact, be damaged. Striking it five times will result in your light sword breaking (which was unfortunately not described as well as I had wanted due to time). The music stops and the ‘escape’ theme begins to play as slimes start to flood out of the back of the room toward the player. These slimes are red just like the defending slimes from earlier. You cannot attack them because your sword is broken, so you can only flee. They are simply defending the power source that gives them life, so their response can be seen as defensive and not aggressive. They will chase you all the way back to the start of the game, where you get into your ship and leave with the cures that you have collected. If the player attacks any slimes, then there will be aggression. If the player does not attack any slimes, then the only time a red slime is seen is after the player has already lost the ability to attack. So there is literally no way for a non-villainous player to kill any slimes as a method of “defense”. This ensures that all slimes killed are because of VILLAINY.

    At this point, the game rates your performance and gives you an overall rank and awards you with medals. By killing just ONE of the slimes on this planet, you are branded as the villain. To reach the rank of a hero, you have to collect a certain number of cures and kill zero slimes. To get the rank of a perfect hero , you have to get the Collector medal, the Defender medal, and the Feeder medal, and of course not kill any slimes. There is an award for killing a large amount of slimes, but that’s to show that bad behavior can also be rewarded in our society. You may also notice that when the ship is shown flying away, a green slime crawls around the back of the ship and sticks his little face up on the left side. This only happens when you get the villain rank. This is to show that the slimes follow the player back to Earth. I was unfortunately unable to create the ending sequence that I wanted, which would’ve shown the spaceship returning safely. Upon opening the ship, slimes flood out of it and attack everyone waiting to greet the spaceman. The slimes prevent the cure from being delivered and all life on Earth ceases to exist. The hero ending would’ve shown the spaceman step out and deliver the cure to save Earth. So here once again we see that by being a villain, the player not only made the game much harder, but they actually sabotaged their own mission. The humans see the plague as the villain so they send a hero to get the cure. Upon reaching the planet, a majority of players see the slimes as enemies(villains) keeping them from obtaining the cure. The slimes see the human as the villain trying to destroy their life source so they send slimes back to earth to prevent any more spacemen from endangering their planet. And of course the humans then view the slimes as the villains that are invading Earth. It’s a cycle of perceived villainy.

    So there you have it. That’s how my game approached the theme, and I’m so very glad that 99 % of players have proven that we are all very capable of being the villain without even realizing it. The difference between a hero and a villain often depends on what side of the battle you’re on, and I think that’s what has really stuck with me the most after this Ludum Dare. Thanks for reading!

    Tags: post morem, post-compo, post-mortem, postmortem, theme analysis

    R. B. A. Timelapse Video out

    A timelapse creation video of R. B. A. is out now on YouTube, just in case a 12 and a half hour livestream (multiple parts) is to long for you to watch.

     

    You can play and rate here.

     

    I’ve shifted into finals mode this week (almost over). Then I will be playing and rating games actively, my goal is 5 per day (and makeup the days lost to finals) So by the end I will have rated 100+ games.

    Tags: timelapse

    LD25 – Post Mortem

    This my very first competition and really full foray into the world of game development. My main goal was simply to finish the competition with a simple working game. After the two days I definitely feel accomplished.

     

    Friday

    I took a small nap in the early afternoon so that I would be more mentally prepared for the announcement of the theme. When I finally read the theme I immediately hopped on the treadmill jogged for twenty minutes talking through various game ideas. Simply moving helped me work through some ideas and by the end of the twenty minutes I had a single game mechanic that I could implement and place a story around.

    Your character has imbued themselves with the power to infect people around them simply by coughing and sneezing. This power will make people get out of the way. Ultimately allowing you to reach some end goal that is normally blocked by people.

    Immediately after starting the development I realized that I still needed more tools to get the job done. Just over two months ago I started building a game framework written in ruby powered by libgosu. When the competition started I was missing quite a few elements:

    • Tile Map support
    • Collision Detection

    Before I went to bed on Friday I had a working prototype of the hero that would could move other people by using their ability.

    Saturday

    I started to replace the initial images that I had given my characters with animations that I started to draw. I really appreciate people posting their work throughout the process as I was able to use that for inspiration for developing some simple pixel art.

    When I got done with the characters I realized that I needed to spend a lot more time building all the collision detection for the tile map that I loaded. I spent the rest of the day figuring that out.

    When evening rolled around that the initial gameplay, as I had implemented it, was not going to be rewarding as it was too random. I had a choice to turn the game into more puzzle game where the moves were more deliberate. I liked the idea of the solution but I did not feel that I had enough time to ensure that the puzzles I created for this new gameplay would be rewarding.

    So I made the choice instead to simply grant my character the ability to infect people. When a person was infected they died shortly after. I then made the character die after a certain amount of time. So the game mechanic was reduced to a simple speed run through trying to infect and kill as many people.

    Saturday night I stood at a crossroads as to how best to tell the narrative of our villan. I decided that the effort to try and convey a story for such a simple game mechanic would feel strangely bolted on so I focused all my effort on the music.

    Inspired by “The Dark Knight” soundtrack I crafted what felt like three songs for the game (i.e. Theme, Escape, and Requim).

    Music

    I went to bed pleased with the right choice that I made as far as limiting the gameplay and deciding to focus solely on music to deliver a narrative.

    Sunday

    The unfortunate problem with choosing ruby and libgosu is the ability to package games. I spent the majority of the morning packaging and troubleshooting performance issues when running the game on Mac OSX.

    I submitted my game shortly after noon because I had a plane to catch and would land far after the submission deadline.

    Conclusion

    While the game is not what I initially intended to create, I feel I made the right choices as far as adapting my idea with the remaining time allotted.

    While I love writing games in ruby, I think for future work I am going to use an already existing engine that manages tile maps, collision detection, and packaging for me. Allowing me to spend more time on the gameplay mechanics and not engine implementation.

    I also realized that I loved making the music. Even after the game I had some more creative ideas of how music could tell the story and have since composed two more songs.

    Next JAM event I would love compose music on a team