Enigma-Penguin

Part-Time Heroes: A First Look

When I first posted here I said the first project would be Eyo: Part-Time Heroes, and that I’d post updates as it came together. This is the first real one: what the game is about, and what it looks like so far.

One thing before the pictures: there’s no real art in the game yet. Every character, building, tree and icon you’ll see here is a stand-in, built from simple blocks and shapes, so I had something to play with while building the systems underneath. Real art comes later.

The idea

I read a lot of litRPG (if you want to explore the genre, Dungeon Crawler Carl and The Wandering Inn are great). If you haven’t come across it, it’s fantasy where the world runs on game rules. People have classes and levels, and skills get announced in square brackets. The characters are usually warriors, mages and more, but the hero is usually someone normal.

My favourite characters in those stories usually aren’t the warriors, though. They’re the ordinary people with ordinary classes, like the [Innkeeper] or the [Cook]. They get very good at their jobs and find out that being very good at your job is its own kind of power.

So Part-Time Heroes asks one question: what if the hero of legend was one of those people?

The story

Long ago, the world overflowed with magic. In a great war at the heart of the continent, a great sage cast a spell to destroy his enemies, and magic itself began to devour the world. In a panic, the great mages sealed magic away behind eight gates, each bound to one of the eight gods, until only a trickle was left. Where the war was fought there’s now only the Black Star Sea. It isn’t water, it’s wild magic, and only living things float in it. Pardon some of the AI assistance in padding out art here for now, I will be doing my own.

A thousand years later the gates are myth, but the sage never really died. He’s risen as a lich, and he’s sent his undead commanders to open the gates and finish his spell.

The old mages planned for this. They left one last spell to summon a hero of the gods in the world’s darkest hour. It worked, sort of:

You are {playername}. Until a moment ago you had a normal job and a normal life. Nobody told the spell. Now you’re floating in a sea of wild magic, and the world’s last hope is a part-time hero.

From there you travel the whole continent in a long arc: 25 story levels across 8 zones, from the islands in the east to a pirate archipelago in the far west. You beat each of the lich’s commanders and keep the gates shut. Or you try to.

A quick look

Here’s a short run through the opening, recorded in the Unity editor. It shows making a character, the story, choosing a class, and a first shopping trip in the starting town.

Who you can be

You choose a name, male or female, and then what you did before the spell grabbed you. Everyone starts in a t-shirt and shorts. Anything you find, buy or loot shows up on your character.

There are five classes, and each one has its own kind of energy for its skills:

  • [Innkeeper]: “No brawling in my inn.” A sturdy protector who breaks up fights with [Tray Bash] and [Closing Time], and later [Mug Toss], [Barrel Roll] and [Bell Ring]. Runs on Hospitality, which refills steadily like a well-run inn.
  • [Cook]: “If you can’t stand the heat…” A close-range bruiser. Heat builds up with quick [Cleaver Chop]s and gets spent on [Flambé], [Julienne] and [Grease Fire]. Stop fighting and the stove cools down.
  • [Shopkeeper]: “Everything has a price.” A ranged trickster who earns Coin with every hit and spends it on [Price Hike], [Haggle] and [Hired Muscle].
  • [Actor]: “All the world’s a stage.” A duellist who builds Applause with every hit, dodges with flair and leaves an [Understudy] behind to take the blows. If the show gets dull, the crowd loses interest.
  • [Farmer]: “Hard work never hurt anyone.” A tough all-rounder with a pitchfork, a [Hay Bale Wall], [Seed Bomb]s, a [Guard Dog] and, eventually, a [Stampede] of cows. Runs on Stamina, which starts full and comes back fast.

The skills

Each class has a 20-skill tree. Three branches (offence, defence and utility) grow up the tree and meet in the middle. Then they split again into two paths, each with an ultimate at the top, and you can only ever learn one ultimate. For the Cook that’s [Kitchen Inferno] or [Feast for Heroes], and which one you reach depends on where you spent your points on the way up. You get a new skill every five levels and the level cap is 75, so no one can learn everything. Only six skills fit on your bar at once: the two you start with and four more from the tree.

The world

Humans, gnolls and drakes share one big continent wrapped around a huge bay of wild-magic sea. Each zone has its own people and its own gate:

  1. Black Star Bastion: four islands off the east coast, home of the drake sailors. They’re the only people who know how to sail the Black Star Sea, and they control all trade across it.
  2. Calidan: a green coast of tinkerer cities, where alchemists and engineers try to harness magic in machines.
  3. The Willow Wilds: wild forest home to druids and gnoll tribes, who would rather magic stayed wild.
  4. The Ember Peaks: ring-shaped cities on the highest peaks, reached by magic blimps and kept warm with fire magic.
  5. Northreach: the merchant capital of the continent
  6. The Maul Jungle: tropics overrun with monsters. Only a few walled towns still hold out.
  7. The Sunscorched Expanse: a desert where giant walking islands wander. Picture enormous tortoises with brontosaurus necks, with towns on their backs, and people who can find water anywhere with water magic.
  8. Ravenport: That’s being retooled
  9. Evergreen Plains rolling grasslands of a devout people who worship light magic.
  10. Mistral Coast: The Home of Haven and the Eternal Dungeon an ever shifting labyrinth
  11. The Shattered Islands: a pirate archipelago off the west coast. The pirates also know how to sail the Black Star Sea, and the last gate is here.

The story starts in Anchorlight, the harbour town of the Black Star Bastion. Pinned up in the town plaza is the notice board:

How it plays

It’s an action RPG with click-to-move controls, like Diablo or Path of Exile. Each zone starts in its main city, where you’ll find vendors, a healer and people with side quests. From there you fight through the zone’s levels to its boss and its gate.

  • Monsters and bandits are drawn from a themed pool for each area, and they come back if you leave a map and return later.
  • Every zone has side quests: escorts, rescues, bounties and local mini-bosses. They pay out in interesting gear and bonus XP.
  • Every zone has 1-4 procedurally generated dungeons. Their seeds are set at the start of the playthrough and stay fixed. SOme are compulsary and have story content, others are just for loot and experience.
  • The main story alone gets you to somewhere around level 57. Side quests get you further, and you can go back to earlier zones to reach the cap of 75.
  • You can save anywhere, as long as you’re not in a fight. There’s room for three characters with five saves each.

About the art (there isn’t any yet)

Everything in these screenshots are placeholder art. There isn’t a single real art asset in the game yet:

  • The characters are stacks of blocks and spheres with a face painted on. Drakes get a snout and a crest, and gnolls get ears and a mane, but that’s about it.
  • The world is flat coloured tiles, with boxes for houses, cones and balls for trees, and cylinders for barrels.
  • The icons and portraits are just pictures of those same placeholder models.

The only thing that’s close to finished is the interface: the windows, buttons and HUD.

That’s on purpose. Art is the slowest and most expensive part of a game to make, and the most painful to redo. I’d rather know the game works and is fun before I put art into it, so the plan is to get the systems in first: combat, quests, the world map, and one fully playable zone. The art comes after that.

The look I’m aiming for is the chunky, cosy style of Fantasy Life and Ever Oasis on the 3DS. The game is already set up for the swap. Every model, tile, piece of gear and icon has a name, and the game keeps a checklist of all of them: 236 so far, and 0 of 236 have real art. When a real asset is saved under its name it replaces the placeholder automatically, without changing any code. So the art can arrive one piece at a time, and the game will keep working the whole way.

Under the hood

It’s built in Unity 6 with C#, but most of the game isn’t code. Every map is a spreadsheet, with one cell per tile. Here are a few rows from the top-left of Wreckers’ Beach, the first level outside town:

X,X,X,X,X,X,c:exit_cave,c:exit_cave,X,X,X
u,g,g,g,g,c,c,c,c,g,g
g,t,g,g,g,c,c,c,c,g:sign_cave,g
g,g,g,g,g,o,g,d,d,d,d

X is a cliff, g is grass, t is a palm tree, c is cave floor, and anything after a colon is a marker: an exit, a sign, a monster spawn. Classes, skills, items, shops, quests and dialogue all work the same way, as plain text files. I can write the story and build levels in a spreadsheet, press a key in the running game, and see the change straight away.

Where it’s at

Working now:

  • the menus, character creation, the story intro and class select
  • the HUD, the character screen and bag, the skill trees and the quest journal
  • talking to people, shops (buy, sell and buy back), the healer, signs and chests
  • saving and loading
  • the first town (Anchorlight) and the first few levels (Wreckers’ Beach), in placeholder art

The big missing piece is combat. Skills already cost energy and have cooldowns, but so far there’s nothing to hit. That’s the next milestone: enemies, their AI, spawns, damage, XP and loot drops. After that comes the world map, and then the first zone, Black Star Bastion, as a fully playable slice from Anchorlight to the first gate.

The year I gave myself doesn’t officially start until October 1st, so all of this is a head start. More soon.

← Back to Projects