explaingit

tobspr-games/shapez.io

6,876JavaScriptAudience · developerComplexity · 3/5Setup · moderate

TLDR

Open source factory-building game where you design automated production lines to cut, rotate, and paint geometric shapes, playable in a browser.

Mindmap

mindmap
  root((shapez.io))
    What it does
      Factory-building game
      Shape manipulation
      Automated production
    Tech Stack
      JavaScript ES5
      Node.js and Yarn
      Gulp build tool
    Modding
      Mod hosting site
      Sample mods included
      Translation support
    Status
      Original v1 archived
      Community fork active
      shapez 2 on Steam
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build the game locally and explore the codebase to learn how a JavaScript game engine works.

USE CASE 2

Create a custom mod to add new shape types or mechanics and share it on the mod hosting site.

USE CASE 3

Study the production-line game loop as a reference when designing your own factory or puzzle game.

USE CASE 4

Contribute translations or bug fixes to the community-run fork that continues active development.

Tech stack

JavaScriptNode.jsYarnGulpJavaffmpeg

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Node.js, Yarn, Java for texture packing, and ffmpeg before running the Gulp build.

No license information was mentioned in the explanation.

In plain English

Shapez is an open source base-building game available on Steam and playable in a browser. The goal of the game is to produce shapes by cutting, rotating, merging, and painting pieces of geometric shapes. The gameplay is broadly in the style of Factorio, where players design and expand automated production lines, though shapez focuses entirely on shape manipulation rather than resource extraction or combat. The source code in this repository is for the original shapez (version 1). The developers have since released shapez 2 on Steam, which adds multi-layer factories, trains, fluids, and better performance. This repository is no longer actively maintained, and contributors are directed to the community-run fork for ongoing work on the original version. For anyone who wants to build the game locally, the process requires Node.js, Yarn, Java (for a texture packing step), and ffmpeg. After installing dependencies, a build tool called Gulp compiles and opens the game in a browser. The default build includes debugging features that can be turned off by editing a config file. The game supports mods, which can be found on a dedicated mod hosting site. Documentation and sample mods are included in the repository to help people create their own. Translation support exists as well, though the developers note they are not currently reviewing new translation submissions. The underlying engine was adapted from an earlier game by the same studio and is written in JavaScript using ES5 with selective ES2015 additions. The developers note that certain modern array methods were avoided in performance-critical code due to speed differences. Game artwork is stored in a separate repository and is automatically compiled into texture atlases during the build process.

Copy-paste prompts

Prompt 1
I'm modding shapez.io. Show me the minimum code to create a new building that takes two shapes as input and outputs a merged shape.
Prompt 2
Walk me through how shapez.io's Gulp build pipeline works and how I can add a custom build step to bundle a new asset folder.
Prompt 3
I want to fork shapez.io and add a new game mechanic. Explain the game loop architecture and where I should hook in a new production step.
Prompt 4
How do I disable the debug overlay in shapez.io so the browser build runs without debugging features? Which config file do I edit?
Open on GitHub → Explain another repo

← tobspr-games on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.