Who Am I?

Hello! I am a game developer with 7+ years worth of experience, I specialize in gameplay programming in Unity, focusing on player mechanics, AI systems, and performance optimization, as well as design, I am looking for more people to work with! When I am not working on my own projects, I help others finish theirs or make completely new ones!

What Do I Use?

Engine: Unity
Languages: C#
Systems: NavMesh
Tools: Blender, VRoid Studio, Trello

What Did I Make?

Beating Heart: A story-driven game with smart AI systems, interactions and logic
a game where player choices affect character behavior and outcomes. The project focuses heavily on AI systems and player interaction mechanics.


Escape From Him: A less complex survival game with basic logic
a game with multiple endings. The project focuses heavily on player interactions as well as combat systems.

How Did I Make It?

Designed and programmed AI behavior systems (NavMesh), fixed multiple issues with logic
Implemented player interaction mechanics, made sure each feature included the other
Built combat / reaction system, optimized update loops to reduce CPU usage
Handled animation transitions and blending (Animator), fixed animation issues

What's My Proof?

Github
AI Needs System (Thirst + Navigation Logic)
This code detects if a character has already arrived near a vending machine then triggers the desired action
Preventing bugs related to timing, AI getting stuck or animation issues

if (!NavAgent.pathPending && NavAgent.remainingDistance <= NavAgent.stoppingDistance && (!NavAgent.hasPath
|| NavAgent.velocity.sqrMagnitude == 0f)) { if (Thirst > 199f && !Distracted && StudentReaction == "" && !talkingscript.isTalking && !Kouji &&
!talkingscript.attack.isKilling && Vector3.Distance(transform.position, Destination.transform.position) < 1f && Destination != null)
{ StopCoroutine(ResetDistractionCoroutine()); reachedradio = false; transform.localRotation = Destination.localRotation; Conversating = false; NearVendingMachine = true;
base.Invoke("ResetThirst", 10f); if (!reachedDestination) { studentAnimator.ResetTrigger(WalkName); studentAnimator.SetTrigger(IdleName);
if (IdleName != AnimationName) { studentAnimator.ResetTrigger(AnimationName); } reachedDestination = true; } } }

How Can You Contact Me?

Email: escapefromhimdev@gmail.com
Discord: ousamadev