Combat Guide - UQcsse3200/2024-studio-2 GitHub Wiki

Overview

A key feature of this game is its turn-based combat, which the player will encounter whenever they interact with an Enemy or Boss NPC. When I say interact, this means directly colliding your player with the enemy NPC in the overworld will trigger the combat scenario.

In these combat scenarios, the player will either fight enemy NPCs or boss NPCs. The combat screen is comprised of many components, with the top corners of the screen comprising of statistics bars that represent stats of both the player and enemy that are relevant to the overall game play, and the bottom of the screen comprising of buttons of all the different moves a player could make in a turn.

Combat Screen Design

The design of the overall combat screen was inspired from pre-existing pixel turned-based RPGs such as Pokémon, however the team wanted to divert from this design and make it somewhat original, resulting in the design below. The screen shows the stats of both the player and enemies, as well as buttons to do four different actions, attacking, guarding, sleeping and the use of items.

image

Statistics Bars

On screen, three statistics bars to the left display the players experience progress, current health and current hunger. The experience progress will show you either how much experience you gain upon defeating an enemy, or how much experience you will need to regain when you lose it all against a regular NPC. The health and hunger bars will be crucial in your combat strategy. For the enemy, their health and hunger are shown, ensuring that you can carefully calculate your moves based on the status of the enemy. Next to each bar is a label of their current stat value / the max stat value (in the player's current level). The statistics bars are:

Statistic Bar Image Description
Health Points health_bar_x1 The player's health. Next to the bar is a label of current health / maximum health.
Hunger Points hunger_bar The player's hunger. Next to the bar is a label of current hunger / maximum hunger.
Experience Points xp_bar The player's experience. Next to the bar is a label of current experience / maximum experience. Upon meeting the maximum experience, the player will level up, and their stats will improve, resetting the current experience back to 0 with a new max experience cap.

Experience Gain

Combat is the only way to gain experience in the game, with the defeat of each enemy increasing the players total experience count until they level up. Each level up will give a stat bonus increase to the player which help throughout the game as the enemies and bosses become progressively stronger and more difficult to defeat.

Different Moves in Combat

As mentioned, the player can choose to do one of four moves during each turn in combat. Once the player selects a move, the enemy will also complete either an attack, guard, sleep or special move (only if they are a Boss NPC). More specific details regarding the exact calculations for stat changes can be found in Combat System. The moves are described below:

Move Description
Attack Attack will attempt to do the damage, potentially reducing their health if their guard/defense is not high enough, as well as decreasing your own hunger. The effectiveness of this is proportional to the amount of hunger a player has.
Guard Guard will reduce or stop the attacks completed by the enemy against you, with the cost of you losing hunger. The effectiveness of this is proportional to the amount of hunger a player has.
Sleep Sleep will increase your hunger and health (unless afflicted with poisoned status effect), at the risk of you losing a lot of health if the enemy attacks whilst you are sleeping.
Special Special is a move only Boss NPCs can use, that will afflict you with one of four status effects described below. They each have unique consequences and duration periods.
Items Items will allow you to use certain items picked up in the main game world in combat, to improve some of your stats and hopefully help you turn the tide of a battle.

Move Animations

For each of the moves a player and enemy can make, come different animations to enhance the user experience of a player in combat. Each move has a unique animation that is made to match the overall aesthetic of the game, as described and seen below:

Move Animation Image Description
Attack attack image The attack animation is a rock being thrown, as rocks can be seen anywhere in the world and can be easily utilised by animals to fight each other.
Sleep sleep image The Z's animation is used as it is universal when related to sleep, and matches the brighter aesthetic of the game, calming down the potentially dark nature of combat.
Guard guard image The shield animation is used for guarding as a shield is usually what is associated when protecting one's self.

Stat Change Animations

After players have selected their moves, the change in stats for both the player and enemy are shown on screen by the appearance of text (like HP-10, HGR-5) on top of the player and enemy entities, with each colour of the text matching what stat has decreased. Orange text is a change in the hunger stat, and red (damaged) or green (healed) text is a change in the health sat. Changes in stats caused by Boss special move status effects are also shown with the status effect name and affected stat in each status effect's unique text colour (similar to the colour of their corresponding status effects bar shown below): Maroon for Bleeding, Forest green for Poisoned, and Yellow for Shocked.

Animation Change Type Image
Health image
Hunger image
Poisoning image

Player and Enemy Sprites Animations

Players and enemies (for the most part) are not stagnant and still in combat, rather having sprites that make them more entertaining to watch whilst combat moves are and are not occuring. There is a multitude of enemy and player sprites and movements that can be located in Friendly NPCs, Enemy NPCs and each of the boss pages linked at the bottom of the Home Page.

Move Audio

For each of the moves as well as different combinations of moves. different sounds will be made. For example, the attack animation is a rock throw, and the guard animation is a shield. Hence in combat if one player attacks, and the enemy guards, the audio that will be played is that of rock hitting metal. Having audio like this improves the overall quality of the game, adding another sensory experience whilst playing the game.

Hunger in Combat

Similar to the main game world where you can free-roam, hunger is also important in combat. Every move other than items and sleeping use hunger. The less hunger you have the weaker both your attacks and guards become. Hence you must strategize when to sleep in order to balance your stamina as well as the potential risk of being dealt big damage.

Status Effects in Boss Fights

When a player is in combat with Boss NPCs, they should be aware that Bosses have a special type of move that can inflict status effects on users. This special move does not inflict damage directly, but instead applies one of the four status effects (depending on the boss):

Status Effect Image Description
Bleeding
For three turns, you lose health and stamina each turn, as well as your guard move not being as effective
Shocked
For three turns, you lose health and your attacks are weaker
Poisoned For two turns, your hunger stat is decreased and sleeping only replenishes hunger, not health
Confused For one turn, no matter what move button you click, the player's move is randomized

Entity Conversion (Enemy NPC to Friendly NPC) (From Team 4 Wiki Pages)

Once an enemy NPC has been beat by the player, it is transformed into a friendly NPC which will accompany the player throughout the game, helping them with combat and game progression. This means that extra FNPCs will be added throughout gameplay. Details on the enemy conversion can be found here: Enemy Conversion to Friendly Upon Defeat

Loss in Combat

In this game, there are multiple different consequences when losing all of your health, with some of them more severe than others. Be prepared and very careful when you fight against a boss as if you lose, you will have to restart the game from the beginning as your save file will be deleted. If you lose against a regular enemy NPC, the consequences are less severe, with you losing your inventory and experience progress to the next level, respawning on the main map with 50% health and hunger so that you have a chance to start again and become stronger.

Environment Inspired Combat Backdrop

In the game, there are three different kingdoms animals can come from, the land, sea and sky kingdoms. To match this overall game design, depending on the enemy that players encounter, the background of the combat screen will change. This is dependent on if the enemy is a land, sea or sky creature. Below are images of the different backgrounds:

Kingdom Type Image
Land Land Background
Sea Sea Background
Sky Sky Background

Dialogue Box

After each turn in combat, dialogue boxes are displayed on screen illustrating the moves done by both the player and enemy. In combat against the boss, dialogue boxes will also describe the consequences of being under a status effect. Using these improves the user experience of players as it makes them more informed about what has happened and what could happen in combat depending on the moves they select. This improves the overall strategic aspect of combat. For more information about how the Dialogue Box works, refer to this link: Dialogue Box (NPC)

Hover Hints

In combat, you can hover your cursor over certain buttons and indicators to open up a short popup with further details. Hover hints are available for all four combat move buttons to describe each move's effect. Hover hints are also available for status effects bars to give a more technical explanation of the effects applied.

image

Pixel-Art Design

The statistic bars, status effect bars and animations are designed with a brighter pixel-art aesthetic that matches the game's visual style, making them visually cohesive with the overall game.

Programming Guide

For specifics about how to develop and use combat and its components in game see Combat Programming Guide

⚠️ **GitHub.com Fallback** ⚠️