Shadowhand Dev Diary #23: Balancing and beta testing

September 19th, 2017

Click here to wishlist Shadowhand on Steam!

The last couple of weeks I’ve been balancing the first 5 chapters of the game, preparing a beta test with session logging, and analysing the results. More on that below!

(click to enlarge)

Balancing Chapter Goals and Enemy Star Targets

Shadowhand has a built-in AI simulation that can test both puzzle and duel levels 1000s of times and output the results to a file (see example above). I can then use those results to set up chapter goals for things like getting a Combo of X, or collecting Y stars, or earning Z gold. It’s super-useful.

I also use the simulation to first balance a duel with an enemy to check they are possible to beat but are not too easy or too difficult. Then I take a look at range of turns to beat (in graph form) and use that to calculate the silver and gold star goals for each duel.

(click to enlarge)

Gold Economy

Then I log the min/average/max amount of gold earned on each hand/duel in a spreadsheet (see example above), which I can use to work out what prices to set each shop item at. I don’t want the player to be able to afford everything as I want them to have to choose between cool items and to stay motivated to keep playing to earn more gold.

When I got the results back from the beta test I was pleased to see that everyone earned between the average and max amounts I had predicted, and that they bought the items I wanted them to but also had individual variation in choices. This means that my gold economy model works and can be extended to the rest of the game.

(click to enlarge)

Beta Test Logging

The beta version I sent out last week also logs the player’s actions and then emails the log back to me when they exit. This allows me to compare their playthroughs with my balancing efforts. Luckily everything went as expected which means I can roll out my balancing techniques to the remainder of the game.

I also got beta testers to fill out an online survey or to email me with feedback, plus I watched several people play it in person and via Skype. Then I compiled a list of all the action points that I wanted to work on and implemented them in the game.

Luckily there was nothing major, just cool little improvements that help the “onboarding” process go more smoothly. I love this sort of work because you get to make small, yet obvious, improvements/fixes to the game that you know will help players enjoy the game more.


I’ve probably said it before, but Shadowhand has taken a lot of design work. Solitaire games have been made before, and so have turn-based RPG games, but they have never been combined before like this. That’s meant a ton of design spreadhseets and documents have been generated. The design folder alone is 65Mb and nearly 160 files, and that doesn’t include visual or sound design, or test results, which were also epic untertakings.

At least now the design is all done and it’s clear how I need to balance the rest of the game. There will still be tweaks as I receive more beta tester feedback and maybe also after launch as well, but nothing major as we must ship what we have soon!

Shadowhand developer blog #14 – Fencing Practice

September 13th, 2017

Shadowhand is an RPG card game for PC/Mac coming to Steam soon.

In this developer blog, Jake does some fencing training at a ball!

Don’t forget you can wish list it here on Steam!

Shadowhand Dev Diary #22: Story, item drops and loose ends

September 1st, 2017

Click here to wishlist Shadowhand on Steam!

It’s been a busy week. Helen and I have been finalising more design decisions and editing more text, and I’ve been coding a bunch of small loose ends in between our meetings. I’ve also been balancing the chapter goals and game economy but more on that in another blog post.

Training Level Dialogs

The image above is from a pre-duel dialog from Chapter 5 in which you get to do a spot of fencing with an expert. Some enemies also have a post-duel dialog if they need to say something important when you defeat them. We spent a while writing the text for dialogs and making them all trigger at the correct point in the game.

(Click image to enlarge)

Story Editing

We also went over the story for Chapters 1-6 to make sure that the conversations flowed naturally and the plot was clear. This was a surprising amount of work but the end result is much better.

(Click image to enlarge)

Item Drops

I also added in item drops for chapters 6,7,8. There are several types of item drops:
- Story item drops that occur as a result of talking to another main character. The image above is a story item drop from a robbery!
- Enemy item drops that occur after you beat an enemy.
- Shop item drops that occur after you complete a chapter. These are items you can purchase if you have enough gold.
- You can also pick up items from bomb/potion crates on some levels.

Loose Ends

I’ve been ploughing through lots of loose end tasks and have reached the end for now which means I can get back to main features in the coming weeks. These aren’t polish items, just small things that I made a note of before to finish later, or things that cropped up as a result of testing and design meetings.

- Some code refactoring (always fun! I’m not being sarcastic, honest.)
- Finalised some design decisions about the game economy and earning gold.
- More design questions answered.
- Showed 2 star goal on level end screen if you don’t reach it, and showed 3 star goal if you manage to get 2 stars.
- Players can no longer keep earned gold if the fail to meet a chapter’s goals in Normal mode.
- Fixed simultaneuous defeat issue with killing training dummy on final turn.
- Level end screen: Enemy loot now shows as 0 if you don’t win the fight.
- Made sure gold shown on loot cards is same as enemy’s gold.
- Gold card image is now dynamically set based on enemy’s gold value.
- Fixed automated AI test run gold output ready for balancing the game economy.
- Made Chapter 6 card with coachman image.
- Made sure enemies with no throw anim don’t try to use bombs.
- The “new item” icon won’t be shown for each additional consumable if the player has already seen it before. I had to save this information in in the player profile to make sure it persists between game sessions.
- Fixed possible exploit with undoing a card that has instantly charged/poisoned a weapon.
- If you have two counter attacking weapons now either can counter attack instead of just the first one found by the code.
- Added a restart hand button to the in-game menu after doing a Twitter poll and discussing it with devs. 75% wanted a restart button!

I’ll make another blog post soon about the balancing I’ve been doing and the metrics system I use for beta testing.