Game Development, Graphics Programming, GPU, Computer Science

In my prior work post, I described HeroScribe as the “gold standard” for HeroQuest map editing. It’s a great editor so I don’t want to spend cycles writing my own from scratch (unless there’s a good reason to), but I’d love to make some improvements to the HeroScribe editor. I emailed the developer to ask permission to reference his project, whether he’s accepting feedback or code contributions, and whether he wants me to take over development of the project. So far I haven’t gotten a reply. The latest news post is dated 2014/12/03. The earliest news post is dated 2002/06/19. 14 and a half years of updates – awesome dedication!

In my previous posts, I had been using a hand-written CSV file format for base game Quest-1. But today I rewrote the map loader to instead take HeroScribe XML files as input. As far as the quests go, here’s my development plan. Start with just the base game (14 quests) (15 if we include EU’s tutorial quest The Maze). That will keep me busy for a quite a while.

Then I’ll integrate the first two expansions as part of a three-quest-book campaign (Kellar’s Keep, Return of the Witchlord). This isn’t a huge jump because there’s not a lot of new functionality in the two basic expansions.

Then I’ll integrate each of the advanced expansions as part of a single epic campaign mode. For this I’ve chosen to include both US and EU advanced expansions in an order based on difficulty. The full order is – base game, Kellar’s Keep, Return of the Witchlord, Against the Ogre Horde, Wizards of Morcar, Dark Company (single quest), Mage of the Mirror, Frozen Horror.

The epic campaign mode is a structured well-defined experience that challenges the players to play through each campaign in order as their heroes get stronger (they don’t literally have levels but they find items) and the quests get more difficult. The US advanced campaigns are particularly difficult. One of the tricks will be to try to conserve items from the earlier quests to help in the later quests. For example, you can save up gold in the basic campaign and then use it to buy potions in the expansions. Or if you get stuck on a particular quest in the Frozen Horror, you can hire a mercenary to help.

Assuming I eventually complete all of that development doing this as a part-time solo hobby project, I may even add some additional insane difficulty quests at the end of the epic campaign (after the Frozen Horror).

In addition to the epic campaign mode, I’ll also add some sort of separate free play mode that includes the option to load any custom map from HeroScribe. And of course a player will have the option to create their own quest in HeroScribe and import it into the UE4 HeroQuest game, or use it with the physical board game (or heck – use it with the Tabletop Simulator version of HeroQuest).

Below are some side-by-side screen shots showing the first six quests in the base quest book (spoiler alert!). Each row shows a scan of the original paper quest book, a screen shot of the quest in the HeroScribe editor, and a screen shot of the map loaded into the UE4 HeroQuest.

Each quest has a map and a quest-specific description. HeroScribe XML files only contain the quest maps. For the quest descriptions, I’ll need to add game logic code and extensions to the existing HeroScribe XML files. For example, boss monsters have special stats that are currently not specified in the HeroScribe XML because the boss stats are part of the quest description (not the quest map). Below is a scan showing quest 3’s quest map and quest text – notice the quest text specifies notes A, notes B, ULAG boss monsters stats, and wandering monster is Orc.