The Plan – IGF 2016

Don’t worry, I’m still alive. I haven’t blogged anything in a while because I’ve been hard at work.

My Idle/Incremental Game Bard Life is coming along nicely. It’s taking longer than I thought (game development eh?) but progress is still fast and I hope to have something to show friends (and you guys) by the 19th March.

After that point, I will assess the feedback and decide whether to continue with Bard Life or not. If I decide not to continue, I will polish it up as much as I can and just dump it on the internet somewhere for free. I want to release a game and release a game I shall! If I decide to continue with it, then I’ll spend more time polishing it as much as I can and then do the aforementioned internet dump. In this latter case, I will spend time promoting the game and thinking about updates.

Regardless of what I do, I want to get Eternal Struggle to alpha state. I committed to it last year, I still think it’s a good concept (especially after seeing The Darkest Dungeon‘s reception), and I honestly want to see if it works. I believe that I’ll spend around a month on that, so April > May will be Eternal Struggle Alpha month. If Bard Life really takes off, I may drop Eternal Struggle.

Why all these deadlines? Well, The Plan has started.



I’ve wanted to commit to a real game project and see it through, alone, for years now. The GDC 2016 Independent Game Festival call for submissions begins in October. This is something I feel I have to do. I’ve got to get something submitted to IGF, even if it has no hopes of being nominated. It’s a great experience, it pushes me hard, and it will still result in an end product I can share with the world. I also need to start going to GDC professionally and I just don’t have the spare money to pay my way… I need a game to showcase there and I need the financial help that the IGF provides if you get nominated.

Perhaps Eternal Struggle will be good enough to submit. That would be amazing, although I have doubts that it’s innovative or arty enough to really warrant heated discussion. Bard Life is an Idle Game so there’s no way I’m entering that into IGF! Therefore, if Eternal Struggle does not show enough promise before the 1st of May, I have to put it on hiatus… or cancel it.

If that’s the case, The Plan is in full swing and The Game needs to be concepted and built.

I’ll have 6 months to get a completely new game submitted. My free time, which will completely turn into dev time, is the following…

  • Every weekday morning for 1 hour* – 5 Hours Total
  • Two weekday evenings for around 4 hours – 8 Hours Total
  • One weekend day – 8 Hours total, realistically

So that’s 21 Hours a week, 84 hours a month, or 504 Hours total between May 1st and the end of October.

For the first month I want to do a ‘One Game a Week’ prototyping period where I build and playtest 4 candidates for The Game. Ideally I’ll be blogging along the way, and perhaps even creating some video content. Marketing and personal branding is just so important these days, so I need to start creating more non-product stuff as I move towards submission.

The next blog post will be around March 19th-29th when I have Bard Life ready to share.


– Sam


*PS: You should totally try doing this if you can. Wake up an hour earlier than usual and work on your game. It’s changed my development life!

Mmm Nationalism – Days 7 & 8

The glory of nationalism gave me 2 nice productive days to work on Eternal Struggle as regular work was halted on a national level to celebrate Chairman Mao and everything red*

In the spirit of modern China, I spent both days working on Consumerism. The Shop feature is now in-game and working pretty well.

Eternal Struggle - Day 7
Eternal Struggle – Day 7


I’ve still to decide whether Eternal Struggle has a need for Gold. Perhaps each Hero has their own purse, perhaps the player has a global bank account.. or perhaps there’s a hybrid that works well. For now though, there is no Gold.

Players ‘pay’ for their shop items with time. You cannot just purchase items and equip them willy-nilly in Eternal Struggle. Heroes must buy them… and heroes must equip them. When you wish to get an Epic Sword for your warrior or a Dusty Tome for your priest, you must spend a hero’s turn on shopping (pictured above).


Eternal Struggle - Day 8
Eternal Struggle – Day 8


Relationships are one of the key features of Eternal Struggle, and I felt that heroes giving each other items creates a very strong link between friends and foes. In the picture above, you can see that Adam has purchased a Neutral Scepter for Charles. This is the basic functionality I built in the National Holiday.

In the future, relationships will matter. Sentimental Value will be attached to items that are gifted from one Hero to another. You will want to make sure your items are gifted in positive relationships. Fighting with an amulet gifted by your true love is going to increase your power in the Dark Lord’s Dungeon. Then again, if your worst enemy gives you a powerful sword… perhaps you believe it’s a fake or that vanquishing the Dark Lord with that guy’s sword leaves a bitter taste in your mouth.

While these buffs/debuffs to items based on relationships may seem a little convoluted, they create some truly interesting gameplay potential. Relationships can be improved or degraded over time, and players will need to figure out how they think their Heroes will feel about each other after 30 days and when they should start equipping for battle.

Maybe you have two star-crossed lovers that are destined to hate each other’s guts because every time they go questing they start arguing. You’ll want to make sure to purchase items early on before the love is gone. On the other hand, there may be some rivalries that can be overcome with good planning. Legolas and Gimli in Lord of the Rings started with hatred for one another, but by the end of the story they’re brothers in arms. In this case, you’ll want to hold out until the last turn before Gimli gives Legolas a shiny new bow.



*On a related side note, one of the cool things about Eternal Struggle’s characters and their relationships is the World History generator. Each character will come from an area in the world and be of a particular race/species. Then the system will generate some history and politics to determine how they feel about one another when they arrive in your town on Day 1. Perhaps I’ll have a Chinese influenced region!

Eternal Struggle

Project: Eternal Struggle is currently very aptly named. Not only do I have an eternal struggle with development (either getting the time or motivation to work effectively), but I’ve also been struggling with writing a blog post about it! As the Chinese National Holiday begins, I felt that it’s finally time to write a very brief overview of what Eternal Struggle is and what you can expect over the coming months


Eternal Struggle

A procedurally generated fantasy hero management adventure


What is Eternal Struggle?
In Eternal Struggle, you have a party of 5 Heroes that you must train in order to fight The Dark Lord. Each turn, you decide which action to make each Hero perform. The outcomes of these actions will increase their strength. When you run out of turns, your party heads to the Dark Lord’s Dungeon where you can witness the outcome.

If they lose, you can try again… but this time you have more knowledge of what worked and what didn’t. If they win, congratulations! You have stopped the Dark Lord returning for 500 years. At this point, time advances until he returns once more and you have a new challenge to overcome. How long can you keep defeating The Dark Lord in this Eternal Struggle?


The Hero Management Part
Eternal Struggle is a culmination of many projects I’ve started over the years.

Back when I was in EA Playfish, I pitched a Fantasy Hero Management Simulation akin to Majesty or Dungeon Village. I also pitched something similar to Happylatte. I’ve always been really fascinated with managing a group of unique heroes with their own personalities and relationships with each other… more so than the actual fighting!


Majesty 2 (Left) & Dungeon Village (Right)
Majesty 2 (Left) & Dungeon Village (Right)


As mentioned in earlier posts about Eternal Struggle, it’s also based on Outdoor, my Ludum Dare 30 entry. This game in turn is similar to The Yawhg, a choose-your-own-adventure style simulation. You know something bad is coming, you must prepare for it. The journey is the game, the outcome is the win or, more likely, loss condition.

Eternal Struggle therefore is a preparation style adventure in which you manage a group of heroes over a number of turns in order to defeat the great evil that approaches. You want to power them up to defeat the evil that awaits, but you cannot forget that heroes are human (or human-like!) and have needs, personalities, and relationships that you also must manage.

Basically it’s the Council of Elrond… before the heroes set off for Mordor.


The Council of Elrond
The Council of Elrond



Imagine Boromir, Frodo, and Sam chilling in Rivendell….

  • Imagine that Boromir is a mad drunk who has a taste for Hobbit meat. You want to train his warrior skills, but far from Frodo and Sam.
  • At the same time Frodo must unlock his secret ICE MAGIC by questing in the Lich’s Cave
  • Sam, who is now a cleric, can only find his true strength if he’s close to his one true love; Frodo.
  • Unfortunately Frodo wants to be questing, while Sam needs to be at the library.
  • Boromir would love to train at the Lich’s Cave with Frodo, but that could end up badly for his tasty stunted companion.

The goal of Eternal Struggle is to give players a huge challenge babysitting their Heroes. There are obvious stats and attributes that each Hero wants to improve… but doing so efficiently and without drama is going to be a challenge.


The Procedural Part
Procedural Generation is something that has fascinated me since reading about Dwarf Fortress. Now, I’m definitely not a fan of environment generation or roguelikes (please god, no more roguelikes!) but the procedural story, character, and history generation is what really inspired me. The way that a system can generate a deep and compelling history… a web of events, characters, and relationships was incredible to me.


Dwarf Fortress - The real game doesn't come with the handy MS Paint annotations...
Dwarf Fortress – The real game doesn’t come with the handy MS Paint annotations…


Before starting Eternal Struggle, I was working on some procedural character generation of my own. I’d started a pipe-dream project which required me to generate 40 player characters… create personalities and unique playstyles for each of them, then create a relationship network that determined which characters were friends or enemies (based on the personalities and traits). That project is extremely exciting to me, something I’d only ever dreamed of making, but is completely commercially not viable and the thought of multiplayer server code makes me cringe. What it has done is teach me how to generate content.

There are many constants in Eternal Struggle, things that are not generated ever. These can be learned and discovered, like knowing what certain Pokemon can do in combat or where they like to hang out.

  • Heroes will be fixed.
    • Boromir the mad drunk will always be a mad drunk with a taste for hobbit flesh.
  • Enemies will be fixed.
    • Skeleton Warriors will always have 300 HP and deal physical damage with a godawful chance to hit.
  • Environments will be fixed.
    • The Magma Chamber will always have monsters with a fire taste to them.


I won't have as many Heroes as Dota 2, but I want them to feel just as unique
I won’t have as many Heroes as Dota 2, but I want them to feel just as unique


However, with these constants in mind… everything else will be randomized/configured by the system. Every time you start a new game of Eternal Struggle, you must discover what has changed and how to adapt your typical strategies.

  • The Dark Lord’s Dungeon will be generated
    • Perhaps it’s an Ice Cave, followed by a Magma Bridge, and an Undead Fortress
    • Or maybe it’s a Futuristic Insectoid Hive, followed by an Undead Bridge and a Magma Cave
  • The enemy configuration inside the environment will be generated
    • The first Magma Cave you will experience might be full of Burning Fire Elementals. Hot stuff!
    • The second Magma Cave you come across might drop the Fire Elementals in favour of some Black Dragons.
  • The Heroes configuration and their relationships will be generated
    • In your first game, Humans and Elves hate each other… they’re mortal enemies and you’ve got to keep Legolas and Boromir apart. If not, they might duel in the city streets!
    • In your next game, Humans and Elves are great allies. Boromir still dislikes Archers, but him and Legolas can quest together if the player wishes
  • The Town config will be generated
    • Every action a Hero can perform on their turn corresponds to a physical area in the Town
    • Each time a game starts, the town’s configuration of buildings will be different
    • Perhaps Legolas and Boromir (who now love each other) want to train together for a 25% bonus… but the Barracks and the Archery Range are on opposite sides of town. Damn!
    • On top of different building position configs, certain building types will be more or less effective. A tavern is a great place to gain Happiness in a typical game, but the Prowling Lion Tavern in this game has notoriously bad ale and will only appeal to the drunkest in society. You’ll have to find your Happiness elsewhere!


The Development Part
Eternal Struggle is the first project I’ve started that I know I can build. I built a light version of it in 48 hours for Ludum Dare! Knowing this is a great relief, and development is going pretty well (despite my complaining). Every week I hope to have progress to show you.

I’m going with this whole ‘open development’ thing, trying to get something horrendously ugly but playable into the hands of players as soon as possible. There are no secrets here, no worries about ideas being stolen. I’m not big enough for that! I’ve been guilty of developing in a bubble for way too long. Eternal Struggle is a change to my typical process and I’ll make sure to publicise this blog and the game a lot more once I’ve got my first playable version.

It’s too early to say when that will be, but I’m hoping within a couple of months (which translates to about 8-10 working days) at the latest.


Day 6 – Day in the life of a Hero

I think I’ve become allergic to blog posting as I’m still not in the mood to do a big introduction post to Eternal Struggle. Perhaps it’s because some major features are up in the air and suspect to change, but in all honesty I’m just so busy with making the game and doing my day job.

Yesterday I added probably the most important feature; the Action Outcomes system.

In Eternal Struggle, you are managing a team of 5 Hero characters. They each have a class, an equipment loadout, and attributes that determine how effective they will be when the time comes to fight The Dark Lord.

Your job is to manage their desires, relationships, and training regime to make sure they stand a fighting chance against the Dark Lord’s dungeon.


Gameplay Flow

  • Every day you choose a single action for each of your Heroes.
  • They travel to the location in town to perform that action
  • If they bump into each other, an event will occur based on their feelings towards one another (TBD)
  • Once they arrive at their destination, it will influence their power level, based on their action and their mood;
    • Training and Studying Actions will influence Attributes
    • Merrymaking Actions will influence Mood
    • Questing Actions will influence Relationships
    • Shopping Actions will influence Equipment
    • The Wizard’s Tower will provide valuable intelligence about the Dark Lord’s Dungeon.
  • The exact numbers of each of these Actions will depend on how the Hero feels, how strong they are already, and how close they are to other Heroes in the area… plus a healthy dose of RNG!


Eternal Struggle – Day 6


The Action Outcomes system (pic above) takes a player through this final point, telling them;

  • How each Hero feels
  • What they are about to do
  • What the outcome is
  • How the action effected their Mood

The above picture is ugly as hell (comparing this to The Yawhg feels like sacrilege), but it will eventually be much more entertaining.

At the end of each Action Outcome, the Hero’s stats are modified and the week begins anew!

The next day in Eternal Struggle will hopefully be figuring out what all this leads to… the Dark Lord’s Dungeon. Mainly design work, I’ll need to decide how to improve on the Outdoor formula to create a more easily decipherable challenge.

Quick Update – Days 4-5

Not a huge wall of text today, just a screenshot share;

Eternal Struggle - Days 4 & 5
Eternal Struggle – Days 4 & 5



I increased the building amount so that they’re just tied straight to Hero Actions. I can change them into “Taverns” and “Archery Ranges” later, for now a building is just a physical location for an action that will eventually feed into the management of your Heroes.


Heroes in Buildings

Currently, Heroes directly move into a building when you start an action. The plan is for Heroes to occupy a building and also set a target building for them to move into. This will create a path as they travel around town. Heroes who bump into each other may have an event


Mid-Autumn Development

Here in China, we just had a public holiday for Mid-Autumn festival. That’s one great thing about China, a crap ton of public holidays (we’ve got a week long one next month). Public Holidays (and Sundays) are my dev days, so this weekend I got about 1.5 days of work done.

Eternal Struggle - Day 2
Eternal Struggle – Day 2



Sunday was the most productive day, by far. I added in the foundations of the Town Map at the top, randomizing where each of my placeholder buildings is spawned. At the moment, it’s just ‘which blocks behave like which building’, but the ultimate goal is for the blocks themselves to be randomized in their position to create a unique town for every game.

The next feature added was basic UI for the Relationships between heroes. Taking a cue from Crusader Kings II, I used small portraits with a ‘What I think about them’ value on the top and a ‘What they think about me’ value on the bottom

The most obvious addition was the ripped character art from Desktop Dungeons, which I added to make the whole thing a little easier on the eye. Honestly, I don’t like to add art at this stage because I don’t want it distracting from the gameplay… but these heroes are supposed to have personality (it’s the core of the game), so a little art goes a long way to making the game feel right and make the UI readable.


Eternal Struggle - Day 3
Eternal Struggle – Day 3



Monday was typically slower as I decided I wanted to play some Captain’s Mode Dota 2, which took a few hours out of the day.

I added 2 systems though, the first was the Mood UI and foundations for Hero Moods. At the bottom right, you can see a The Sims style Mood gauge area. Depending on the Hero’s personality, they will function better or worse if they have specific moods. Typically being in a good mood will always help, although some more neurotic or darker characters will thrive when they’re depressed or angry. Monday’s work added the UI for this feature, and I’ll probably need to sit down and do some good ol’ design work before coding any more on this.

The last thing I added was the Item System. Heroes in Eternal Struggle will have a class and a race that determines which type of Weapon, Armor, and Item they can equip. During the game, players will want to make sure every hero has their loadout completed… with the right items for the dungeon at the end.


Next Time…

I’ve coded a lot of the basic UI and systems now, so I feel it’s a good time to step back and work on some design. I’ve taken a Game Jam approach with Eternal Struggle, jumping straight into development without really planning how these systems will interact and play out. Next time I think I’ll be working on mapping out what Actions can be taken and how Attributes will effect the Dungeon Battle.

I should also probably explain what the hell any of this stuff is!

So, what’s up?

It’s been a while, right?

So much has happened in the last almost-year that I feel it’s time to make a little update post for posterity, as well as to kickstart the whole blogging thingamajig again.


Previously on Virtu

It’s best to start with a little background information. I started Virtu as a formal statement that I wanted to make my own independent game. At the time, I had a nice severance package as part of the EA Playfish shutdown… which enabled me to work from home on my own project for a limited period of time.

Uffizi was a Renaissance town builder with 5 Noble characters that you had to befriend and pander to whilst trying to build the great works of Florentine art.


We shall meet again...
We shall meet again…


As my first ever ‘proper’ project, it was an exciting and informative time where I learnt a lot about Gamemaker (my development tool of choice) and independent development in general. The best form of learning is by failing, and I did a whole lot of that.

Uffizi just wasn’t fun. I fell into the trap of “It will be fun when I add this!”.

It’s a vicious cycle which kept repeating itself until I’d spent about 3-4 months on the game and it still wasn’t fun. I definitely think there’s something there in the concept that’s worth exploring but Uffizi is definitely on hiatus for the foreseeable future.



When it came to the 4 month mark in Uffizi‘s development, I decided that it was time to get a real job. My funds were running out and I eventually realized that Uffizi was the wrong project for what I was trying to do. I needed something smaller, leaner, and more fun at a prototype stage. But more than that, I needed a stable income.

I joined Happylatte, a medium-sized studio responsible for the successful mobile FPS game High Noon. The company hadn’t had a big followup success and were actively looking to work on new game IP. This sounded perfect to me, and I joined at the end of 2013.

High Noon, Happylatte's hit game
High Noon, Happylatte’s hit game


During my time at Happylatte I worked on major features for Days of Crime, a 3D reskin of the High Noon formula, while helping with pre-production design on an exciting F2P RPG game. More importantly for me, I was also pitching a few game concepts of my own and one of them, a Truck Driving Runner mixed with a Trading Sim, got greenlit all the way to pre-production.

Things were pretty much perfect. I had my own game at last. It was exciting, fun to work on, and I’d done the best design work of my life (although it was all on paper).

Then management informed us that they had to ‘restructure’ the company and all but 7 people were made redundant… including myself.

Sad times.



What now?

My time at Happylatte takes me to about 1 week ago… where I just joined Substantial Games.

We’re working on a very exciting project; The Ember Conflict, that I’m thrilled to be a part of (Twitter is here).


The Ember Conflict, an RTS game on Tablets. Coming soon!
The Ember Conflict, an RTS game on Tablets. Coming soon!


What about Virtu?

Since my last blog post, I’ve taken part in 2 more Game Jams; Ludum Dare 29 and 30;

Shanghai was my Ludum Dare 29 Jam entry with Chris McMath (who also happens to work at Substantial Games). The theme was Beneath the Surface and we had 72 hours.


Work 'Beneath the Surface' to pass Domestic Intelligence to Foreign Powers in 1930s Shanghai
Work ‘Beneath the Surface’ of 1930s Shanghai to pass Domestic Intelligence to Foreign Powers by connecting spies


Outdoor was my Ludum Dare 30 Compo entry, working solo over 48 hours. The theme was Connected Worlds.

Choose how to spend your 30 days inside the bunker, before heading outside to deal with the Apocalypse
Choose how to spend your 30 days inside the bunker, before heading outside to deal with the Apocalypse


Outdoor is definitely not as much fun as Shanghai. In fact, it’s kind of imbalanced and boring! However, one thing Ludum Dare is great at is demonstrating how feasible a project is and showing where the fun is. Outdoor as a concept is fun. Seeing what happens when you leave the bunker is fun. Managing your relationship with your brother, while trying to maximise your attributes, is fun.

The best thing about Outdoor is that I know I can build it… because I did build it.


Project: Eternal Struggle

I’ve decided that I need to get my own game out onto the market. Mainly for the experience, but also because I’m tired of external factors getting in the way of my work.

Outdoor is feasible, I know where the fun is, and I can build a prototype very quickly to start the iteration process… something essential to independent design and good game design in general.

But the game is not Outdoor.

  • The bunker was limiting.
  • Your relationship with your brother was shallow.
  • The apocalypse generated for each game was really really cool, but taking 30 turns before seeing any feedback was dull.

Eternal Struggle is a new game, using concepts from Outdoor.

  • Preparation for an unknown mission, with hints to your eventual fate
  • Managing conflicting relationships while trying to build power
  • A procedurally generated end-game with endless possibilities, providing a humorous and unique outcome to your actions that are different every game

Below is a screenshot of what I’ve got from my first day. It’s not much to look at yet, but I’m super excited about this project and I’m hoping it will be my first real product out on the market.

Eternal Struggle - Day 1
Eternal Struggle – Day 1


I also plan to blog a lot more about development because I’m absolutely awful at sharing things before they’re ready. Time to change!