I worked on this project during my time with The Molasses Flood / CD Projekt Red.
I cannot share images/videos/details about the characters I worked on,
but I can discuss what I learned on the technical side.
NOTE: Page under construction! More details & postmortem of my experience coming soon ☺
The project code name was announced here in a 2022 CDPR tweet.
Game development is a never ending learning journey; technology is always improving, and there is always a new technique to discover. I am so thankful for the incredible amount of knowledge that I gained at The Molasses Flood and for all the teammates who mentored me.
I implemented custom behavior tree decorators in C++, such as semi-random subtree injection and pre-execution branch cooldowns.
I planned & implemented multi-character managers for NPCs and enemies.
I collaborated with designers to create tools for tuning combat, adding injectable behaviors, and adjusting pathing patterns.
I extended and utilized many AI systems, both UE5 and proprietary, such as: perception, 2D and 3D movement, nav mesh generation, EQS, and spawners.
One of the greatest challenges of AI, especially when using utility/score based solutions for pathing and other decisions, is debugging. Visualizations and data logging are vital for team members to understand why a character is making a decision, moving in a direction, etc. I created new Gameplay Debugger categories for our proprietary AI systems.
When I started working on the project, our player and AI used a proprietary action/effect system for all their behaviors. The decision was made a few months later to transition to Unreal's Gameplay Ability System. I learned a lot from comparing the workflows of both systems!
I generated faction-specific zones within larger maps using proprietary PCG systems and ensured that AI could query and respect the boundaries of these zones.
I extended nav mesh generation to support multiple meshes for the same agent type and learned about Sparse Voxel Octrees.
I created custom multi-AI spawners which selected spawn positions using the Environmental Query System.
We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.