Professional Projects
プロフェッショナルプロジェクト

Kemuri

Kemuri Cover

As a Yokai Hunter, use the Fox Window to reveal what others cannot see, form contracts with the yokai you encounter, and wear their power as Possession Apparel.

  • Since the game is still in development, I’ll just briefly mention some contributions without going into details: Combat AI behaviors for ground and flying NPCs, combat feel, Attack Ticket System, flight movement, Behavior Tree logic, Environment Query System extension, GAS, etc....


007 First Light

007 First Light Cover

An espionage action-adventure game. Follow James Bond as a young, resourceful and sometimes reckless recruit in MI6's training programme, and discover an origin story of the world’s most famous spy.
Overview of my work on the game:

  • Companion AI - Developed companion NPCs that can lead or follow the player. Companion changes between stopped/slow/medium/fast locomotion depending on distance and LoS conditions, locomotion speed is scaled up/down to keep them at an ideal distance to the player, they interrupt and resume their current conversation based on distance to the player, can use smart objects in the environment, and designers can tweak a lot of values to make each companion behavior unique.
  • AI Distraction System - Developed a Distraction System with different levels of intensity, which trigger different investigation behaviors (e.g. seeing a scaffolding collapsing, hearing a door kick, etc...), using an AI-coordinator group that would delegate tasks to the aware NPCs, each with different roles and working together to execute the investigation. They can also decide to split up during an ongoing investigation if another distraction is triggered.
  • AI Perception - Vision Perception with designer-facing custom volumes for different archetypes, and LoS checks against multiple player’s bones for visibility calculations. This ”perception value” could be modified using distance curves, which would drive behaviors like “suspicious”, “investigating”, triggering combat relocation, etc… Sound perception using an euclidean distance filter, followed by navmesh pathfinding to determine audible sounds.
  • Hierarchical Task Networks - Using HTN to define NPC plans, behaviors, and group/squad coordination, making use of a messaging system to achieve complex coordination between NPCs.
  • General AI systems - Improved dynamic navmesh modification performance cost by only recomputing paths that contained affected nav polygon areas. Position Reservation System for NPCs, used for the Environmental Query System and navlink reservation during path-following. Improved handling of doors by NPCs, by using the navlink reservation system, and implemented sabotaged doors, where NPCs would fail to open them and proceed to kicking them down.
  • NPC Animation Fidelity - Contributed to the high animation fidelity effort for NPCs with Animators and Animation Programmers (e.g. creation of an animation ”exit reason” in AI behaviors that made NPCs smoothly play context-aware exit transition animations between different behaviors; etc...). Also worked with Animators on the NPC character animation network, helping to design and set up some of the networks, fixing transition animation issues, etc…
  • Knowledge Representation - The features I worked on required an extensive number of knowledge tables, with each human NPC having around 200 different tables that they could query and modify, each with multiple parameters.
  • Confrontation - This is a high awareness domain in the NPC brain, where they contextually react to everything the player can do (e.g. bluff, fake surrender, crouch, use a gadget, run away, standing still, etc...), in order to give players a chance to go back into stealth after being discovered.
  • Performance Improvements - Worked on performance improvements across many sections of the AI codebase (e.g. NPC update cycle strategy, path handling during dynamic navmesh modifications, HTN background domain updates, etc…).
  • Design - Collaborated heavily with Game Designers, where we would discuss the initial design of a feature, solving potential design problems before even starting to code the feature, and iterate on it together.
  • Environment Query System - Contributed to the implementation of a environmental query system used by NPCs to query the environment, as well as using it to create various queries.


Skull and Bones

Skull and Bones Cover

An open-world naval ship sandbox game, filled with dangerous ships to defeat. Quick overview of my work on the game:

    AI

  • Sea Monsters - Developed the tech framework for sea monsters, including decision‑making using a HSM, data‑driven attacks with animation integration, attack windows, hit reactions, etc...
  • Environment Query System - Contributed to the implementation of a spatial awareness system used by the NPCs to query the environment in order to find the best position for it to move.
  • Archetype Behaviors - Implemented different ship archetypes using Behavior Trees (e.g. guarding ships; ships targeting the player's side; ...).
  • Utility AI - Used to decide on the high level behaviors of NPCs (e.g. in combat; out of combat; fleeing; ...).
  • AI Proxy - Created simple AI Proxy objects representing the NPCs for when they are out of the player’s loading range, allowing them to simulate some simple behaviors and keep some state while very far away from the player, saving performance costs.
  • Threat System - Contributed to a system that tracks all entities that are in combat with an NPC and how much threat they each pose, allowing to make decisions based on the threat each pose (e.g. attacking the entity that the NPC considers more threatening; attacking the least threatening entity first to focus on the others later).
  • Attack Ticket System - Contributed to the Attack Ticket System, providing tickets to NPCs to allow them to attack players or other NPCs (e.g. only allow 4 tickets to be given to NPCs targeting the player, so that the player never gets attacked by too many NPCs at the same time).

  • Gameplay

  • Dialogue & Story Controller - Implemented a fully event-driven, time-sliced dialogue controller for the game's narrative, supporting concurrent dialogues for both land and sea. This system is able to analyse the state of the game and decide which dialogue scene it should play.
  • Sound Matching Lip Sync - Integrated lip syncing technology in the engine, handling the logic for the lip's movements and integrating it into the animation graph.
  • Remember Player-Actions System - Implemented a system that keeps track of dozens of player actions, allowing characters to respond to those same actions (e.g. player defeated an enemy with a specific weapon, so some characters might react to that when the player talks to them).
  • Dialogue Editor - Supported and extended a tool for the creation of narrative scenes.
  • Created debug tools using ImGui.


Far Cry 6
Far Cry 6 (ファ-クライ 6)

Far Cry 6 Cover

An open-world shooter set in a tropical island called Yara. Quick overview of my work on the game:
テスト日本語.

  • Heat Mechanic - Contributed to the Heat Mechanic Game Mode where the player has to carry a bomb and protect it from the sun, otherwise it can overheat and explode. Also created water objects that can cool off the bomb.
  • Player Lives - Implemented an arcade "player lives" feature for the Special Operations game mode, where players have a limited number of times they can die before failing the mission. Required integration with the normal quest flow and UI elements.
  • Interaction System - Improvements on the interaction system, creating different scoring profiles for new gameplay functionalities (e.g. interacting with teammate; picking up a bomb).
  • Networking - Wrote multiplayer code for the gameplay systems I was in charge of.
  • Exposed C++ functionalities to blueprint nodes through LUA, used by quest and technical designers.
  • UI - Worked closely with UI artists for new HUDs and screens that new gameplay features required. Created a tutorial video for programmers teaching how to code/use the UI framework.


Ganbatte

Ganbatte Cover

~ Steam Page ~ Cats, in space, eating sushi! Ganbatte is a competitive social multiplayer arcade game, where you try to eat as much valuable sushi as you can to reach the highest score. Quick overview of my work on the game:

  • Gameplay implementation - Plate's respawn system, combo system, player interaction, game state...
  • AI - Used Behavior Trees to implement the behavior of NPCs (and adapt it to a multiplayer setting), like the heuristic to follow when choosing the plate to eat, their movement, and social interactions with the player.
  • Networking - Implemented the required network code to allow the game to be played in a multiplayer setting, both for the player and for NPCs.
  • Animation Graphs - Facial states of the cats, including eye blinks and facial moods.
  • UI - Implemented diegetic UI used to convey the game state to the players (scoring, round information, combos, etc).
  • Worked constantly with artists and designers to build the levels, adapting all the 3D models and the animations.
  • Very active on the game's design process through ideas, concepts and game balancing.

Personal Projects

Behavior Tree Plugin for Unity

														
// Simple Demonstration.
[Serializable]
public class BT_Player : BehaviourTree {
  public BT_Player(BB_Player blackboard) : base(blackboard) {
    root =
      new MemSelector(new List {
        new MemSequence(new List {
	      new BTTask_MoveTo(ref blackboard.nextPointVector, 3.0f)
        }, new BlackboardCondition(ref blackboard.heroState, Hero.State.Unprotected, Utils.KEY_QUERY.IS_EQUAL_TO))
      });
  }
}
														
													

My Behavior Tree plugin for the Unity Engine, complete with Blackboards, Composite Nodes, Tasks, Decorators and Behavior Trees. Access the open source repository here.


Magis

Magic Cover

A VR game where the player is a wizard and can shapeshift into other creatures with a variety of abilities, enabling them to solve puzzles. Be a cat to see in the dark, a crow to fly to the skies, a monkey to climb what's in your way, and a hamster to enter tiny holes on the walls!

  • Gameplay - Creature's gameplay (running using the touch controllers, grabbing objects, shapeshift into other creatures), inventory system (with a portal-representation) and scripted events.
  • AI - Used Behavior Trees to program the game's AI.
  • Animation Graphs - Implemented the animation graphs of each creature.
  • Sound - Worked with a sound designer on the setup of the sounds of the game (sound classes, attenuation).

Work History

UNSEEN Tokyo

UNSEEN Tokyo Logo

Senior AI/Gameplay Programmer

November 2025 - Present

Working on Kemuri.

IO Interactive

IO Interactive Logo

Senior AI Programmer

September 2023 - October 2025

Worked on 007 First Light.

Ubisoft Singapore

Ubisoft Logo

AI/Gameplay Programmer

October 2020 - July 2023

Moved to Singapore to experience working on a studio that was the lead studio on a AAA project (Skull and Bones).

Ubisoft Berlin

Ubisoft Logo

Junior Gameplay Programmer

September 2019 - September 2020

Started working at Ubisoft Berlin immediatly after finishing university, through the Ubisoft Graduate Program, which is a worlwide highly competitive program where recent university graduates apply.
Worked on Far Cry 6 throughout my stay there.

Mimicry

Mimicry Logo

Gameplay Programmer

June 2017 - April 2018

My stay at Mimicry started as a summer internship, which became a part-time position while I was studying during my Master's Degree.

Contact Me