SuperTag
Fast‑paced chase‑tag game
SuperTag is a fast‑paced chase‑tag game where players navigate arenas using parkour movement and a grappling hook. As lead programmer I implemented the networking and controller systems and integrated assets into the engine. I built movement mechanics such as wall‑running, climbing, grappling and vaulting, ensuring they felt fluid and responsive. I added multiple game modes including 1v1 and a tutorial, and worked closely with designers to fine‑tune level layouts and gameplay feel. Working on this project with a larger team taught me valuable production workflows and team collaboration skills.
Technical Challenges & Solutions
Advanced Movement Replication
Implemented client-side prediction and server reconciliation for high-speed parkour moves like wall-running and grappling.
Grappling Hook Physics
Designed a custom physics constraint system for the grappling hook to allow dynamic swinging while maintaining network sync.
Highlights
- Implemented networking and controller programming and integrated assets.
- Created parkour movement mechanics: wall‑run, climb, grapple, vault.
- Added multiple game modes (1v1, tutorial).
- Learned large‑team production workflows.
Team
Team: 7 people
View Team Members
- Arthur
- Timothé
- Bastien
- Luana
- Michael Abid
- Kevin
- Matthieu
Project Timeline
In January, I focused heavily on integrating the game with the Node.js back-end server. The game can now communicate reliably with the server and fully leverage the API for player data and online features.
I also built the first iteration of the web front page, along with a basic player statistics page that allows users to view their in-game data.
The first playable map for the Capture the Tower game mode was completed. While the visual art still needs refinement, the technical foundation is solid, and the map system is designed to support easy addition of new maps in the future.
A new in-game menu was implemented. Although still a work in progress, it already enables a smooth and natural flow for starting and playing matches.
Finally, I improved the player controller by revisiting earlier design decisions that were causing gameplay issues. For example, fixing the inability to climb after a wall-run significantly improved movement fluidity and removed several moments that previously felt buggy or inconsistent.
Videos and images will come in a near futures
Implemented a multitude of small visual improvements. I will soon start working on assets to define a new, more cohesive visual identity.
Created a dashboard page for the Matchmaking Server to monitor performance and status. More detailed metrics will be added in the future.
Created a custom Node.js server running on Google Cloud to handle matchmaking without requiring game client updates for queue logic changes. Migrated the previous system to use this server instead of the basic Unreal session search.
Note: The server is shut down when not testing to prevent unintended costs.
Made the game work with steam instead of the basic online system
Steam-style milestone notes: tutorial pacing (earlier obstacles, force slide), orthography fixes, clearer tag range/angle, show round count, stronger hit feedback, map rename, timer comms (10s indicator/sudden death), collision/clipping fixes, emotes, and info channels (UI+audio+PP), plus more external playtests.
Build hiccup (locked file) then upload; broadcast to GD/Prog. How-To sheets shipped; copy/layout tweaks; schedule playtests.
Formalize feature list & bug doc; move bugs → Testing and request verification. Debate particle color vs UI rings for grapple feedback (likely both, exposed params). Iterate UI flows to reduce IP re-entry.
Downward grapple bug report; new Tag logic function returns ‘can tag’, distance, and dot product (1 front/−1 back). Propose render-through-walls for Tagger (vs red ring); align. Queue next tasks: vault decision, grapple anims/graph, grapple point feedback, UI changes, debug, SFX hooks.
Prototype start screen; begin nightly ‘what did you do today?’ check-ins. Log/structure remaining work (controller, vault/camera turn, tag+VFX, crouch, stagger timing). Visual passes continue on maps/UI.
Regular syncs; steady shipping toward playable state.
Add pursuer indicator. Campus proxy kills auto-discovery → manual host IP entry for now. Fix climb on small ledges.
Push functional menu; request default GameMode on maps. Plan Monday network test on ‘la serre’. Menu flow feedback to apply after feature lock.
Teammate ships laser trap with tweakable values; tracked for LD integration.
Movement feels smooth; ship animated vault (swappable; multiple variants supported).
Climb advancing; animations still glitchy.
Finish slide (with anim); rework WallRun BPs so anims integrate smoothly.
Grapple half-working (no lock/tuning yet). Quick build routes menu → dev map.
Pause controller to prototype menu; tune WallRun values (softer feel).
Classic: hours on a problem; fix was one click. Keep momentum.
Movement suite functional; client-side anim replication is the blocker. Vault pass planned next.
Build uploaded (WIP). Debate LAN vs true netcode; stance: ‘ça reste du réseau.’
Add Mixamo character to unblock animation work; confirm same skeleton; keep assets in _Dev.
New launcher build: WallRun ‘works’ (buggy) but replicated; hosting/testing enabled.
Team spins up LD/GD docs and movement ideas (state machine, stamina, wall-run inputs, grapple cooldown). Push on networking despite a Monday Unity rendering deadline.
Project starts; first replicated player movement working.