Sprocket League

Sprocket league is what would probably today be called an “auto-battler”, and sell like hotcakes on the indie games section of Steam, were it in any way polished or even finished. It is probably the largest project I ever care to make in Python, but some of my problems were, in retrospect, self-inflicted.

A screenshot of Sprocket League, showing a text-based terminal interface. On the left is a list of robots and the parts they are comprised of. In the center is a map denoting the locations of the robots. On the right is a message log, showing the actions each robot took each turn.
The Sprocket League TUI. The left bar is the list of combatant robots, the right bar is the message log, and the center is the map, with the first letter of each robot name denoting its location.

Each robot combatant is comprised of parts. The Chassis and Controller are the required frame and brain of the robot. Movers allow mobility. A Generator provides power for other components. Weapons can be used to make attacks when in range and having enough ammo.

Parts and materials are defined in json files. The material a part is made of affects its stats, as well as cost, but I didn’t get around to implementing an economy.