Categories
C# Gameplay Engineering Team Based Projects UI Engineering UI Implementation Unity

Psychohazard – Movement System

Overview of Game:

Psychohazard is a top-down, turn-based strategy game where you assume the role of an alien monster imprisoned aboard a spaceship. Utilizing your unique ability to control the ship’s inhabitants, you must navigate through challenges and obstacles to secure your freedom.

Objective:

The objective of the project is to implement a dynamic movement system based on hexagonal tiles. Key features include:

  1. Movement restricted to the active character’s turn.
  2. Prohibition of ending movement on enemies and objects.
  3. Ability for characters to pass over allies.
  4. Navigation around map elements like walls and barriers.
  5. Customizable variables to adjust tile traversal probabilities.
  6. Implementation of an action point system to limit character actions and movements per turn.

Process:

  • Collaborative brainstorming sessions with the team to generate ideas.
  • Incorporating feedback gleaned from playtesting data and iterative processes.
  • Advancing to the prototype stage for further refinement.
  • Continuing iterations based on ongoing feedback loops.
  • Seamlessly integrating the final product into the game.

1. Brainstorming

During our collaborative session with the design team, the concept of implementing a hexagonal tile-based pathfinding system was explored. This system would be accessible to all characters, exclusively during their respective turns.

The design team drew inspiration from Waste Lands 3 as a reference point for the desired movement mechanics.

2. Playtesting and iteration.

Upon completion of the ground work of the game, the designers commenced testing the initial movement implementation, uncovering several bugs:

  • Characters would halt unexpectedly upon reaching certain walls when Action Points were depleted mid-movement.
  • Analysis of the movement’s logic flow indicated that the issue stemmed from the character running out of action points midway, resulting in unintended collisions with walls and enemies.
  • Additionally, the cost of the initial movement was not being expended as intended.
  • Playtesters exploited this oversight, executing single-step movements repeatedly to traverse indefinitely.

To address these issues, the reduction of action points was relocated to the beginning of the functionality, ensuring proper execution and preventing exploitation of movement mechanics.

3. Advancement to the Prototype Stage:

Following iterative improvements and thorough playtesting, the movement mechanics reached a state ready for the integration of finalized assets, including sounds and character assets. The incorporation of these exceptional elements breathed new life into the game, elevating its overall experience to new heights.

4. Continued iteration and feedback.

Upon completion of the prototype and subsequent rounds of playtesting by the design team, additional bugs surfaced:

  • The main character would erroneously end their movement on tiles occupied by allies.
  • Exploiting a flaw in the movement mechanics, players could maneuver the main character to move two tiles before action points were reduced, effectively ending their turn on an ally’s tile and rendering themselves immune to enemy attacks.

To rectify this issue, a validation process was implemented to check the selected tile for occupants. If an occupant was detected, the tile would be deemed unsuitable for the player’s movement selection, preventing unintended interactions.

5. Final integration into the game.

Following meticulous bug fixes identified during prototype refinement and extensive playtesting, the movement mechanics seamlessly integrated into the game. Notably, issues such as the main character erroneously ending movement on allies’ tiles and the exploit allowing players to evade enemy attacks were effectively addressed.

With these enhancements in place, we stand proudly behind the polished final product.

Psychohazard A* Movement in Hexagonal Format

The Awesome Team!

Allora ScottLevel/Character Artist

Aria FulanComposer/SFX

Carolyn ClarksonUI Artist

Contessa RivailLevel/Weapons Designer

Dustin KeplingerTechnical Lead & Gameplay Programmer

Macie WhiteSystems Programmer

Thomas Brownlee AI Programmer

Will PritzProducer & UI/AI Programmer