Skip to content
Jasper Lammers
← Record

Strategic RPS

A dormant prototype, 2014 to 2019.

In 2014 I started a space strategy game based on rock paper scissors. I wanted to build it from almost nothing: Java, which I didn’t use at work, and my own networking, physics and collision detection.

You send ships through a portal, one at a time. Rock beats scissors, scissors beat paper, paper beats rock. Enemy ships stay blue until you fire on them, so you find out what you’re up against the hard way. Meteors can be occupied and turned into a slow, heavy fourth unit.

In 2018 I dug it up again. The code held up better than I expected, so I kept going and released 13 versions in ten months, starting 7 June 2018. Three colleagues play-tested it in November 2018. In February 2019 I ran 10,000 ships in formation to see if it would hold. It did.

Version 0.13 came out on 4 April 2019. It’s a working prototype, and that’s where it stands.

Under the hood

LanguageJava, with Slick2D and Guava
NetworkingMy own client/server protocol: TCP for the lobby, UDP in the game. Every client runs the same deterministic simulation from the same commands.
SimulationMy own fixed-point math and physics
Collision detectionMy own quadtree

Media

Screenshots from a multiplayer test session, November 2018.

A group of ships crossing a dark starfield, with a green portal and meteors below

A V-shaped formation of ships next to meteors, with a green portal on the left

A zoomed-out view of the map: meteors and green units scattered over a starfield

A fight around a meteor marked with a red circle, with ships and a green portal nearby

A large formation of ships attacking a meteor inside a red circle