Game Design Deep Dive is an ongoing Gamasutra series with the goal of shedding light on specific design features or mechanics within a video game, in order to show how seemingly simple, fundamental design decisions aren't really that simple at all.
In 2010 I left Microsoft Game Studios to found Heart Shaped Games. Hero Generations was the first game I focused on, and the early version was selected as an IndieCade Finalist. However, after a year of mostly solo development, and a brief (and commercially unsuccessful) web release of the prototype, I put the game on the shelf and focused on a new original design, the multiplayer CCG Highgrounds.
Fast forward to the beginning of 2014, and I decided to take what I learned from making Highgrounds and try to build a better Hero Generations. I ran a successful Kickstarter for funds to finish the game in April 2014, and it enabled me to bring on a proper team of Artist Dominic Sodano, Musician Andrew Riley, and part-time Producer Patrick Shaw to make the polished game I had always intended. The new version was just released on April 10th on Steam, OUYA, and Humble Store.
Hero Generations revolves around a core system of character death and creation. Your Hero ages 1 year with each step they take, and the player must seek out a mate before they die to create a child with.
An early sketch of the world map at play in Hero Generations
That child is then procedurally generated (functionally and visually) based upon the properties and behaviors of the two parents. The initial inspiration stemmed from a few places:
It was with this mix of goals for the system that I started prototyping.
Here were some of the considerations given to each of these components of the generational system throughout development. [I also want to call out the early collaboration done with my good friend and design mentor Daniel Cook of Spry Fox. In the early stages of design, Daniel and I met often to talk through the design issues with the generational system and game in general.]
The biggest challenge with designing the character system was deciding what properties to REMOVE. In a way, the overall game is a “life simulator” and because of that similarity, it was easy to think of RPG-stat-like things to add. Some examples of cut character properties:
I eventually reduced the character properties to 4 key variables:
The result of focusing the stat sheet to such a small set was that you ended up with deeper interactions, and you saw more drastic consequences to your actions, because everything is connected. For example, losing strength meant:
This type of change had the ability to cause your entire line of future characters to chart a different path then you originally planned.
Traits & Mating
To make “putting two characters together” interesting forever, it was important that we not completely strip down the complexity of the character. One area we could keep complexity was in the look and feel of the characters. Our final rig has some 25 configurable parts, which can be varied in color and pattern. I initially had created a very crude prototype using code from an old game (The Beggar) where you could hit a button and see a new design appear for the look and feel of the simple, blocky characters. It was enjoyable enough to make me want to explore it more.
The other area I kept complexity and interest was with a set of special abilities called traits. Traits have a huge variety of effects (ex: “Warrior – 25% boost to strength in combat”, “Haggler – 30% more gold earned from selling items”), and give each character more flavor. We eventually sorted out that it was better to have fewer traits per character (we landed on two), but allow the traits to have a lot of complexity to them. So it was easy enough to understand, but still allowed for there to be surprising character designs to emerge through the pairings of different trait types.
Deciding What Gets Lost & What Persists
The other main trouble spot was handling the transition of properties and traits from one character to the other. At first we tried to follow nature: traits and stat bonuses from each parent were thrown into a hidden RNG and a new character was given to you.
This did not go over well. Players were mad that they didn’t get to keep a trait they worked hard to acquire in the last generation, and felt as though the game had taken something from them.
To solve this issue, we did two things:
This “flip card game” approach became its own fun activity and still allowed us to keep the surprising variation quality of the design we wanted.
The game is still freshly released, so I am still sorting out if these design choices ultimately were the best path. I can completely imagine a version of the character system that has more variables and complexity to it, that would still be just as fun.
A lot of these choices stemmed from my original target of the web audience (the game originally started out on Facebook, but the final release is a heftier single downloadable game on Steam, OUYA, and our website). But I think the overall set of choices has lead to the experience I wanted, and the system has yet to get tiring to play with, even over 5+ years of development.