Unleash the power of fire and ice in Crystal Ember: Fire & Ice, an action-adventure game where elemental switching is key to both combat and puzzle-solving. Players must seamlessly swap between fire and ice gems to overcome enemies, manipulate the environment, and solve sequence-based puzzles by matching the correct element to progress.
Combat is built around a precise lock-on system, allowing players to focus on enemies and strike with well-timed melee attacks. Enemy weaknesses play a crucial role—fire deals extra damage to ice-based foes, while ice is the key to defeating fire-infused enemies. Mastering quick elemental swaps mid-fight is essential for maximizing damage and controlling the battlefield.
With a mix of strategic combat, environmental challenges, and elemental puzzles, Crystal Ember: Fire & Ice delivers a dynamic and rewarding experience where every battle and puzzle is a test of elemental mastery.
using multi-sphere trace lines to check for any actors that it hits. Then using an interface to check that the actors hit implement the lock on interface if they do then it adds them to a new array list and returns the first one in the array as the closest target to the player.
Adding small puzzles between each major combat section to offer players a little break from repetitive combat and allowing players to use the gems outside of combat by providing a dual purpose mechanic that works in combat and outside of combat.
Look for target function
Choose target function
Lock onto valid target
Sphere damage collision actor class
Animation montage notify actor class
EQS & Melee combat breakdown
Using EQS to drive AI movement. I used a donut that has two rings around the player so the AI would move around the player and try to move to one of the 10 points that are on each ring. Also, I added an overlap box test to prevent the AI from moving to a point around the ring that already has an AI overlapping that point.
The donut can be customized to change how the AI will move around the player. For example if you want the AI to move around the player in a smaller circle the radius can be modified to achieve this.
Using a blueprint actor class to set up sphere collision and expose relevant variables on spawn such as sphere radius and damage. Then using an anim notify actor class to spawn the sphere blueprint class in front of the player and promote the exposed on spawn variables to variables and making those public so they can be used in different animation montages allowing each attack to have its own custom sphere radius and damage.