A downloadable game

Download NowName your own price

Last Seen on DOS

This is a re-creation of a game I played 40 years ago, on DOS. I originally downloaded it from a Harvard university computer file server, but it has since been lost to time... Both the server where I downloaded it, and the file are no longer available, and the original program probably wouldn't even run on modern computers.

The original game only had a list of gladiators, and attacks were made in a turn-based order. The object of the game was, of course, to be the last gladiator standing.

Designed from Memory, then Remastered

The original version of Arena that I designed, emulated this 1D list-based gladiator system. The basic premise is that you attack other NPC gladiators in the list, and every kill increases your ATK or DEF (giving you better survivability). The NPC gladiators follow the same rules, so as they execute each other they also get stronger.

But, in the DOS game, as I remembered and expected, once you figured out the math that determined a gladiators expected attack, the game became incredibly easy to beat. So I began upgrading the program...

Color Gradients

The first improvement was to add color-coding to the game, so that information could be passed to the player in a spectrum of colors.

Health (HP) Gradient

Colors each gladiator’s remaining health number based on their survivability. It transitions from Green at 100 HP (full health) down through Yellow at 50 HP, and finishes at Red at 0 HP (near death). Above 50% health, green blends into yellow as HP drops; below 50%, the yellow fades away until only pure red remains.

This makes it easy to determine who is weakest and thus easiest to kill.

Threat Level Gradient

Colors each AI combatant’s name to show how dangerous they are compared to the rest of the arena.

How Threat is Calculated

An individual gladiator’s threat score is the sum of their active combat stats: {Attack}+{Defense}. The game evaluates all currently alive AI fighters to find the lowest and highest threat scores in the arena, scaling each fighter's relative position between those bounds.

Unlike the HP gradient, red represents danger. The weakest fighters with the lowest total stats scale toward Green, average fighters appear Yellow, and the arena's most formidable stat powerhouses glow Red.

More Characters

The next improvement was to add make a more diverse AI system and add more characters. This added extra variability to the game.

Cast of Characters

---Assassin---

Preys on the wounded. It targets whoever has the lowest remaining HP to quickly secure kills and steal loot.

---Slayer---

Hunts the strongest. It seeks out the biggest threat by always targeting whoever has the highest remaining HP.

---Tactician---

Exploits armor and calculates risk. When attacking, it targets the fighter with the lowest effective defense; when attacked, it does the math and only counterattacks if it will take 15 damage or less, otherwise choosing to block.

---Berserker---

Relentlessly aggressive. It heavily favors attacking random targets over defending, and defaults to counterattacking whenever struck.

---Survivor---

Plays the long, defensive game. It heavily prioritizes the Defend stance to stay alive, and always blocks and strikes back rather than risking an aggressive counterattack.

---GoldDigger---

Driven entirely by greed. It targets one of the top five wealthiest combatants in the ring, rarely defends, and is the only AI that will gesture to pump up the arena pot if the crowd payout outweighs attacking.

Idle Training

When you save your game, the game records a time stamp with your save, and the amount of time that elapses from when you save to when you reload will add a few temp points to your characters ATK and DEF

Remastered Again!

After finishing the design of the list based arena game, I decided to try and create a new game based on same premise.

Battle In An Arena!

The new game was going to be based in an actual arena; well, a 40x40 grid that simulated an arena. This modification means you can only move a limited amount of space on a turn, and you can only attack players immediately adjacent to you.

The other major change was the number of gladiators in the arena; 200!!

NPC AI Tweaked

Original (1D)

AI evaluated every living fighter in the arena globally (e.g., an Assassin always targeted whoever had the lowest HP anywhere on the board).

Stances were decided each turn by weighted percentage rolls (e.g., 80% Attack, 20% Defend, adjusted by personality and current health).

Arena (2D)

Expanding Proximity Targeting

Targeting uses an expanding radius from r = 1 to 40 (Chebyshev/grid distance). The AI scans outward until it finds the closest ring containing living opponents, then applies its personality filter exclusively to those nearby targets. An Assassin now hunts the lowest-HP gladiator in its immediate vicinity rather than crossing the entire arena.

Pathfinding and Obstacle Avoidance

NPC combatants now have physical coordinates (x, y) on a 40×40 board. If the chosen target is beyond melee range (distance > 1), the AI navigates toward them up to 5 steps per turn. It attempts to step diagonally toward the target first, falling back to horizontal or vertical steps if the tile is blocked by another gladiator (is_square_occupied).

Proximity-Driven Actions (Movement vs. Melee):

Stance is dictated strictly by board positioning. If the NPC has to move (distance > 1), it spends its turn navigating and automatically finishes its turn in the DEFEND stance (granting defensive boosts while repositioning).

If the NPC starts the turn directly adjacent to a target (distance = 1), it enters the ATTACK stance and strikes immediately.

Play Either Version!

Both versions are included in this project.

Arena_1D is the list-based version of the game.
Arena_2D is the arena-based version of the game.
Updated 1 day ago
Published 4 days ago
StatusReleased
AuthorExaro
GenreFighting
ContentNo generative AI was used

Download

Download NowName your own price

Click download now to get access to the following files:

arena_1d.exe 10 MB
arena_2d.exe 10 MB

Development log

Leave a comment

Log in with itch.io to leave a comment.