NOTE: This title is still in development!
The Game
Divergence is a third-person action-adventure game in which Petra, a young archaeologist, finds herself on a strange Greek island with advanced technology. Armed with her plasma rifle and the ability to rewind time, she must take down powerful robotic enemies and uncover the mysteries that await her.
The Team
Timesink is a team of 30 people. The team is comprised of various sub-teams, which are organized by artistic, technical, and design disciplines.
Development
Divergence was developed using Unreal Engine 4, with the sound engine implemented with Wwise. The primary gameplay mechanic is to rewind time in order to rebuild destroyed platforms and to spawn a clone that can act as a decoy to draw enemy fire away from the player. In addition to the player character, there are two basic enemy types and a boss, all of which have unique attack patterns and animations.
My Contribution
Animation Programming
After my experience with Ceramic Soul, I felt ambitious enough to be the team’s animation programmer. In addition to being the liaison between the animators and the engine, my role involved constructing animation blueprints for each character. This was a highly iterative process, as the design team would constantly come up with new ideas for what the enemies could do, and the animators had to constantly update their rigs and animations. This gave me a lot of experience in writing blueprints, event graphs, and finite state machines.
Parallax Occlusion Mapping (POM) Decal
To simulate terrain damage, I worked with artists to make a POM decal. Using a texture and a normal map provided by our art team, I wrote a material function and material blueprint that would create the illusion of a 3-dimensional impact on any spot shot at by the player.
Dissolve Material
In order to destroy game objects in a more visually appealing way, I created a dissolve material and material function. This effect was used to cause the player’s divergence clone to dissolve (as can be seen to the right), and to de-spawn enemy projectiles.