SuperTag

Fast‑paced chase‑tag game

Type Student Project
Role Lead Programmer
Duration 6 months
Team Size Previously 7
Platform PC (Multiplayer)
Players 1v1
Mechanics 4 (Run, Vault, Climb, Grapple)
Actual Team Size 1

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.
Tags: Unreal Engine · Networking

Team

Team: 7 people

View Team Members
  • Arthur
  • Timothé
  • Bastien
  • Luana
  • Michael Abid
  • Kevin
  • Matthieu

Project Timeline

January Works

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

https://supertag.michaelabid.com/
https://supertag.michaelabid.com/stats.php
https://supertag-680958624519.europe-west1.run.app/stats/
Started working on visual improvements

Implemented a multitude of small visual improvements. I will soon start working on assets to define a new, more cohesive visual identity.

Server "Health" Page

Created a dashboard page for the Matchmaking Server to monitor performance and status. More detailed metrics will be added in the future.

Custom Matchmaking System

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.

https://supertag-680958624519.europe-west1.run.app/stats/
Steam Compatibility

Made the game work with steam instead of the basic online system

Milestone 4 feedback → polish backlog

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 upload & playtest prep (Jan 22–23)

Build hiccup (locked file) then upload; broadcast to GD/Prog. How-To sheets shipped; copy/layout tweaks; schedule playtests.

Feature list & bug doc; feedback iteration (Jan 17–20)

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.

Tag logic rework (Jan 14–16)

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.

Start screen + nightly accountability (Jan 3–5)

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.

Routine syncs (Dec 15 & 20)

Regular syncs; steady shipping toward playable state.

Pursuer indicator + IP discovery workaround (Dec 12–13)

Add pursuer indicator. Campus proxy kills auto-discovery → manual host IP entry for now. Fix climb on small ledges.

Functional menu + network test plan (Dec 10–11)

Push functional menu; request default GameMode on maps. Plan Monday network test on ‘la serre’. Menu flow feedback to apply after feature lock.

Laser trap (teammate) + LD tracking

Teammate ships laser trap with tweakable values; tracked for LD integration.

Smoother feel + animated vault (Dec 2–6)

Movement feels smooth; ship animated vault (swappable; multiple variants supported).

Climb progress

Climb advancing; animations still glitchy.

Daily sync + slide anim; WallRun BP rework (Nov 23–25)

Finish slide (with anim); rework WallRun BPs so anims integrate smoothly.

Grapple ~50% + quick build

Grapple half-working (no lock/tuning yet). Quick build routes menu → dev map.

Stylish menu prototype; soften WallRun

Pause controller to prototype menu; tune WallRun values (softer feel).

Blocker = one-click

Classic: hours on a problem; fix was one click. Keep momentum.

WallRun/WallJump/Slide functional (Nov 8–10)

Movement suite functional; client-side anim replication is the blocker. Vault pass planned next.

First ‘Build works!’ + netcode stance

Build uploaded (WIP). Debate LAN vs true netcode; stance: ‘ça reste du réseau.’

Anim unblocked with Mixamo

Add Mixamo character to unblock animation work; confirm same skeleton; keep assets in _Dev.

Launcher build; wall-run replicated

New launcher build: WallRun ‘works’ (buggy) but replicated; hosting/testing enabled.

Docs & movement ideation (Oct 20–22)

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.

Kickoff & first replicated movement

Project starts; first replicated player movement working.