About Korso (twitter: @Korso10)

Entries

 
Ludum Dare 33

Korso's Trophies

Korso's Archive

Post-Mortem: Monster House

Posted by (twitter: @Korso10)
Wednesday, August 26th, 2015 7:57 am

Being my first Jam –and my first complete game-, my main objective was to deliver a complete product in 48 hours. Although I’ve been programming since 2006, I was very little experience with graphics, and almost zero with games.

I’ve tried different frameworks and engines to make games during the last years. I’d loved to deliver a game that can be played via web or -at least- in the three main OSs, but due to my lack of experience, I finally used GameMaker Studio (Standard Edition), cause I felt more confident with it. In retrospective, it was a good decision; I doubt that I had completed the game with another tool.

 

The Theme

So it was like 3:00 am here in Europe when the theme was published. I wanted to do something original, but keeping in mind that I had to keep it small. Fortunately, the idea came this same night:

NuevoDocumento_1

Here is a draft of the mechanics of the game. In that moment, there was a single type of monster and two types -green & red- of characters. Nevertheless the main idea, that is, characters run away from the monster turning clockwise or counter-clockwise, was already there. I chose those colors to ‘guide’ the player, cause are the same colors used in planes, boats, etc. to indicate left and right.

So I had a somewhat solid idea of a puzzle ‘lemmings style’ but with a 2d-cenital perspective.

 

Day 1:

First day I decided to do the assets in the morning. My idea was do all the art and core mechanics in the first day, leaving levels & tutorial creation and SFXs and music for the second day. So I did a list of all the assets I needed:

NuevoDocumento_3

I don’t have much experience drawing sprites, so I decided to keep them small, and choose a 16×16 grid that I’d zoomed later to obtain a 32×32 base size. Although I was to use Paint.NET, I decided to do a quick research for more specific tools, and I found Piskel, a free -and awesome- online sprite editor that I used to do almost all the assets. I need also a color pallette, but I quickly found this thread of Pixel Joint forums where an user provided a 32 tones pallete, that I ended using:

db32_v1_pal64x32

To my surprise, I discovered that I actually liked my assets, so I decided to animate them, so I spent some hours in it.

In the evening, I finally began to do some coding. I’ve already decided to switch the mechanic from two types of characters to two types of monsters, so I drafted the ‘monster detection algorithm’ and began the work.

NuevoDocumento_2

NuevoDocumento_5

That night I thought that I had almost all the code, so I did a ‘test room’ just to be sure that all was working properly. Here was where the bugs began :(. I apparently didn’t understand properly the collision system in Gamemaker, so there were a couple of corner cases where the characters ignored the monsters. I couldn’t finish the code that day, so I went to sleep and left the bugs for day 2.

 

Day 2:

So I spent all the morning solving those nasty bugs, and I was running out of time: I had like 12 hours to do all the SFXs, the scenes structure and all the levels -both the tutorial and the game ones-. I decided to skip the game music and I focused in the game structure. Fortunately, all went smoothly and a couple of hours later I was this problem solved.

For the SFXs, I tried to record actual sounds and equalize them to sound more creepy. I could do it with some effects, but I ended using SFXR for the rest of them.

I spent several hours doing the buttons, start screen, credits, etc. So I had only 6 hours to do all the levels. I though that it was more than enough -I didn’t knew how deeply wrong I was-. My initial idea was 5 tutorial levels + 10 game levels. I wanted to do them right so I planned to show 1 new rule in each tutorial, and a smooth learning curve in the real levels.

level3_sol

The process was simple, but time consuming: I first named that level to provide some initial idea. For example in Level 03 – Semaphore, you have a 1 green + 1 red monsters. Second thing was to draft my ‘ideal’ solution for this level (note the floor tiles in the image above), and after that, I looked for another alternative route to provide more than one solution for the player, and an ‘easy’ route without additional points to ease the level to the player if they can’t find ‘my’ solution. Finally, I added the ‘traps’ (ghosts, bats, etc.) to the routes, and complete the map with the rest of the assets. Unfortunately, I ended spending almost one hour per level, so I had to cut my initial idea of then levels to only 5.

When the submission hour was approaching, I ran the game and completed all the levels & tutorials to ensure everithing was Ok, and submitted the game. Unfortunately I only have ‘standard’ license to Gamemaker, so I only could generate the Windows executable -aparently you need a Mac to compile Mac version-. I’d really wished that I could have submitted an HTML5 version :(.

 

What went right:

  • Gameplay idea: Fortunately it came very quickly and was solid enough.
  • Tools used: I consider to use Löve2D, but I’m sure that I had not finished the game if I had used a different engine.
  • Mission acomplished!: For my first jam, my main objective was to deliver a game. I did :)

What went wrong:

  • Time (lack of): I had planned some little tweaks that I think that would improved the game playability, but I spent too much time with some bugs and I didn’t have the time. The lack of music is a pity too.
  • Fast button: In the comments, one common issue by several players is the lack of a button to accelerate the game. I agree 100% with them, and the button it’s actually there -F key to fast-forward-. I mentioned in the info screen, but I had to mention it in the tutorials too. Lesson learned :)
  • Learning curve and level design: Clearly, the difficulty progression that I’ve planned was not too good. And the ‘lack’ of fast button definitely didn’t help. I need to design the levels more carefully, and a ‘pass the level’ option when the player can’t complete it, maybe would had helped.

Conclussion:

This Jam has been an amazing experience for me. I honestly never think that I were capable to create a game like this in just 48 hours. And I think that the game can be improved with some tweaks, so I guess I’ll continue developing it in the next days. I’ve enjoyed so much Ludum Dare, both the event and the community, so expect me for the next! 😀

 

First game finished! :D

Posted by (twitter: @Korso10)
Sunday, August 23rd, 2015 9:03 pm

I can’t believe it, but I’ve finished Monster House!

Now it’s time to sleep a little. It’s 4:00 am in Europe. Tomorrow i’ll play some of your games. Congratulations everyone!

monster_house_presentation

 

 

 

Last preview before submission

Posted by (twitter: @Korso10)
Sunday, August 23rd, 2015 12:27 pm

Ok, so HUD done, room handling also done and some tutorial. TODO list before submission includes:

  • Levels
  • Finish tutorials
  • Better “you win” screen with stats

Time to work!

ld33_almost_final

Core mechanics completed!

Posted by (twitter: @Korso10)
Sunday, August 23rd, 2015 9:02 am

Now it’s time to design some levels! (and start screen, and stats, and tutorial…)

LD33_mechanics

This gonna be a long night

Posted by (twitter: @Korso10)
Saturday, August 22nd, 2015 5:00 pm

So all the assets are drawn (unless I have extra time to animate more characters), so I’m implementing monster visibility. They can detect you if you cross from above/below/left/right, unless you hide behind a box (or a hole). For testing purposes, monsters turn blue 😀

 

ld33_visibility

Testing some assets

Posted by (twitter: @Korso10)
Saturday, August 22nd, 2015 1:11 pm

Now, time for some coding!

assets_ld33_korso

I’m in!

Posted by (twitter: @Korso10)
Friday, August 21st, 2015 7:30 pm

First Jam for me!

I tried to learn Löve, but for this one, I’ll finaly be using:

  • Gamemaker Studio
  • Paint.net
  • bfxr
  • Audacity

Good luck everyone!

[cache: storing page]