Skip to content
Keegan Landrigan edited this page Feb 5, 2019 · 6 revisions

About The Arena

Click to see a video demo

The Arena is a 2D dynamic RPG. The player plays two characters at once in real-time battles. The player needs to clear all battles in order to advance through the story/levels.

The player has access to four different skills and an auto-attack. Good use of those skills is necessary to successfully complete puzzles and battles. The victory condition is to clear all battles and arrive at the end of the first floor. The failure condition is when both characters die at once.

We currently have created a series of 3 battles in an arena and a dungeon floor. The arena itself contains a succession of tutorial battles where the player progressively learns the core mechanics. The outside of the arena is where the player learns how to interact with the world and NPCs. After completing the arena battles, the characters move on to a dungeon where they will be able to explore and battle.

The game mechanics are supposed to be simple. We wanted to keep the player interactions to a minimum while allowing a huge possibility of different puzzles/battles. We initially wanted both characters to complement each other. Egnevy (the boy) is a “tank” character and protects Eva (the girl) with a shield ability and a stun ability, while Eva deals damage with a higher DPS and heals Egnevy.

This wiki will relate the process of creating the game, from the initial design to its current state.


Table of Contents

  1. About The Arena
  2. Table of Contents
  3. History
  4. Design Goals
    1. Character Movement
    2. Battle Gameplay
    3. Character Behaviour

History

Our development team for The Arena consists of Alexandre Guichet, Patric McConnell, Keegan Landrigan, Ryan Donnelly and Eloise Zahabi. We met through the UBC AMS Game Development Association and received support from this club for this project in its early stages.

When we first met, we wanted to try developing a medium-scale Unity project. We had some experience in game design and did a few small projects before, but wanted to try to do something different and more RPG-like.

We spent the first couple months only talking about game design. We wanted to do a dynamic puzzle game where the player will have to solve puzzle to advance through a story. We spent a lot of time discussing what the player will be able to do. We wanted the game to be as simple and intuitive to the player as possible, while still bringing fun and challenge to it.

We discussed the core gameplay and tried to imagine how the game would be. Once we got a general idea, we wrote down the designs goal.

Design Goals

RPGs are extremely hard to create. It involves creating a new world and trying to make it immersive. If the world is not immersive, the player will not find it fun, and will leave the game after 20 minutes.

We set up few ground rules:

  • Stay simple, the gameplay should be as accessible as possible
  • Bring a fun challenging aspect: we didn’t want to create a game too easy to clear
  • Make it simple to iterate: we want to create as much content as possible, as quickly as possible

Those were the main goals we hoped to keep in mind all time when creating the game.

In The Arena you play two characters at once. In order for this to make sense and be fun, we need the characters to have a certain amount of autonomy: when the player controls Eva, Egnevy should not be totally idle. Failing this would destroy the dynamic we are trying to create.

However, we still wanted to give the player as much control as possible. We do not want to have unpredictable AI that would, for example, put spells on cooldown right before the player needs to manually trigger those spells.

We therefore started working on the player movement: controlling both characters while lettering the other character have autonomy, and designing battle gameplay in accordance with this to make the battles as fluid as possible.

This was more difficult than anticipated.

Character Movement

To achieve what we desired with managing more than one character at once, we decided to model game control on games that already involve managing more than one character at once: namely, Real Time Strategy games like Blizzard’s Warcraft 3 or Starcraft, or Genie Engine games like Age of Empires or Star Wars: Galactic Battlegrounds.

We initially tried using Unity’s built-in navigation system to achieve this. However, we quickly learned that this system is not compatible with 2D environments, but only 3D environments. We had two choices: create our own implementation of pathfinding, or create the game with 3D navigation, using clever tricks to make it seem 2D.

We decided to go with the latter option, as we thought that creating a custom implementation of pathfinding would be more difficult than adapting Unity’s existing tools to a somewhat unusual purpose.

This led to the first prototype: a moving, player-controlled sphere in a 3D world.

Once the sphere was moving with the navigation system, we added 2D sprites and artwork on another layer, so from the camera’s point of view, the 3D world is hidden behind 2D artwork, and we have the impression of playing a 2D game.

The result was a perfect 2D illusion.

Once we got the navigation movement working, we wanted to make it easy to control both characters at the same time.

Battle Gameplay

We had the choice in term of battle design, we can either make a turn based combat mode like the older Final Fantasy games, the Fire Emblem series or Dofus, or we try to go for a dynamic real time battle like the Dragon Age series, or the newer Final Fantasy games (12, 13, 14 and 15).

However, controlling both characters at once in a real time environment is extremely challenging.

Games that controls several characters in a real time environment rely a lot on AI behaviour. The AI we will then need to create would need to:

  • Automatically position itself appropriately given its role in gameply class (tank, healer, etc…)
  • Use spells wisely
  • Be customisable enough so the player can still have a maximum control of its behaviour.

Such an AI would be too hard for much of our team to create.

The solution we found was to mix a little of both real-time and turn-based gameplay philosophy: We could create slower battles (so it is closer to a turn based game) in a real time environment so we can keep the AI at a minimum.

The concept was to make slow paced battles with high cooldowns for both characters and enemies. The goal would be to use the spells at the right time (manage the cooldowns wisely) and move the characters to dodge spells. The combination of slower gameplay and spell management would make the gameplay appear faster to the player, who will need to constantly think about what needs to be done for both characters at once.

Character Behaviour

The interaction of the player through the character with the world is the most important aspect of a game like this. The whole game and level design revolves around these interactions, and if not done well, the game will not draw the player in.

Our characters can:

  • Move, attack an enemy and interact with NPCs/objects by right clicking
  • See enemy stats by left clicking on them
  • Activate spells by pressing “q”, “w” or clicking on the UI