INVICTUS
Released: June 2025
Platforms: PC (Windows
Team Size: Solo
Skill Focus: Systems & economy design
Project Length: 4 weeks
Engine: Unreal Engine
Download and play the game on itch.io.
ABOUT THE GAME
Invictus is a UI based prototype for a historical action roguelike revolving around the life of a Roman gladiator fighting in the Colosseum. Customise your loadout with different historical weapons and armour and battle against the arena champions to earn gold and win the favour of the crowd.
Be warned - each gladiator match that takes place in the arena must be fought to the death, and dying at any point in the game is permanent, forcing you to start again from the beginning by creating a new character. Winning fights awards denarii, which is used to purchase new weapons and armour.
As a gladiator, your success is heavily tied to your ability to accumulate favour, which is accrued from high risk behaviour such as taunting opponents or fighting without armour. Favour increases pay-outs for fights and is the only method of permanently increasing stats such as health and stamina.
A host of champion gladiators await you in the arena. You will need to pick your weapons and armour carefully to successfully counter them and emerge victorious in the great gladiator games of Rome.
IMAGE GALLERY
DEVELOPMENT BACKGROUND
This game was developed as an exercise in player psychology and economy design as part of my coursework at AIE. The unit required developing a prototype game economy in four weeks, including multiple iterations to illustrate balancing and tweaking in response to player feedback. In addition, the project required a Game Design Document written for a full length game that was based off the economy prototype.
I used this project as an opportunity to return to my roots, being a student of Latin and Roman history, and chose to design an economy based around the ancient gladiatorial games of Rome. I wanted to combine both a traditional form of game currency (such as coins) that is used to buy from shops, and a more unconventional form of currency in the form of the game’s favour system. The idea here was to reward players for risk-taking behaviour and feeding into the entertainment value of the Roman gladiator contests.
The game features permadeath - dying in the arena forces the player to start over with an entirely new character. Early on I decided on this as a core feature as I wanted to draw on some of the interesting psychological aspects of the Roman gladiators. They were typically pulled from the massive underclass of slaves, criminals and fugitives who were viewed as having little value by society, but it was believed by the Romans that through deadly combat, these repugnant individuals would redeem themselves by learning to show courage and honour in the face of death.
This philosophy underpinned how I designed the system of player progression and what I wanted the game’s core experience to be. The player enters the world as a nobody, plucked from the dregs of society, but through their actions gradually begin to make something of themselves - winning victories, earning favour, gaining experience and elevating their skill and reputation. Yet the player is always prescient of death bringing a permanent end to all of it, making the experience more gripping and rewarding if they survive.
Design Documentation
DESIGN PROCESS
I began by setting up the interaction system for the player and scripting level actors for each interactable location (Ludus Magnus, the Forum, the Colosseum, and the Aventine temple). This step consisted of both designing and programming the UI menus for each, as I decided early on to keep the game UI-only given the small timeframe for the project.
Next I moved onto implementing the favour system for the game, which is handled inside the Aventine menu system. This tracks the player’s current favour threshold and assigns the appropriate number of sacrifices for them to increase their base stats.
After this I moved onto building the inventory system and its accompanying UI. This was the most challenging step as it involved implementing features such as dragging and dropping between different inventory slots, dynamically setting inventory size, storing item data, and being able to equip/unequip weapons and armour.
Next I began setting up the shop menu, designing and programming its UI. This required making item slots that would display a tooltip when hovered over, listing all item stats and the item description.
From here I began populating the data tables for the full shop inventory, deciding how many weapons and armour pieces there would be. This step also included deciding on individual values for each, including their attributes, cost to purchase, their descriptions, and UI icons.
Once this was done I moved onto the most time-consuming phase, which was programming the arena fights. Broadly I divided this into three separate steps:
Scripting turn-based combat, with the logic for separate player and opponent turns.
Constructing a flow chart of combat steps (type of action taken, check for success/failure).
Implementing logic for all potential scenarios and updating stats and UI accordingly.
Next I began writing the description text for the arena fights, which required writing separate versions for each boss due to their different weapons and armour. These were then implemented into the arena fights using data tables.
Final steps involved adding the world map of Rome and integrating the UI, with buttons overlaid on top to act as the main system of navigation.
In response to player feedback, I also implemented the Tarentum system, which allowed players to retrieve lost weapons and armour from previous playthroughs by sacrificing part of their current HP. This was done to address complaints over lost progress and introduce an element of permanent player progress to the game.
UI MOCK-UPS
Title Screen
Main Menu
Controls
Training School Menu
Favour Upgrade Menu
World Map
Item Retrieval Menu
Shop
Options
HUD
Consumables Shop
Inventory
SHOP INVENTORY
Weapons
Weapon Stats
Accuracy determines the chance to penetrate armour and deal damage.
Damage is the number of health points deducted.
Attack Speed refers to the number of action points (AP) consumed per attack.
Stamina Drain refers to the stamina consumed per attack.
Weight refer to how heavy the weapons is, affecting max stamina.
Handling determines whether a shield can be equipped as well.
Cost is the amount of coins (denarii) to purchase.
Weapon Ratios
Most to least accurate:
Polearms > Swords > Daggers > AxesMost to least damaging:
Axes > Polearms > Swords > DaggersMost to least quick:
Daggers > Swords > Polearms > AxesMost to least stamina draining:
Axes > Polearms > Swords > DaggersMost to least heavy:
Axes > Polearms > Swords > DaggersMost to least expensive:
Polearms > Swords > Axes > Daggers
Daggers
| Accuracy | Damage | Attack Speed | Stamina Drain | Weight | Handling | Cost | Description | |
|---|---|---|---|---|---|---|---|---|
| Pugio | 45 | 15 | 5 | 5 | 4 | 1H | 60 |
A short, thrusting dagger issued to Roman legionaries as a sidearm. |
| Akinakes | 52 | 9 | 4 | 12 | 5 | 1H | 78 |
A double-edged, ornate dagger originating in Scythia and popularised by the Achaemenid Persians. |
| Parazonium | 57 | 10 | 3 | 15 | 8 | 1H | 95 |
A long, triangular dagger with mythological significance, typically carried by senior officers in the Roman army. |
| Sica | 65 | 13 | 4 | 20 | 6 | 1H | 110 |
A short, curved dagger employed by the tribal peoples of the Danube. Deals heavy damage for its class but hard to wield properly. |
Swords
| Accuracy | Damage | Attack Speed | Stamina Drain | Weight | Handling | Cost | Description | |
|---|---|---|---|---|---|---|---|---|
| Xiphos | 55 | 10 | 6 | 20 | 5 | 1H | 110 |
A short, double-edged sword first wielded as a close combat weapon by Greek hoplites. |
| Gladius | 68 | 15 | 8 | 24 | 9 | 1H | 126 |
The famed gladius Hispaniensis, the standard sidearm carried by Roman legionaries all across the Mediterranean. |
| Spatha | 80 | 19 | 3 | 28 | 15 | 1H | 145 |
A longsword commonly used by Roman legions on the northern frontier to counter barbarian cavalry. |
| Falcata | 73 | 23 | 7 | 27 | 12 | 1H | 160 |
A thick, curved cutting blade invented by the feared swordsmen of the Iberian peninsula. |
Polearms
| Accuracy | Damage | Attack Speed | Stamina Drain | Weight | Handling | Cost | Description | |
|---|---|---|---|---|---|---|---|---|
| Pilum | 78 | 18 | 5 | 16 | 10 | 1H | 120 |
A heavy javelin carried by Roman legionaries and thrown in volleys at advancing enemy troops. |
| Dory | 75 | 20 | 7 | 19 | 18 | 1H | 133 |
A powerful bronze-tipped spear wielded by Greek hoplites as part of the phalanx formation. |
| Sarissa | 84 | 33 | 9 | 23 | 35 | 2H | 141 |
Elongated form of the phalanx spear developed for use by the Macedonian military. |
| Trident | 92 | 26 | 8 | 21 | 32 | 2H | 155 |
A three-pronged spear, symbolic of Neptune, god of the sea. |
| Falx | 88 | 35 | 6 | 25 | 26 | 2H | 170 | A longer version of the sica employed by Dacian warriors. The blade is sharpened on the inside and can cleave through most armour. |
Axes
| Accuracy | Damage | Attack Speed | Stamina Drain | Weight | Handling | Cost | Description | |
|---|---|---|---|---|---|---|---|---|
| Dolabra | 15 | 23 | 8 | 17 | 25 | 1H | 90 |
A versatile axe used mainly as an entrenching tool by Roman legionaries, and occasionally to cleave opponent's heads in. |
| Sagaris | 40 | 32 | 8 | 28 | 36 | 1H | 125 |
A single sided axe with a sharp pick on the other end, attached to a long wooden shaft. Wielded by the horse-riders of Scythia. |
| Labrys | 25 | 45 | 11 | 33 | 45 | 1H | 140 |
A double-bladed axe with its origins in Crete, most famously associated with the Minotaur and the labyrinth named after it. |
Armour
Armour Stats
Armour Rating determines the chance to block an attack, negating damage.
Weight refer to how heavy the armour is, affecting max stamina.
Cost is the amount of coins (denarii) to purchase.
Armour Ratios
Most to least protective:
Shield > Chest > Helmet > Arms > LegsMost to least heavy:
Chest > Shield > Helmet > Arms > LegsMost to least expensive:
Chest > Shield > Helmet > Arms > Legs
Head
| Armour | Weight | Cost | Description | |
|---|---|---|---|---|
| Chalcidian | 10 | 5 | 65 | A light bronze helmet with cheek guards attached by hinges and a loop on each side to fit the wearer's ears. Worn by many hoplites in the army of Alexander the Great. |
| Corinthian | 20 | 12 | 92 | A full-face helmet made of bronze with narrow slits for the eyes and mouth, originating from the Greek city-state of Corinth and used extensively by Greek hoplites. |
| Montefortino | 15 | 9 | 115 | An bulbous shaped helmet of Celtic design used for centuries by the armies of Italy, often adorned with plumes of feathers or horsehair. |
| Galea | 22 | 13 | 145 | An improved version of the Montefortino adopted by the Roman legionaries, with an elongated neck guard protruding from the back and a deflector band on the forehead. |
| Cassis Crista | 25 | 15 | 190 | A large bronze helmet adorned with a horsehair crest and a face visor shaped into a metal grill. Worn by the most famed professional gladiators. |
Body
| Armour | Weight | Cost | Description | |
|---|---|---|---|---|
| Linothorax | 20 | 20 | 80 | A lightweight breastplate made of linen, often preferred by Greek warriors for its cheap cost and to keep cool in the hot Mediterranean summer. |
| Lorica Hamata | 25 | 23 | 135 | First introduced to Rome by the Celts, this chainmail armour has been used extensively by Roman legionaries since the days of the Republic. |
| Lorica Squamata | 27 | 26 | 170 | A set of metal scale armour employed by the Roman legions, offering strong protection and manoeuvrability in battle. |
| Muscle Cuirass | 31 | 30 | 195 | A heavy metal cuirass sculpted to resemble an idealised male physique, worn mainly by the wealthiest Greek hoplites for use in the phalanx. |
| Lorica Segmentata | 35 | 28 | 230 | A set of laminated armour consisting of overlapping metal plates fastened together with leather straps. Standard issue for all Roman legionaries in the empire. |
Arms
| Armour | Weight | Cost | Description | |
|---|---|---|---|---|
| Manica (leather) | 5 | 3 | 55 | A laminated armguard made of cheap, boiled leather. |
| Manica (bronze) | 10 | 6 | 90 | A laminated armguard made of tough, hammered bronze. |
| Manica (plate) | 15 | 9 | 140 | A laminated armguard made of highly durable metal plates. |
Legs
| Armour | Weight | Cost | Description | |
|---|---|---|---|---|
| Ocrea (leather) | 4 | 2 | 50 | A pair of thin leather greaves, offering some shin protection. |
| Ocrea (bronze) | 8 | 5 | 85 | A pair of heavy greaves made of bronze, providing decent protection. |
| Ocrea (plate) | 12 | 8 | 135 | A pair of strong, durable greaves made from thick metal plates. |
Shields
| Armour | Weight | Handling | Cost | Description | |
|---|---|---|---|---|---|
| Parmula | 25 | 15 | 1H | 70 | A small, round shield mainly used by auxiliaries, with a thick iron centre and small shield boss. |
| Thyreos | 32 | 18 | 1H | 135 | A large, elliptical shield made of leather reinforced with wood. Used extensively by skirmishers in the Hellenistic armies. |
| Aspis | 40 | 25 | 1H | 170 | A huge wooden shield, curved outwards into a deep dish and reinforced with a thin sheet of bronze. Made famous by the hoplites of the Greek world. |
| Scutum | 38 | 22 | 1H | 210 | The looming tower shield carried by Roman legionaries, big enough to fit almost an entire person behind it. |
GLADIATOR CHAMPIONS
Ambiorix of Gaul, Bravest of the Belgae
Description
Based on the murmillo class of gladiator.
Heavily armoured and wields a sword and shield.
Strategy
Hits hard but tires quickly.
Taunts very often but does not stun.
Player must withstand his attacks and then strike when he is fatigued.
| Attribute | |
|---|---|
| Health | 150 |
| Stamina | 40 |
| Focus | 100 |
| Focus Drain Rate | 1.0 |
| Stamina Regen Rate | 8.0 |
| Armour | 30 |
| Damage | 7 |
| Accuracy | 25 |
| Stamina Drain (attack) | 28 |
| Stamina Drain (stun) | 22 |
| Attack Speed | 5 |
| Weight | 80 |
| Attack Tendency | 0.4 |
| Defend Tendency | 0.1 |
| Stun Tendency | 0.2 |
| Taunt Tendency | 0.3 |
| Favour Reward | 8 |
| Prize Money | 200 |
Agron of Illyria, Pirate King of the Mediterranean
Description
Based on the retiarius class of gladiator.
Lightly armoured and wields a trident and net (used to stun opponents).
Strategy
Weak defence but can fight for a long time due to high stamina and focus.
Stuns player very often and occasionally taunts.
Player must defeat him quickly to avoid becoming fatigued.
| Attribute | |
|---|---|
| Health | 120 |
| Stamina | 110 |
| Focus | 150 |
| Focus Drain Rate | 1.0 |
| Stamina Regen Rate | 2.0 |
| Armour | 25 |
| Damage | 6 |
| Accuracy | 70 |
| Stamina Drain (attack) | 12.0 |
| Stamina Drain (stun) | 8.0 |
| Attack Speed | 2 |
| Weight | 35 |
| Attack Tendency | 0.5 |
| Defend Tendency | 0.1 |
| Stun Tendency | 0.4 |
| Taunt Tendency | 0.2 |
| Favour Reward | 12 |
| Prize Money | 270 |
Phraates of Parthia, Commander of the Cataphracts
Description
Based on the secutor class of gladiator. Heavily armoured and wields a curved, semicircular blade.
Strategy
Very strong defence but becomes fatigued over time.
Stuns occasionally but does not taunt.
Player must tire him out by evading attacks rather than playing offensively.
| Attribute | |
|---|---|
| Health | 170 |
| Stamina | 25 |
| Focus | 75 |
| Focus Drain Rate | 1.5 |
| Stamina Regen Rate | 5.0 |
| Armour | 85 |
| Damage | 13 |
| Accuracy | 45 |
| Stamina Drain (attack) | 20 |
| Stamina Drain (stun) | 15 |
| Attack Speed | 5 |
| Weight | 110 |
| Attack Tendency | 0.4 |
| Defend Tendency | 0.4 |
| Stun Tendency | 0.2 |
| Taunt Tendency | 0.0 |
| Favour Reward | 22 |
| Prize Money | 330 |
Ballomar of Germania, the Bructerian Butcher
Description
Based on the dimachaerus class of gladiator. Toughened opponent that wields dual swords but wears little armour.
Strategy
Deadly and attacks quickly but is unprotected.
Taunts and stuns occasionally.
Player must defend most of the time and make quick attacks whenever possible.
| Attribute | |
|---|---|
| Health | 220 |
| Stamina | 120 |
| Focus | 90 |
| Focus Drain Rate | 1.5 |
| Stamina Regen Rate | 6.0 |
| Armour | 60 |
| Damage | 16 |
| Accuracy | 75 |
| Stamina Drain (attack) | 24 |
| Stamina Drain (stun) | 20 |
| Attack Speed | 4 |
| Weight | 60 |
| Attack Tendency | 0.6 |
| Defend Tendency | 0.1 |
| Stun Tendency | 0.1 |
| Taunt Tendency | 0.2 |
| Favour Reward | 26 |
| Prize Money | 380 |
Kleomenes of Sparta, the Undefeated Hoplite
Description
Based on the hoplomachus class of gladiator. Heavily armoured opponent carrying a large shield and short spear.
Strategy
Strong defence and solid endurance.
Stuns occasionally but does not taunt.
Player must chip away at him over time to win the battle.
| Attribute | |
|---|---|
| Health | 190 |
| Stamina | 90 |
| Focus | 120 |
| Focus Drain Rate | 0.8 |
| Stamina Regen Rate | 5 |
| Armour | 150 |
| Damage | 12 |
| Accuracy | 88 |
| Stamina Drain (attack) | 75 |
| Stamina Drain (stun) | 25 |
| Attack Speed | 6 |
| Weight | 90 |
| Attack Tendency | 0.4 |
| Defend Tendency | 0.5 |
| Stun Tendency | 0.1 |
| Taunt Tendency | 0.0 |
| Favour Reward | 35 |
| Prize Money | 425 |
Deceneus, Greatest Warrior of Dacia
Description
Based on the Thraex class of gladiator. Deadly fighter armed with an extremely damaging two-handed polearm.
Strategy
Very high damage, with solid defence and stamina.
Player must attack and defend frequently at the right moments, as they must both counter him and land enough hits to win the fight.
| Attribute | |
|---|---|
| Health | 250 |
| Stamina | 120 |
| Focus | 150 |
| Focus Drain Rate | 0.5 |
| Stamina Regen Rate | 40 |
| Armour | 90 |
| Damage | 23 |
| Accuracy | 130 |
| Stamina Drain (attack) | 36 |
| Stamina Drain (stun) | 32 |
| Attack Speed | 6 |
| Weight | 55 |
| Attack Tendency | 0.6 |
| Defend Tendency | 0.2 |
| Stun Tendency | 0.1 |
| Taunt Tendency | 0.1 |
| Favour Reward | 50 |
| Prize Money | 500 |