Dis-Illusion-ed
Dis-Illusion-ed
About the game
Dis-Illusion-ed is a very good game made in its time frame. It was made as a final University project and is meant to be the culmination of all the lessons my group and I had learnt.
The game is a third person open world game. Additionally it is a serious game, it tackles the very real issue of pollution and inaction taken towards a very real problem. The story reflects that without being preaching it to the player.
I had the privilege of working with very talented and skilled people to realize this game in its current form. It does need work and it needs improvements to fully realize its potential.
The game has 3 levels and 3 boss fights, every fight and enemy representing some form of pollution. We took heavy inspiration from games like Monster Hunter World and Dishonored. For an example, the wolf character has a tail attack that we looked to take inspiration from a similar attack that the Odogaron in Monster Hunter World uses against the player. Another area we took inspiration from was Aer Memories of Old. That is where we got the art style inspiration from.
Gameplay Loop
Ashaya is the wolf you play as. Ashaya has 3 main attacks that all specialize in something specific, the game is a 3rd person RPG where you explore the world and work through the story. Making sure to destroy all the trash monsters that have been created by the pollution that plagues the world.
Your primary attack is a claw attack that does not deal a lot of damage, but does good knockback.
Your secondary attack is a bite that does good damage but does not have much knockback.
The final attack is a tail whip that fires a projectile. It is meant as a long range attack. It chains with other attacks fairly well.
The player is meant to be the fastest entity in the world, and as such they have a few movement options, the player can choose to run or walk as is common in games, but the player also has a dash they can use to dodge enemy attack.
Ashaya’s claw attack is her quick, reliable strike. While it doesn’t hit hard, it knocks enemies back, giving her room to breathe or control groups. It’s perfect for keeping pressure without getting overwhelmed.
The bite attack trades knockback for raw power. It deals strong damage up close, making it great for finishing enemies or punishing mistakes. It rewards precision and timing in close combat.
Ashaya’s tail whip is her ranged option, sending out a projectile. It links well with her other moves, letting her pressure enemies from afar and weave attacks together for fluid combos.
Lessons learnt during the development process.
What went right.
The game was released in a playable state with all functionality working. The story was also able to be implements before the deadline.
Every attack feels different and unique, similarly, every boss feels unique and has a unique move set, they all are a very good stand in for pollution and its effects.
The game has a compelling main storyline and everything we added had a purpose and a meaning, nothing was added just because we wanted it there.
The sound effects sound quite good and each attack on its own feel good to use. Additionally a lot of time was spent to ensure the behaviour tree AI system made for this game worked near perfectly. And that shows.
What went wrong.
The game was a tad over scoped and the time spent on it was not adequate for what we wanted to do. We should have cut one level entirely along with its enemies and boss to focus on making the remaining 2 levels perfect, we possibly could have gotten more post processing working.
The movement itself feels okay. However the dashing does not feel good to use in move instances, with a little more work and refinement it would feel much better.
The attacks themselves are good on their own. But they dont really have the level of flow that I wanted when creating them. The initial vision of the combat system was to have a base set of attacks that weaved into eachother seamlessly, as of right there is only one attack flow that feels around where I want it.
A fair bit of what went wrong can be attributed to one of the group members not fully understanding the tasks set before him, and producing suboptimal work that needed to be fixed by myself and the animator that was asked to substitute in as a 3d modeler.
What did I learn.
This project taught me a lot about the whole pipeline of creating a game. I mean that sincerely as I gained experience with around 85% of what it means to make a finished game. It taught me further about plugins, QA, UI, and where you can afford to cut corners without things being perfect.
I made use of the Behavior Trees that I learnt for Bogan Rangler, into this project. I worked so close with this system through all of the missteps and errors I made that by the end of the project, I had become extremely familiar with how a behaviour tree worked and how to optimize it.
I learnt how to be flexible and adapt to the situations I found myself in. I was the team lead and as such I knew that the responsibility of creating a good finished product was on me, I kept my team on track with good time management and weekly meetings and short check-ins when it was required. I knew where my team thrived and where they fell short, I made sure that any shortcomings were accounted for and would not hold the project back.
Notable System implemented.
Behavior tree overview and the philosophy behind it.
The behaviour trees implemented into this system were the most note worthy and deserve an explanation all in their own right.
During the early days of deciding what AI the game would have, I researched and discussed many different options with lecturers and team mates. And it was decided that a behaviour tree would be the best choice.
The boss enemies were chosen to have this AI on it, this was done to keep the game optimized as a main feature, a close second to why this was done was that the basic enemies that the player would encounter would not benefit from a complex AI system as they needed very basic logic to function, and the moment to moment gameplay was more focused on there being many of the basic enemies than the basic enemies being complex.
Example of Complex AI
This is a view of all the files needed to make decisions about what the AI does, how it functions and what actions to take when it chooses a course of action. For example, when the choice script chooses attack, it runs through all the attacks, first checking what attacks are off cooldown and their effective range, it then measures the range to the player. This photo does not display all the additional scripts needed to communicate with movement and animations and the state of the boss.
Example of Simple AI
This is the AI for a small robot enemy. Everything that is shown here is what is needed to make the AI work. As is shown, there is no behavior tree at all.
This is a preview of some of the code snippets that make Kara work, the complex AI mentioned above.