top of page

Elemental Duel

Genre: Party, Multiplayer, RPG, 2D, Board Game

​

Duration: 3 Months

​

Team Size: 1

​

Games Engine: Unity

​

Programming Language: C#

ElementalDuel Logo.png

Elemental Duel is an ACM individual prototype that was developed individually in order to understand algorithms and theories, with this project focusing on probability theory and randomised algorithms. The goal of the project is to use algorithms in order to improve my coding skills by providing suitable structures and methods.

​

The game is about choosing characters to summon minions to help defeat your opponent during combat in this party board game.

​

The goal in this game is to be the last one standing by summoning offensive minions to deal damage to your opponent.

Design Process

Minions

Minions are in the game that can be use to deal damage to the opponent or defend from incoming attacks from the opponent's minion.

​

The minions have their own health and attack points along with a rent system which if the player cannot afford will cause all their minions to disband from the team.

Abilities

Characters and minions have their own unique abilities that can be activated during the player’s turn, any time in the game or during combat providing unique game behaviour when choosing a character and obtaining a minion.

​

The characters has one passive ability, whereas the minions has two abilities: one that is a passive ability and the other ability is a combat ability that only occurs during combat.

Spaces

Spaces are also added in the game and pretty much behave as similar as Mario Party does with these spaces doing unique behaviour:

  • Blue - Gain cash

  • Red - Lose cash

  • Event  - Even probability of 1 of the 5 events from occurring (20% of each event occurring)

  • Lucky - Even probability of 1 of the 5 lucky events from occurring (20% of each event occurring)

  • Boost - Doubles the attack & rent stat of both Minions

  • Item - Odd Probability to obtain 1 of 4 items

Summoning Minions

Summoning minions provide unique chances towards each character as well as the position. For instance Xeno has a 40% chance of summoning a fire minion in the offence position and 30% chance of summoning in the defence position.

image.png
image.png
image.png
image.png

Items

Items were added into the game to provide more actions the player can do on their turn other than summon and roll. Each item provide their own behaviour and have their own purpose for the player to use.

image.png

Development Process

Even Probability

Most outcomes of events are even probability, which is when each outcome has a similar chance to occur. An example of this is the event and lucky spaces where there are 5 outcomes with each outcome having a 20% chance to occur for the player.

​

This makes events become have a mixture of high and low chance from occurring with small amount of outcomes having high chances and high amount of outcomes having low chances.

image.png

Odd Probability

Some outcomes of events are odd probability which is when each outcome has a unique chance to occur compare to other outcomes. An example of this is when landing on a item space, the player has a 50% chance of obtaining double dice, however the player also has a 12.5% chance of obtaining hammin.

​

This makes rarer outcomes more satisfying for the players to occur to them and use in the game.

image.png

Independent Probability

Most probability events in the game are independent which is when the outcome always become the same no matter the events that occur. An example of this is the fire minion's passive ability where the minion's attack points can increase from 4 to 6 permanently if the random range between 1 to 5 is the same value as the integer that makes the fire minion active their ability.

​

This makes events become consistent towards keeping the outcome the same no matter the events that happen during the game.

image.png
image.png

Dependent Probability

Some probability events were planned to be independent which is when the outcome changes depending on specific events. An example towards summoning a random range is provided and then lines of conditional statement checks if the random integer value equals to the value range to summon the type of minion.​

​

This makes the player's chances to change during every playthrough depending on their actions such as choosing their character or the position they want to place their minions in.

image.png

Overall Conclusion

Overall this project has given me a better understanding on using algorithms that are related towards basic randomised algorithms whether being independent or dependent events occurring in the game or providing odd and even chances to develop in a game project.

 

This project made me understand more about using probability that can be stored onto a component that can provide random inputs throughout the game that includes random number generation elements.

 

This project will lead me to identify more algorithms whether related to probability or outside of the theory and create more gameplay mechanics with unique algorithms.

 

I will be aiming to revamp this project for the future and turn this prototype into a technical demo with more unique gameplay mechanics, elements and expanding coding that can make my writing clearer and efficient.

bottom of page