,

Necromancer (Defunct, 2021-2022)

Necromancer was an ARPG style game , featuring a rouge-like gameplay loop where you collect allies and equipment to defeat endless waves of progressively more difficult enemies.

My Role in development:

In a team of three, my role was engineering lead, responsible for everything that touched the Unity engine. As the sole team member working full-time on the project, I managed source control, architected and implemented nearly all major systems, and published test builds through Steam. This included UI, VFX, and additional animations.

I was joined by a designer/concept artist and a producer/junior programmer. A majority of the 3d assets came from the Unity Asset Store.

What is Necromancer?

  • An ARPG rouge-like with a fixed 3rd person camera.
  • Lets the player summon an undead army to steamroll enemies.
  • Features deck building elements with layered synergies, allowing for unique builds each run.
  • Session length 30-60 minutes.
  • Built in Unity
  • Mouse/Keyboard and Gamepad support

Prototype features:

  • 8 enemies
  • 4 bosses
  • 15 ally types, each with 3 growth variants
  • 8 levels to explore and procedural points of interest
  • 5 ally tags, granting bonuses when allies share tags
  • 32 relics, granting permanent bonuses each run
  • All core gameplay data is table-driven and tunable data with recompile

The Basic Gameplay loop:

Gaining power and fighting enemies

The player gains allies and relics at shrines in the world, by paying the respective “soul” cost and exits maps though portals.
The player gains “soul” from killing enemies.

Fighting bosses

The player can summons the level’s boss at the boss shrine.
After defeating the boss, a portal opens to the shop. The player gains coin from defeating the boss.

Accessing the shop

In the shop, the player can use currency to buy new allies or relics. Allies can be sold for currency, or merged to form more powerful ally. Using the portal sends the player to a new combat map, completing the loop.

Systems explained:

Relics

Shown at the top of the screen, player relics exist on the player until death, and give positive benefits to the player and their allies. In the above screenshot, each “Frenzy Charm” grants 20% bonus attack damage to allies.

Ally Stats

Allies are made up of 5 parts:

  • A type (Slime, Wraith, etc)
  • A Rarity, as shown in the ring around them (Grey, Blue, Purple for Common, Uncommon, Rare)
  • Level, shown as 1, 2, or 3 stars above the portrait
  • Battle behavior, shown in a bronze badge below the portrait
  • Tags, shown as tags below the portrait

Type – an ally type dictates it’s graphics, attack, and base attack/defense stats. Each type may have unique special abilities/attacks.

Rarity – More rare allies show up later in a run, and tend to be better or more unique.

Level – Attack/defense stats increase with each level. Leveling up also changes the model of the ally to a more powerful looking form.

Battle Behavior – This dictates the AI the allies use, such as movement and which enemies they target first.

Tags – Grant buffs for each unique type of ally with a given tag is in the party.

More on tags

In this screen, we see that the section labeled “Spirit”, which describes the possible benefits the Spirit tag could provide to the player. Because the player has both a Gaunt Lord and a Wraith, the player has 2 Spirit allies, and gains the first benefit listed because it required 2 or more spirit allies.

Because of the importance of these benefits, a summary of benefits from tags is shown as lit up stars. Here we see the player would ne 2 additional ally with the Wealth tag (the coin) to get the next benefit of that tag.

Additional mechanics:

Enemies grow stronger and spawn more quickly the longer you play, so balancing getting gear with fighting quickly is important to progress.

The player only has a fixed number of ally slots, which is 7. This forces them to make choices to merge allies to level them up, rather than overwhelm enemies by shear numbers.

Currency is critical to success in this game, and buying/selling the right allies really makes or breaks a run.

The player can start a run with a different weapon, which dictates the attack skills the player has, as well as the summoning mechanics.

Conclusions:

Ultimately this project was abandoned due to some fundamental gameplay concept conflicts that where not able to be reconciled confidently.

Overall the team was happy with what we where able to produce, though we wished we had more time to spend on adding additional features. Things like more enemy verity, more engaging boss fights, meta progression, and a ton of QoL improvements never made it in.

The game itself was fun, and ran really nicely on the Steam Deck. We’ll be using knowledge gained on future projects.

Leave a comment