About Felladrin


Ludum Dare 35
Ludum Dare 31

Felladrin's Trophies

Felladrin's Archive

Keysmith’s in a hurry! – Post-Mortem

Posted by
Sunday, April 24th, 2016 10:17 am

A musician, a business administrator, an architect and a programmer. Not really a gamedev team; just a group of close friends looking for fun! And now we here to share the experience we had on the creation of Keysmith’s in a hurry!

We’ve met online at talk.gg just a few minutes before the theme announcement. At that moment we had already set a roadmap for the game development, as the following:

  1. Theme brainstorming
  2. Mockups and game name choosing
  3. SGDD writing
  4. Game assets and scenes creation
  5. Game programming
  6. Game sounds and musics inclusion
  7. Game publishing
  8. Post-Mortem writing

As soon as they announced the theme, we’ve started the brainstorm. Monsters, food, spaceships, rogue-like, quiz, game board, popcorn and a lot of crazy ideas… Until we finally got to the key-idea: to shapeshift keys for npcs that would tell a single-line story about why they needed a key. So this was the first mockup, made on flockdraw:


1º Mockup for Keysmith’s in a hurry!

We’ve spent a lot of time discussing the game features and drawing the interface. Later we moved to draw.io for a better mockup:


3º Mockup for Keysmith’s in a hurry!

With the mechanics and interface defined we could start thinking about the name. We’ve came across a lot of ideas. From the ok ones (Keymaker; Keymaster Legacy; Keystorm) to the awful ones (The Insane Adventure of the All-Keys Maker; Lord of the Keys; Keymberly!). In the end, we’ve picked the name “Keysmith’s in a hurry!” mainly because how it sounds. Also, no game has ever been made with that name.

Next step: writing the SGDD. [SGDD stands for Short Game Design Document, a development documentation method for small-size games. Original article, in brazilian portuguese: https://goo.gl/wNf46h]

We did it collaboratively using Google Docs:

For demonstration purposes we’ve reviewed and prettified it before posting here. During the jam it was a little messy due the lack of time. [PDF Version: https://goo.gl/KoKu2U]

For demonstration purposes we’ve reviewed and prettified it before posting here. During the jam it was a little messy due the lack of time. [PDF version is available at https://goo.gl/KoKu2U]

Having the development guide, it was time to start creating the assets on Photoshop and the scenes on Unity3D. Here you have some records of this moment:


Assets & Game Scene.

With the assets and scenes in hand, it was time to make a game of it. Make the static become dynamic. At the moment we started programming, we remembered to turn Chronolapse on: https://goo.gl/S89bY3

The game was all scripted using MonoDevelop. Meanwhile the soundtracks were being created with Cubase. Also we’ve included sounds on buttons and made some improvements on the UI:

Keysmith's in a hurry! on Unity3D

Our game on Unity3D.

Finally, a few minutes before the deadline we’ve published it!


Click this image to play our game!

Time for a well deserved rest before start writing the post-mortem!


Game Specifications, Experience and Feedback


It’s a game about resources management. In summary, each round the player needs to read a order description (to know what kind of key he needs to create), choose the material he wants to use for each part of the key and then click on the shape of the key they want to add to the key table (where the key is assembled). After the key is delivered, the next customer comes in and the next round starts. There’s a time system, but not so useful as we couldn’t implement it further; it only resets the current day startistcs every day. The statistics are currently the only feedback the player has for the customer’s opinions about the keys created.

The game targets computer web browsers, and all the interaction is made through mouse clicks on several buttons from the gameplay screen. It’s a simple and functional game, but due to it’s linear gameplay, it gets boring after five minutes.


We’ve focused the aesthetics on something reminding middle ages. All assets were based on this premise. So you see medieval keys, hear medieval coins and listen medieval songs among the game. The game is all in one screen because we had not much information beside numbers.


We’ve setup a short background story just to let the player understanding why was he clicking all those buttons. As you can read in-game, the backstory is:

“Descendant from keysmith masters, you are currently the best keysmith of the region. Besides being recognized for your excellence and tradition in the manufacture of keys, you were recently knighted by the king, for creating the key that saved his kidnapped daughter. Now you need to race against time to meet the demands from your old customers in addition to those who are curious about your work and sudden fame.”


We’ve developed the game on Unity3D, but decided to export only to WebGL (HTML5), so our game is basically a web browser game. The best thing about HTML5 is that anyone with a uptodate web browser can play it. Besides the game engine, we’ve used a lot of great and modern tools to make this game exist, as you’ve read above.

What we’ve learned

One of the first things we’ve noticed is that not everyone is prepared for the Pomodoro Technique. We used it on the first day, but not everyone could stop their work on the intervals. So we didn’t use it on the following days. But we’ll definitely try it again on the next jam.

Having an SGDD as a development guide helps a lot. Once the game tasks are defined, we just need to follow the list!

Our strategy of using controllers+events on the programming was not perfect; we still had some scripts referencing others directly. We’re already studying new techniques for that.

The Bad

We all agree that it took us too long discussing the game ideia. Besides that, we needed to change tools (for conference and drawing mainly) several times, due to the lack of functionalities or for not working on some members computers. We should have tested the tools in group before starting.

At the end of the jam we didn’t complete the programming task list from the SGDD: there should be a feedback message for the player to know what the client thought about the key. We’d do it through a message box that would slide down from the top of the window (you can see it being implemented on the timelapse video). But it was cancelled due to the deadline. We also missed the game over conditions, that was already defined on the SGDD. And also a few fixes, like disable the Deliver button if the key had only one or two of the three parts and disable the Discard button if the key table was already empty.

We’ve spent some time to share assets. Using a shared folder on Dropbox would accelerate our work.

The Good

The best part was the laughs! We laugh a lot! That was enough to make that time count! But we also liked alot our teamwork. So much effort put on it!

We’re all proud we could make the random customers orders work; to see the different combinations of keys with only a few assets; to try out those techniques (Pomodoro and SGDD) and know it works; to see our UI design being so much appreciated when we had no one to focus on the art.

All this gave us a very pleasant experience overall.

Keysmith’s in a hurry! – Development Timelapse

Posted by
Tuesday, April 19th, 2016 11:20 pm

Just uploaded our development timelapse from Keysmith’s in a hurry!

(Note: since the moment I’ve started programming)

Interested in playing? Here is the link:


We made it! A game for keysmiths!

Posted by
Monday, April 18th, 2016 11:36 pm

Ora Bolas! – Post-Mortem

Posted by
Monday, December 8th, 2014 6:21 pm

This was my first Jam, and also my first game made with PlayCanvas. I could say I was one of the few people who liked the theme as soon as it was released (“Entire game on One Screen”). I’ve found PlayCanvas just few weeks earlier and was very excited to check its potential. The Jam theme came in good time to make me try the game engine (one screen is all we need to try new engines!). And at the end, I was extremely happy with the result. PlayCanvas is now my primary choice for the next games.

At the start of LD 31, I thought I had no chance to submit to Compo, for being a first-time participant, so my focus was to make a game for the Jam. Firstly my game was about a boy dreaming to be a ant-sized person, running around a tree (represented by that object currently on the center of the game) – an idea from a quick brainstorm with a friend (Ukka). The player’s objective would be to avoid obstacles running and jumping while collecting items in a forever run game. But I’d probably spend a lot of time modeling. And that was not what I wanted. I really wanted to try the performance of playcanvas with 3D physics. So the idea about collecting falling objects came about. I started with primitive meshes, so I’d just need to replace them later (the spheres were meant to be fruits!). But I’ve spent so much time exploring PlayCanvas API that it was to late to replace the primitives. That’s when I decided to make it a ball collecting game.

After that, I needed to make the user interface. HTML5 made it so easy! Few hours later I had the UI working as I wanted. Then it was time to put some objective into the game. To make it reasonable, I’ve setup a countdown timer, so people would enjoy the game just for the time it should be enjoyed. It’s, no doubt, repetitive, and I don’t want people to get stressed. 100 seconds was good enough for me. And then, to finish it, I’ve added the counter (number of balls collected).

The game was still lacking sounds and music. I’d use a song from Robert Del Naja, made specially for LD31, and some sounds from freesfx.co.uk. It was all set up, but then I decided to submit the game before the end of sunday. So I removed the sounds/music, and quickly made some sounds with sfxr to put in place. That granted all assets created by me inside the 48h. Hard to believe, but I was ready to join the Compo.

Time to submit! And a indescriptible relief after clicking the Save button!

Ora Bolas!

So, that’s the result: a color-balls collecting game powered by PlayCanvas WebGL engine. It’s really that simple!

It’s something beautiful to watch if you have a nice soundtrack on the background. You can spend a lot of time looking for the balls eternally falling.


Game Specifications, Experience and Feedback

Mechanics: The mouse is the key here. In this game you just need to point the cursor to the balls with the same color displayed on the top-left label to collect them. When you collect a ball, you increase your “score”, which is displayed on the bottom-right label. The game has a countdown timer to challenge the player to collect the maximum balls they can in a specific time. Also, the timer makes the player stop playing before they get bored.

Aesthetics: The game was meant to be clear and colorful. Colored balls are generated randomly and the background also changes color randomly over time. The balls use just RGB basic colors and its combinations (except black, because it looked more like a shadow instead of a ball): Red, Green, Blue, Yellow (Red+Green), Magenta (Red+Blue), Cyan (Green+Blue), White (Red+Green+Blue).

Story: Actually, there’s no story for it. It’s up to you to think why are random colored balls falling in a random colored scene with an unidentified rotating object on the middle of it.

Technology: I’ve used PlayCanvas Designer to setup the scene, PlayCanvas javascript engine to program the game, PhpStorm as the IDE to manage my project code, Blender to model, and sfxr to create the sounds.

What I’ve learned: Everything about Ludum Dare and PlayCanvas were new knowledge this weekend. And I think I just didn’t get so tired because I was extremely excited about learning. I’ve also learned I can really make games in a few time. I like this kind of challenges! It’s so fun! And people really recognize your effort, mainly if they are also game devs.

The Good: Now I can say how exciting is participating in a Game Jam, and I can also say how good is to use javascript to program everything (games, apps, sites, servers)! Now I see that a lot of other devs goes to the same problems and also start at the same point (“How am I going to do that?”). I’m a programmer enthusiast, so it was very exciting to learn the playcanvas API in a hurry.

The Bad: I was not prepared to create sounds or soundtracks. So, to don’t screw up my game, I’ve chosen to leave it without soundtrack. The game without soundtrack loses almost all of its fun. Really, if you’re gonna play, please, prepare some relaxing music and let it playing on the background while you play. You’ll see the difference.

[cache: storing page]