Astrocat
A real-time multiplayer vertical platformer where players race their cats to the moon.
- Year
- 2026
- Type
- Apple Platforms · Game Engineering
- Focus
- Game systems, multiplayer, physics
- Stack
- SpriteKit · GameplayKit · GameKit · SwiftUI
On this page
Overview
Astrocat is a real-time multiplayer racing game built with a team at Apple Developer Academy. Players move upward through a vertical platforming level and compete to become the first cat to reach the moon.
It pushed me outside the web and app-development problems I was used to. A game that should feel simple to play required physics, input, architecture, synchronization, level generation, and visual feedback to work together.
Physics that changes how the game feels
Concepts such as movement, velocity, collision, gravity, and force stopped being abstract once small changes immediately affected how the character felt to control. The project made physics part of interaction design: technically correct movement was not enough if the result did not feel responsive or fun.
Organizing game behavior with ECS
Astrocat introduced me to Entity-Component-System architecture. Separating entities from reusable components and systems made the growing set of game behaviors easier to reason about than placing every responsibility inside individual game objects.
Random, but still playable
Randomizing the level sounded simple until fairness became a constraint. The generated map needed enough variation to make each race unpredictable, while still ensuring that the route remained possible to complete. That turned random generation into a balancing problem rather than arbitrary placement.
Real-time multiplayer synchronization
Using GameKit introduced a different class of failure from normal client-server applications. Player state and game events had to stay synchronized across devices while the game still felt responsive locally. It gave me a practical introduction to the tradeoffs behind real-time multiplayer rather than treating networking as a request-response flow.
Astrocat was also my first experience using TestFlight to distribute and test an iOS game before release.
Engineering Takeaways
Astrocat made me appreciate how much engineering sits behind something that should feel effortless to the player. Physics, architecture, synchronization, and level design disappear when they work well — and become immediately visible when they do not.
This was built with a team. Individual ownership of specific subsystems is not claimed here.
