Happy new year everyone!
This new year comes with an improved version of my first ever LudumDare competition entry: The One Fork Restaurant. To celebrate the release of the final version of this game, I've decided to write down a full postmortem about it. As the title implies, it's a funny time-management game taking place in a restaurant, where many people come to eat various meals. But the restaurant has only one fork, so customers have to share it!
When the customers are waiting for the fork, they start to get bored, and may leave the restaurant if they wait for too long. Eating gives them a little relief, so each time they eat, they’ll be able to wait a little longer afterwards. The player will have to swap the fork as often as needed so every customer can enjoy (and finish) his/her meal!
In order to get the best of this quite detailed post-mortem, I suggest you to try the game first (it's a web based flash game).
This first Ludum Dare started quite bad for me. Here, the compo starts at 3 am. I was planning on staying up late the first night so I could know the theme, then sleep over it, and start creating a game in the morning. But unfortunately, I've got an extra-busy week at work, and I was already lacking a lot of sleep when the weekend started. So I passed out at around 1 am, only to wake up about 13 hours later, at 2 pm on the saturday... Sure, I was feeling rested, but I was also quite angry at myself for wasting 12h compo hours on sleeping before I even started making anything!
Well, I fired up my computer to discover the theme: "You Only Got One". I then took a quick brunch before starting to work. As I didn't had time to follow closely the theme voting, I wasn't excepting anything special, so I wasn't disappointed by the theme (unlike a lot of other people taking part in the event it seems). On the contrary, I found it quite original. While searching for ideas, I first came up with the obvious ones: one life, one bullet, one arrow, one button... However, I didn't want to follow that route - I knew that many others LDers, more skilled than me, would make impressive games on these ideas (Titan Souls, I'm looking at you!).
I wanted to find something more original, and funnily stupid if possible. So, I was toying with ideas about "sharing one stuff": people sunbathing but sharing one umbrella to avoid being sunburnt, dog puppies sharing one bone, babies sharing one plastic dummy... After brunch, as I was washing my dishes, it finally struck me: what about people sharing a single fork in a restaurant? - that sounded cool, so, 1 hour after discovering the theme, I had found my idea and started working on it!
As a old-time Flash user, I chose to create the game solely with Flash IDE (meaning no cool framework like Flixel, and mouse-drawn vector-based graphics instead of pixel art). I started by coding the core gameplay with ugly programmer art. After about 4h30 of work, I got this roughly-working-but-ugly prototype:
As you can see, in this prototype the player can move a fork from one table to another. When a customer receives the fork, it triggers an "happy" animation and it starts to increase its "meal" gauge (the black bar at the bottom). When a customer is waiting for the fork, it triggers a "sad" animation, and it slowly decreases its "patience" gauge (the colored bar on top). I defined a series of four "customer profiles", with different quantities of meals to eat, and different starting amount of patience.
The core gameplay was now working, so I had to design some graphics. As I'm not a skilled graphic artist at all, this was very hard for me. But after 4 more hours of work, I finally came up with a funny eating animation for the customers, and a set of different customers faces:
Here, I basically had a working game, after 8h of work. I still had many time-consuming stuffs to do, but the "proof-of-concept" was here. That's usually where I start to loose interested in a project: when the main idea is here, but an awful lot of tedious polishing work remains to be done. Hopefully, even though I was working alone at home, browsing through the Ludum Dare site made me feel "being part of something". It really motivated me to go through the end of the game development process. So a big thanks to all of the other participants for posting so many interesting and motivating posts about their ideas, their problems, and their work-in-progress - it was a real source of motivation (I even posted several updates myself to "take part in the event").
From this point on, I spent the rest of the compo time doing some additional graphics (backgrounds, GUI...), creating a tutorial, a menu and game over screen, generating sounds with AS3sfxr, testing the game and balancing it the best I could in the too short time I had left. I also had to sleep a lot again between Saturday and Sunday (about 8-9 hours). In the end, after about 19 hours of work in total, the game looks like this:
As I finally chose a rather simple game idea, I was able to come up with a working prototype rather quickly (basically at the end of the first day). It means I got the opportunity to spend some time to balance the game (in fact quite a lot of time - about 5 hours in total). My first task to balance the game was to define different customers profiles and to introduce them in the game progressively. The longer you play, the slower the customers eat and the faster they get bored of waiting for the fork. I also balanced the number of maximum customers available at the same time. To test all of this, I needed testers - so thanks again to the wonderful people who took some time to test the game for me. This was very tedious and hard to do, but according to the comments on the competition game page, it seems most players hopefully find the game quite well balanced!
Besides fine-tuning the mechanics, another hard part of balancing is to provide meaningful and easy to read feedback to the players. I tried different strategies here:
At first (left picture), I decided to use two gauges: one at the top for the remaining patience, and one at the bottom for the % of meal eaten. However, it quickly appeared that two separates gauges are hard to read when playing a rather fast-paced game. So I decided to remove the bottom bar, and to animate the food bowl instead: as the customer eats, its bowl is getting empty (middle picture).
But it then appeared that it was hard to focus on both the bowl and the bar. As I was testing the game, I found myself losing customers because I was too focused on the bowl and I forgot to watch their waiting bar. In other words, the two "gauges" were too far apart from each other for the player to be able to read them during the game. So I moved down the waiting bar beneath the food bowl, and now, finally, I was able to watch them both during the fast-paced game! (right picture).
Last but not least, if you want players to enjoy your game, they have to understand how to play it - so I made a tutorial screen. Honestly, if I had enough time, I would have liked to implement a real in-game tutorial, but the deadline was too short. So instead I wrote up an introductory "how to play" screen, featuring an animation for people who don't like to read (i.e. 90% of players, including me).
Then, in order to test if the game was easy enough to understand and play, I took it to the ultimate test: the "girlfriend test" (another popular version is the "mommy test"). My girlfriend doesn't play videogames, so she is an excellent "ingenuous" tester. While playing my game, at first she didn't understand that you simply need to click on the target customer to move the fork. She was actually trying to click the customer who had the fork first, in order to "get back the fork before giving it to another customer". That's why the tutorial now reads "Using your mouse, click on the customers to swap the fork", alongside with an animation showing how it's done.
Then, she didn't understand that you can swap the fork between customers BEFORE they finish their meal (which is the core mechanic of the game by-the-way). So, she was moving the fork to one customer, waiting for him to finish his meal, then swapping it to another, etc. Needless to say she wasn't able to go very far in the game that way. To address this issue, I added a "tip" message in the animation, and I also made sure to specify this on every text description of the game I would write when submitting it to the competition website.
In the end, besides making sounds and additional graphics, I basically spent the entire second day (up to the compo deadline) testing and balancing the game. Sure, it was tedious, but I think it was worth it - it really seems to make the game more enjoyable, and maybe feel a bit "polished" despite a very tight schedule.
First of all, let me state how wonderful the LudumDare community is: it was the first time I was taking part in the event, and my game was rated by 79 people, with about 47 of them leaving a comment to help me improve the game or saying what they enjoyed about it!
It might not seem much, but for an hobbyist Game Designer like me it's a lot! We all know that indie and amateur game creators struggle to have people playing their game, not to mention how hard it is to have constructive and helpful feedback! I didn't knew it, but the LudumDare event is wonderfully designed for getting feedback: in order to have your game rated, you have to play and rate games created by others. It's a great way to motivate people to review games, and a brilliant idea regarding the more than 2000 videogames that were created in 48h or 72h by the participants of this event.
After three weeks of rating games, the official competition results were announced. Each game is rated out of 5 in several categories, with an overall ranking that summarizes all the ratings. The One Fork Restaurant was in the "competition" section with 1284 games, and got the following ratings:
The "Coolness" rating is related to the number of games from the others participants the author of the game has rated (it's the only category with a lot of medals!). Regarding the other categories, it's honorable to reach the top 100, and very unlikely to reach the top 5. So, the game did quite good for a first competition! It ranked 4th in the theme interpretation category, a very heart-warming and unexcepted result! I could never imagine to get a game ranked that high in one category :)!
Regarding Humor and Fun, it's quite good too (around the top 100), and Innovation and Overall ranking are not that bad at all (around 160). The real weaknesses of the game, as I've been excepting, are the graphics and audio. All in all, this game sets a starting point for me: I'll now have to try to do better the next time!
In the end, I find this ranking and rating system very clever and efficient, because it can give a useful feedback to every game creator despite the ever-growing number of titles produced during each Ludum Dare. So thanks to the organizers of this event and to the others participants for such a wonderful experience!
To conclude this lengthy and wordy post-mortem, let's go through the two the classical sections:
After the compo ended, I've also released an Android version of the game, thanks again to all the people that suggested it when rating my game. It was the first time I created an Android application, and it took me a long time to figure out how to make an ".apk" using AIR and FlashDevelop. So thanks to Sean Hogan and his wonderful tutorial on this topic - it helped me a lot!
Besides the port to Android, the post-compo version of the game was also improved/polished in several areas:
After all these efforts, you can now play the final version of The One Fork Restaurant on this website. Thanks for reading this long post-mortem, and I hope you find it interesting. If you have any comment, please let me know using the form below.