What Makes an Employee Happy?


I had previously mentioned that I’ll be using the HEXACO personality model to simulate happiness in Startup Freak. Yes, it has many shortcomings but it does let me add some depth to the game without having to invent my own (flawed) set of personality traits. This week I have fleshed out the Happiness System a lot more. Here is what I have:

Happiness Factors

Here the components of happiness I currently track:

  • Interactions: Interactions with other employees. In the next section I’ll explain how different employees affect each other based on their personalities.
  • Office: This portion of happiness depends on the office itself. At the moment I’m focusing on office amenities. Each item in the office has a “happiness measure”. The sum of these is divided by the number of staff to calculate their affect on each. There is still some work to be done here, e.g. incorporating the size of the office (is it overcrowded?)
  • Salary: I now have a better method of calculating “market rate” for an employee based on their skills, but also taking into account how long they have been working and their expected raise. A happiness factor is then calculated based on the gap between their current salary and expected market rate.
  • Events: The last component directly comes from randomly generated events which I talked about last week.

The big elephant in the room, obviously, is that I’m missing a component related to the work the employee is doing. That’s going to be a tough one as the game doesn’t really have granular tasks, but high level ones (per earlier design iterations). I’m going to leave it out for now until/unless it becomes glaringly missing.

One last note: when I calculate the happiness for each employee I also record the “biggest concern” for each and show it in their UI. This gives the player information on how to go about fixing the problem. I actually thought about a “Chat” mini game where you have to talk to the employee and find out how to help them, but that’s going in the Nice to Have bucket for now.


Personality Factors

HEXACO identifies 6 personality traits: Honesty and Humility, Emotionality, Extraversion, Agreeableness, Conscientiousness, Openness. I was having a hard time thinking in my head how all these factors would play into happiness, so I drew the following table to help:

High Low
Honesty and Humility Makes others happy; is content with salary Makes others unhappy; is not content with salary
Emotionality Is more affected by others (positive or negative) Is less affected by others (positive or negative)
Extraversion Makes others happy, Larger team makes them happy Larger team makes them unhappy
Agreeableness Makes others happy Makes others unhappy
Conscientiousness ? ?
Openness to Experience Change makes them happy Change makes them unhappy

I have implemented everything except the red items. I think those are going to need a bit more thought and investigation as they become hard to measure and may or may not add to the overall experience.


New Placeholder Items

The other task I focused on this week was adding 10 items to the store for the alpha release. These are placeholders and not intended for the final release, but I didn’t alpha testers to be looking at boxes and circles. Here are a few of these items, all created in Inkscape:

fridge  coffee-machine bookcase arcade



Items in action. The proportions are definitely off…

Coming Up Next

I’ll be continuing on the Alpha content tasks (see trello), and doing more work on balancing the game, which is going quite out of whack as I’m adding content! My goal at this point is to have the alpha ready in late April / early May time period.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s