Sleep Consultant Postmortem

Day 1

This was my first time creating a game in javascript so I kept the game design simple.
On the first day of LD27 I made notes on what the game will be like and drew a simple view of the playing area.
sleep-consultant-design

Day 2
I did not work too much on the game during day 2. Most of the time was spent working on the game design and learning javascript. I added some basic javascript and HTML/CSS for the layout and very little game logic.

Changed Mechanics
Some of the mechanics were changed or dropped as the game was being made.
Some notable differences are the store, running away action, disappearing skills, stalling, and popularity.

The store was changed to allow healing and refilling all skills.
Healing gives the player another decision on what to spend money on. With how random the final game is, buying healing felt too punishing. A full heal after each round may be able to stabilize the randomness more.
Disappearing skills was removed in favor of skill refills. Refills allow the player to decide if they wanted to reroll or keep their skills.

Stalling changed from adding turns to being a stun. Adding turns went against the theme and it would have made the player’s skill usage choice in combat trivial. A stun allows players to heal up or ignore healing skills so that turns are not used by them whereas adding turns would allow the player do everything unless the client damage was very high.

Popularity was originally going to be used as another way to lose the game and get stronger clients. Different levels of clients would show up based on the popularity which would allow the player to choose which client to work for. Popularity would be decaying after each client and more after each failure. I could not think of a way to balance this in time so I went with a simpler route and had the game be level based. Popularity is now just a way for the player to level up their maximum random skill limit for rerolls.

Day 3
Day 3 was when I added in most of the game logic. When implementing game logic I also refined the design a bit more.
Some attempt at balance was done with client stats and costs. Due to the randomness of the game and how little skills were involved in playing, balancing with just those parameters was difficult. A more fair rerolling method would probably have had a greater effect on game balance.
Polish was added to the game such as attack messages and descriptions for each client. Colors were added during the last two hours of LD27.

Closing Thoughts
Javascript/HTML/CSS turned out to be a good fit for a game that’s text and buttons. Changing states in the game was as simple as setting the display to none and resetting displays when changing back. All the core objects in the game were global and public which is good for prototyping but does become harder to maintain. Having everything public caused some problems during the end. I sometimes set variables directly instead of through a method that updates the variable and the display at the same time.

I did not like how reliant the player was on getting good rolls. Money is too limited to allow players who got bad rolls to reroll again due to the costs of healing and popularity increasing. Having a longer game would have allowed the player to build up skills. A longer game would prevent a single strong roll from winning the game because the player would still have to level up to get even stronger skills.

Here’s a link to the game – LD27 – Sleep Consultant
The LD27 page – LD27 Submission

Tags: postmortem