Project Memory
Anticipate their every move.
About the project
Project Memory is a soulslike set in a dark and twisted fantasy world which is filled with interesting environments and characters, all portrait using N64 style graphics. Players fight their way through the world with a new and improved combat system which allows them to approach fights in their own unique way.
Follow the quests of the NPCs you meet along your journey, defeat bosses standing in your way and decide over the fate of the world.
Your actions have consequences.
My Contribution
For Project Memory my main role was coding and designing the games core gameplay and systems. This included the games extensive combat and stat-system as well as the handling of all technical aspects of the game such as loading, saving, settings and UI.
In addition to my work as a coder and designer, I also managed the project in combination with the games vision keeper ensuring that the project reaches the set goals and deadlines.
Making the Combat.
Combat based on Anticipation
Philosophy
While many soulslike Games already base their combat on anticipation, their limited defensive options often prevent these games from sticking to these principles due to gameplay difficulty and predictability. Project Memory solves this issue by adding multiple defensive strategies which provide certain benefits such as effectiveness towards certain enemy attacks or offensive opportunities like special attack animations and stat benefits. The goal is to provide a combat system which favors and encourages the player to utilize all options rather than mastering one of them resulting in a varied fighting experience.
These changes allow the animations to adhere to the principles of anticipation without negatively impacting the difficulty of the game. This way unrealistic timings in animations can be avoided and difficulty can be added by alternating between attack types, which can or need to be countered by a specific defensive option.
Implementation
Combat in Project Memory features two attack types which occur during gameplay and can or need to be countered using the two provided defensive options.
The first option, dodging, provides safety by evading attacks and gaining distance to the opponent. This option is especially effective against “Stab/Thrust” attacks due to the small area that these attacks cover. This is achieved by increasing the window of “invincibility”-Frames while dodging. In addition to the better timing on stab and thrust attacks, the player is able to respond with a long range attack which deals additional damage, mitigating the downside of the distance created by dodging away from attacks.
The second option, perfect blocking, prevents attacks from dealing damage and allows the player to stay close to the opponent. In order to encourage and play into this concept, perfect blocks do not consume stamina, allowing the player to immediately respond with their own attacks. Additionally this option also provides a greater block window for “Slash/Swing” attacks making this option easier for these type of attacks.
Enemies that adapt.
Learning from player behavior
How enemies adapt to your playstyle
Because attacks are designed in a way that players can anticipate them and their defensive options make evading damage easier, bosses need to be balanced in a different way in order to keep up the difficulty that players of the soulslike-gerne know and love. In order to achieve this bosses also make use of some of the principles of anticipation, observing the player and finding out their preferences.
By keeping track of the inputs made by the player during a fight, bosses can adjust their behavior and increase the use of attacks, which counter the players preferred defensive option. Not only does this increase the difficulty of the fight but it also forces the player to adapt a varied playstyle and learn all mechanics provided by the game.
Additionally to the adjustment of behavior, bosses can also make use of special attacks which require a certain response. While regular stab-attacks can be blocked, special attacks need to be countered using the corresponding defensive option. Combined with the adaptation to the player preferences, these attacks push the player towards mastering both blocking and dodging reducing the effectiveness of only using one defensive option.
Animations based on fairness.
Creating animations that are fair and predictable
Potential for frustration
Since natural and predictable motion is key for anticipating movement, animations needs to mimic realistic movement, containing de- and acceleration. Animations in Project Memory should not contain unfair or unrealistic timings and need to respect real life physics as much as possible. This way players can read enemy attacks and choose the correct answer for the situation, preventing unnecessary frustration and keeping the fights fair. Combined with the use of specific attack-types combat can be kept challenging yet predictable, without the need to memories attacks directly.
Animations
Project Memory features both custom and free animations in order to speed up development and provide a fluid gameplay experience. All animations, even the preexisting ones, were manually tweaked in order to adhere to the principles of anticipation and match the games combat-system.
Special stances created for the bosses indicate the type of attacks making it easy for players to identify and respond to attacks, even in heat of the battle. Fully custom player attack animations allow for easy tuning and balancing.
Additionally, animation events are used for setting and resetting defensive windows, allowing for simple adjustments of timings and assigning attack-types.
Full Gameplay
View the prototype gameplay of Project Memory. This video features a full playthrough of the completed prototype and contains all features listed above and more!
Not possible without our Team
Project Memory would not be possible without the amazing people I work with who provide their incredible insight and expertise to help the game become a reality
Special thanks to:
Henry Feuerbach – Visionkeeper, Narative/Game Design
Yasar Yazir – Level Design
Lorenz Holzknecht – 3D Artist and Texturing, Sound Design, Concept Artist
Concept Art by Lorenz Holzknecht