Not Quite Immortal is a narrative-heavy 2D puzzle platformer set on the mystical haunted island of Creepy Hollow. The player, searching for the missing soul of their recently deceased necromancy mentor, possesses wild monsters with their spirit powers, then uses their abilities to solve puzzles and traverse the game world. We intend to establish a sense of immersion in our players with our highly magical world design and gameplay mechanics, and powerful emotional investment with a deep mystery plot and a sad yet hopeful storytelling tone.
​
Linked here is a development blog post explaining how I implemented the underlying custom Pathfinding Grid and modified A* Pathfinding Algorithm used as a basis for our Enemy AI's movement. It includes examples demonstrating how enemies can use their unique special movement abilities when following the paths they calculated from the common Pathfinding Algorithm.
Credits: Rory Beebout
This project started with eight people:
-
Producer:
-
Howard de Paiva​ - Scrum Master
-
-
Designers:
-
Cole Gagnon - Level Designer and Product Owner​
-
Andrew Kerwood - Enemy and Narrative Designer
-
-
Artists:
-
​Roland "Ro" Richardson - Environment, Character, and UI Artist, Animator​​
-
Chase Peterson-Gurak - Enemy Sprite Artist, Enemy Animator
-
-
Programmers:
-
Myself - AI and Gameplay (secondary) Programmer​
-
Jonathan DeLeon - Systems and Gameplay Programmer
-
Rory Beebout - Graphics and Systems Programmer
-
-
Freelancer:
-
Shane Tetro - Music and SFX Producer​
-
​
​
​
​
​
​
​
​
​
​
​
After presenting it to our after twelve weeks of work, we were given the Green Light to proceed into production during the Spring semester of 2022 for an expected release in May of 2022. We recruited more talented people to help develop Not Quite Immortal and reach our goal of publishing. Here is the full team behind Not Quite Immortal:
​
​
​
​
​
​
​
​
​
​
​
​
​
​
We divided the team of twelve into two scrum teams of six:
-
Levels/QA Scrum Team:
-
Paul - Producer
-
Cole - Designer (+ Product Owner)
-
Evan - Designer
-
Ben - Artist
-
Bradley - Programmer
-
Myself - Programmer
-
+ Jaden - Audio Freelancer​
-
-
Narrative/Gameplay Scrum Team:
-
Howard - Producer
-
Andrew - Designer
-
<Anonymous> - Artist
-
Ro - Artist
-
Jonathan - Programmer
-
Rory - Programmer
-
​
We re-shuffled the teams here and there, especially near the end of the semester, and it has always been very helpful for cross-discipline communication and to help the team have clear communication pipelines.
Credits:
Rory Beebout, Graphics Programmer, creator of this gif
​
Roland Richardson, Character Artist
Credits: Rory Beebout
My responsibilities are:
-
Combat system
-
Inheritance-based​
-
Enemies Override Attack() to allow us to easily call each enemy's attack function​
-
Separate implementations means no messing with existing code
-
-
Uses scriptable objects to easily swap "combat sets"
-
-
Possession mechanic
-
Swaps combat sets and movement sets​
-
Allows player to use enemy movement and combat abilities
-
-
Custom Grid system and modified A* Pathfinding algorithm
-
Allows for accommodation of different movement styles​
-
Enemies derive from BaseEnemyController and override FollowPath()
-
Allows for unique enemy movement abilities (e.g. wall-jumping)​
-
-
-
Implement Enemy Boss Fight sequence
-
As the battle progresses, the boss behaves differently to stop the player from accomplishing their goal​
-