---
title: "Finalmouse — Aim Gods"
scope: "Lead Game Developer — from napkin to launch"
---

# Finalmouse — Aim Gods

Lead Game Developer — from napkin to launch

## Receipts

- Shipped in 14 months (competitive multiplayer FPS — UE4/C++, shipped December 2020)
- 8 engineers, 5 time zones (architecture, tasking, and integration run as one distributed machine)

## The challenge

A hardware company's first game: a competitive, objective-based multiplayer FPS with global reach, irregular access patterns, and no existing studio infrastructure — everything from the game to the services behind it had to be architected from zero, and shipped fast.

## The decisions — and why

**Decision:** Amazon GameLift dedicated servers + a fully serverless AWS backend (Cognito, Lambda, API Gateway, DynamoDB).
**Why:** A launch-spike game with irregular global access patterns punishes fixed capacity — serverless made scalability, availability, and cost one decision instead of three.
**Tradeoff accepted:** [PLACEHOLDER — authoring session]

**Decision:** Fix the UE4 engine's websockets library upstream (requests truncated at 300 characters, breaking authenticated WSS) and submit the fix to Epic — rather than working around it.
**Why:** Authenticated server communication was load-bearing; a workaround would have been a permanent liability in someone else's engine bug.
**Tradeoff accepted:** [PLACEHOLDER — authoring session]

**Decision:** Establish code standards, review process, and all sprint coordination as lead — for 8 engineers across 5 time zones.
**Why:** A distributed team ships on process or doesn't ship; the 14-month clock had no room for integration chaos.
**Tradeoff accepted:** [PLACEHOLDER — authoring session]

## The outcome — with numbers

- Shipped December 2020 — 14 months from architecture to launch
- Anti-cheat in production (Easy Anti-Cheat: Hydra, Cerberus, Scout)
- Custom chat and party systems; JWT-authorized UE4 HTTP wrapper with token refresh for AWS communication
- The websockets engine fix accepted for release in future UE4 versions
