← All workGame

Call of Honor

A mobile-first FPS built in Unreal Engine 5 and C++. Drag to aim, tap to fire, and survive waves of enemies that get faster and smarter the longer you stay alive — with AI that takes cover, a self-tuning difficulty curve, and a fully left-handed-friendly UI.

Role

Developer

Year

2024

Built with
Unreal Engine 5
C++
AI/NavMesh
Mobile
FPS
Mockup
Gameplay video
Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 5
Screenshot 6
Screenshot 7

Call of Honor Revamped is a wave-survival FPS designed from the ground up for touchscreens. The whole control scheme is built for a phone: raw touch input drives the camera with separate sensitivity for hipfire and aiming, and every action, fire, aim, reload, grenade, healthpack, airstrike, is an on-screen button. Crucially, the entire UI exists twice, mirrored for left-handed players, with paired button bindings for every callback. The game instance handles background and foreground transitions explicitly, so a session survives a phone call or a notification.

The enemies are the heart of it. Using Unreal's navigation system, ranged enemies break off and claim an unoccupied cover position, reserving the slot with a boolean so two enemies never pick the same spot, while melee units rush the player directly. Enemies strafe between in-sight firing positions, randomise their attack timing, and roll for accuracy and critical hits; a portion of melee units are poisonous and apply a damage-over-time effect through a post-process pass. The spawner runs a weighted probability across enemy types, then shrinks its own spawn interval and increases enemy movement speed every cycle, so difficulty isn't a slider, it's a curve that tightens the longer you survive.

Combat has real texture: headshots trigger a brief slow-motion, and chaining ten in a row earns an airstrike, complete with missile spawn transforms, screen shake, and a fog-and-fire post-process pass. Civilians spawn alongside enemies and punish careless fire. Best time, kills, and headshots persist across sessions. The toolbox also includes a live night-vision mode that swaps enemy materials, a god mode, weighted critical hits per weapon, grenade physics, and HUD post-process volumes that swap based on health thresholds.

Key challenges

The AI cover system was the most demanding piece. Getting enemies to navigate to cover, reserve a position so they don't clump on the same spot, and behave differently by type (rush versus take-cover-and-fire) is the kind of work that separates a real enemy from a target dummy, and doing it on a mobile thermal and performance budget added a constant pressure to keep it cheap. The self-tuning difficulty curve was the second: balancing a spawner that ramps interval and speed every cycle so it stays survivable-but-tense, rather than trivial early and impossible later, took careful tuning of the weighted probabilities and ramp rates. The left-handed UI mirroring, while less glamorous, is the kind of production-quality detail most projects skip. Building every interactive element twice and keeping both bindings in sync is unglamorous work that signals real shipping discipline.