Open-source project
tobspr-games/shapez.io avatar
tobspr-games/shapez.io

shapez.io: the open source factory game you can build from source

shapez is an open source base building game on Steam inspired by factorio!

6,979 stars1,301 forksJavaScriptGPL-3.0

At a glance

What is it?
shapez is a GPL-3.0 base building game written in JavaScript, with a custom engine and a public mod API. The repository is now frozen in favour of shapez 2, so here is what the source still gives you and where it stops being the right tool.
Who is it for?
Adopt shapez.io as a learning codebase or as a base for mods and translations if you are comfortable with Node.js 16, Yarn and a Gulp build; the README points contributors to the Community Edition and to shapez 2 for ongoing work. Do not adopt it if you need a maintained engine, a TypeScript codebase, or an officially supported mod distribution channel, since the README says the repository is no longer actively maintained and new translations are not being reviewed.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 23 days ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What shapez.io actually is, and who the source is for

shapez is a base building game in which you produce shapes by cutting, rotating, merging and painting parts of shapes, according to the README. It is inspired by Factorio, and it ships on Steam and as an online demo. The repository is the source of the game, not a library you import into another application. That distinction matters: there is no npm package to install, no API endpoint to call, and the README's own build instructions end with a browser window opening on your machine.

The audience is therefore narrower than the store page suggests. If you want to play, the README points to Steam and to shapez.io. If you want to read a working 2D factory game, extend it, or build a mod against it, the source is the point. The code is ES5 by design. The README states that the project is based on ES5 and that some ES2015 features are used but most are too slow, especially when polyfilled, giving Array.prototype.forEach as an example that is only used in non-critical loops. The same section admits the game code on top of the engine is hacky while the engine itself is relatively clean. That is an unusually candid description of a codebase, and it tells you where to look first.

The engine, the Gulp build and where the data flows

The game runs on a custom engine derived from the YORG.io 3 game engine, and the README says the two share almost the same core. Everything else is assembled by Gulp. The repository layout shows a gulp folder alongside src, res, res_raw, translations and three Electron folders (electron, electron_gog, electron_wegame), which is how the same codebase is packaged for the web, for Steam and for other storefronts.

Assets are a separate pipeline. The README points to a separate artwork repository and notes that assets are automatically rebuilt into an atlas once changed. Texture packing is why Java is a build prerequisite. On the code side, package.json exposes the entry points you would actually use: dev runs the Gulp task, lint runs ESLint over src/js, and buildTypes emits declarations from src/js/application.js. Translations are synced by a standalone script, sync-translations.js, rather than by the build itself. Mods are documented in mod_examples/ with sample mods, and the README sends mod hosting to shapez.mod.io. If you are tracing how a shape moves through the game, the path is src/js into the Gulp pipeline, with res_raw feeding the atlas and translations loaded from the translations folder.

Building shapez.io from source on your machine

The README lists the prerequisites plainly: ffmpeg on your path, Node.js 16 and Yarn, plus Java for the texture packer. The Dockerfile pins the same environment with FROM node:16 and installs ffmpeg and default-jre, so the container is a fair reference for what the build expects. It exposes ports 3001 and 3005 and sets the entrypoint to yarn gulp inside the gulp folder.

Start with the root dependencies:

bash
yarn

Then move into the gulp folder, install its own dependencies, and run the build task. The README says this should open the game in your browser:

bash
cd gulp
yarn
yarn gulp

The README warns that this produces a debug build with several debugging flags enabled, and that you can disable them by modifying src/js/core/config.js. Check that file before you treat any local build as representative. If you would rather not install Node.js 16, Yarn, ffmpeg and a JRE by hand, the Dockerfile is the shortest path to a reproducible environment; it copies res, src, translations and the Electron folder, then runs the same Gulp entrypoint.

Mods, translations and the maintenance boundary

The most important fact about this repository is in the README: it is no longer actively maintained, and development has moved to shapez 2. The last push to the repository was on 2026-09-07, but the README's own statement and the release history tell the practical story. The most recent release listed is 1.5.1 from 2022-03-05, followed by 1.4.3 in 2021 and 1.3.0 in 2021. A repository can receive commits while its game releases have stopped, and that is the situation here.

The README redirects contributors to the Community Edition for ongoing development. It also says that new translations are not currently being reviewed, even though the translations README is linked. Mods still have a documented path through mod_examples/ and are distributed via shapez.mod.io, but the README does not describe any compatibility guarantee between mods and future versions, and there are no future versions to speak of. If your plan depends on upstream fixes, review of your pull request, or a stable mod ABI, this repository is the wrong foundation. The Community Edition is where the README sends that work.

shapez.io compared with Factorio, and with its own sequel

The README calls shapez a base building game inspired by Factorio, and the two differ in kind rather than degree. Factorio is a commercial, closed-source game with a Lua modding layer; shapez.io is GPL-3.0 JavaScript with its source in this repository and a custom engine. If your goal is to read and modify the game itself, Factorio does not offer that at all, and shapez.io does. If your goal is a long-lived modding ecosystem with an actively maintained runtime, the trade goes the other way.

The more direct alternative is shapez 2, which the README says is now available on Steam and adds multi-layer factories, better performance, trains and fluids. That is a different product with a different codebase, and the README treats it as the successor, not as a branch of this repository. Choosing between them is mostly a question of whether you want to work on the game or play it. For source-level work, the third option is the Community Edition, which the README names as the place for ongoing development of the first game.

Licence and the cost of keeping a fork alive

The repository is licensed GPL-3.0. Note that package.json carries "license": "MIT", which contradicts the LICENSE file and the repository metadata. If you are forking or redistributing, resolve that discrepancy with the project's own LICENSE file rather than with the package manifest, and take proper advice if the distinction matters to you. This is a description of what the files say, not legal advice.

Upgrade cost is unusual here because there is little to upgrade to. The release list stops at 1.5.1 in 2022, the README says the repository is no longer actively maintained, and contributions are redirected to the Community Edition. A fork therefore inherits the whole maintenance burden: Node.js 16, Yarn, ffmpeg, a JRE for the texture packer, the Gulp pipeline, and an ES5 codebase the README itself says it would write in TypeScript if it were started again. The build also produces a debug build by default, so anything you ship needs the flags in src/js/core/config.js reviewed first. Budget for that work before you commit to a fork.

Editorial conclusion

Adopt shapez.io as a learning codebase or as a base for mods and translations if you are comfortable with Node.js 16, Yarn and a Gulp build; the README points contributors to the Community Edition and to shapez 2 for ongoing work. Do not adopt it if you need a maintained engine, a TypeScript codebase, or an officially supported mod distribution channel, since the README says the repository is no longer actively maintained and new translations are not being reviewed. Verify first that ffmpeg and a Java runtime are on your path, because the build chain needs both, and check src/js/core/config.js before shipping anything, since the default build enables debugging flags.

Frequently asked questions

What is shapez.io?

It is an open source base building game inspired by Factorio, in which you produce shapes by cutting, rotating, merging and painting parts of shapes. The source is written in JavaScript on a custom engine derived from the YORG.io 3 engine, and it is licensed GPL-3.0.

Is shapez.io free to play?

The README links to an online demo at shapez.io and to Steam, but it does not state a price, so the repository does not settle this. The source code itself is available under GPL-3.0.

How much does shapez cost?

The README does not list a price. It points to the Steam page and to an online demo, so check the store listing for current pricing.

How do I add mods to shapez.io?

The README says mods can be found at shapez.mod.io, and that documentation for creating them lives in the mod_examples/ folder, which includes sample mods. It does not describe an in-game mod installation flow.

Is shapez.io an infinite game?

The README does not describe the game as infinite or state an end condition. It describes the goal as producing shapes by cutting, rotating, merging and painting parts of shapes.

Is shapez 2 still in development?

The README states that shapez 2 is now available on Steam and that development has moved over to it from this repository. It lists multi-layer factories, better performance, trains and fluids as additions.

Official sources

  1. License: GPL-3.0
  2. Project website
  3. README
  4. Releases
  5. tobspr-games/shapez.io on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/tobspr-games-shapez-io.svg)](https://hysenlabs.com/projects/tobspr-games-shapez-io)