top of page

Prodigy

Project Type:
Engine Used:
Language Used:
Primary Role(s):
Project Length: 
Solo Project
Unity
C#
Game Designer
Created in 1 week

Prodigy is a game I created for my Rapid Game Development class where we had 1 week to create a turn-based game with attacks, spells, items, and defenses. The player and the enemy were required to have 1 attack, 1 spell, 1 way to defend, and 1 item to use in combat. I found free sprites with animations online and decided to go with a wizard and magic theme. I took inspiration from Baldur's Gate 3 for this game by implementing armor class and attack rolls into the game, giving the chance for some attacks to succeed and fail based off of the opponents armor class. I also included multiple unique spells like a fire based attack, an attack to buff your damage, and a versatile spell that can be defensive or offensive.

Game Creation Process

Game Design

We were given 1 week to design and submit a fully working bug-free build of a turn-based combat game that included attacks, defenses, spells, and items. During my brainstorming phase I was heavily inspired by Baldur's Gate 3 when designing the core spells and attack mechanics of this game. Like Baldur's Gate 3, I implemented armor class and dice rolls into the game, where the player rolls a 20 sided dice and if the roll is higher than the opponents armor class, the attack will succeed. If the roll is lower the attack will fail. I created multiple spells like a fire attack, a buffing attack, and an attack that can be used defensively or offensively. I used free assets I found online, mostly from Craftpix, and scripted the entire project using Unity and C# scripts.

Game Brainstorm Ideas and Concepts

Scripting

The challenge of this project was setting up the turn structure and programming the enemy to take turns using similar spells and abilities like the player had. I used a combination of functions and coroutines to handle many of the attacks and spells, and I used a combat state enumeration to help me keep track who's turn it is so turn's couldn't be taken too quickly or out of order. 

Turn-Based Combat Scripting
Player Attack and Defend Scripting
Player Spells and Items Scripting

I programmed the enemy to have similar attacks and spells to the player, but with their own separate animations, damage, and spell costs. I also made the enemy chose actions depending on a few factors in the game, like how low the enemies health was. If the enemy was low on health, they would have a higher chance to prioritize taking a healing potion or defending rather than choosing to attack the player.

Enemy AI Scripting

Project Take-Aways

I learned a lot about how to create a turn-based combat game and it solidified my knowledge of using coroutines to do these types of functions where I needed things to happen over time rather than instantly. I went above and beyond by choosing to implement so many different spells that my professor told me he would save my project for future classes as an example of great work.

bottom of page