Game · In development · Nov. 2021 – present

SuperTag

Unreal Engine / C++ – Multiplayer chase-tag

  • Unreal Engine
  • C++
  • Networking
  • Node.js
SuperTag preview

SuperTag is a fast‑paced chase‑tag game where players navigate arenas using parkour movement and a grappling hook. As the main gameplay programmer, I designed modular movement mechanics (wall-run, climb, grapple) using component-based logic to ensure systems were reusable. I implemented basic server-authoritative gameplay features using Unreal replication and worked with RPCs to sync high-speed movement. I integrated assets and fine-tuned the character controller to ensure fluid navigation. Collaborating with a large team, I iterated on mechanics based on playtests and design feedback, ensuring the gameplay felt responsive and balanced. Since late 2025 I have been building its online layer: Steam online support, a custom Node.js matchmaking server on Google Cloud that changes queue logic without a client update, and a health dashboard to monitor it.

1v1Players
4Mechanics: run, vault, climb, grapple

Key systems

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.

What I did

  • Designed modular movement mechanics (wall-run, climb, grapple).
  • Implemented server-authoritative features using Unreal replication.
  • Ensured gameplay systems were reusable and adjustable.
  • Iterated on mechanics based on playtests and feedback.

Dev log 25

  1. 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.

  2. 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.

  3. 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.

    supertag-680958624519.europe-west1.run.app ↗
  4. Steam Compatibility

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

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. Routine syncs (Dec 15 & 20)

    Regular syncs; steady shipping toward playable state.

  11. 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.

  12. 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.

  13. Laser trap (teammate) + LD tracking

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

  14. Smoother feel + animated vault (Dec 2–6)

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

  15. Climb progress

    Climb advancing; animations still glitchy.

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

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

  17. Grapple ~50% + quick build

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

  18. Stylish menu prototype; soften WallRun

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

  19. Blocker = one-click

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

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

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

  21. First ‘Build works!’ + netcode stance

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

  22. Anim unblocked with Mixamo

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

  23. Launcher build; wall-run replicated

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

  24. 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.

  25. Kickoff & first replicated movement

    Project starts; first replicated player movement working.

Team 07

  • ArthurProducer & Level Designer
  • TimothéCo-Producer & UI/UX Designer
  • BastienController Designer & Level Designer
  • LuanaSound Designer
  • Michael AbidLead Programmer: Controller & Network
  • KevinProgrammer: Integration & LD elements
  • MatthieuCommunity Manager & Benchmarking
Next project Asterix VR