Go to file
Mascali 13714e889f
CI / CI (push) Failing after 7m33s Details
CI / yaml-lint (push) Failing after 3s Details
apt -y
2024-03-26 01:38:46 +01:00
.github/workflows apt -y 2024-03-26 01:38:46 +01:00
.vscode Merge base-*.yaml & fix YAML lint errors and warnings. (#918) 2020-10-31 10:20:00 +01:00
electron Update favicon and improve loading time 2022-06-16 09:58:12 +02:00
electron_gog Support for GOG 2022-07-18 14:18:02 +02:00
electron_wegame Update favicon and improve loading time 2022-06-16 09:58:12 +02:00
gulp Disable GA on shapez for better privacy 2022-10-24 09:54:36 +02:00
mod_examples Rebranding and minor polishing, part 2 2022-06-02 14:06:33 +02:00
res Update repository links, add patreon link 2022-10-22 16:14:54 +02:00
res_raw v1.5.5 - Rework tutorial and polishing 2022-06-20 10:21:13 +02:00
src Fixed dev and devStandalone script (#1503) 2022-12-29 09:57:34 +01:00
translations Add shapez 2 hint to the game 2022-10-09 13:09:31 +02:00
.editorconfig Added EditorConfig (#778) 2020-10-06 17:28:17 +02:00
.eslintignore add all GH Actions work 2020-05-27 08:17:25 -04:00
.eslintrc.yml Fixed dev and devStandalone script (#1503) 2022-12-29 09:57:34 +01:00
.gitignore Minor adjustments 2022-06-06 15:48:21 +02:00
.gitpod.Dockerfile simplify code contributions + reviews by fully automating the dev setup with Gitpod. (#824) 2020-10-11 08:29:26 +02:00
.gitpod.yml simplify code contributions + reviews by fully automating the dev setup with Gitpod. (#824) 2020-10-11 08:29:26 +02:00
.prettierrc.yaml Update github actions 2020-05-28 09:37:57 +02:00
.travis.yml Update travis 2020-07-19 11:02:37 +02:00
.yamllint Fix yaml errors in CI (#757) 2020-10-04 10:38:02 +02:00
CONTRIBUTING.md Add CLA 2022-07-19 14:52:41 +02:00
CONTRIBUTORS Add artwork folder and list of contributors 2020-05-20 13:50:20 +02:00
Dockerfile Fix Dockerfile (#1409) 2022-04-04 08:56:29 +02:00
LICENSE Update license 2020-05-21 15:08:30 +02:00
README.md Update repository links, add patreon link 2022-10-22 16:14:54 +02:00
package.json Fixed dev and devStandalone script (#1503) 2022-12-29 09:57:34 +01:00
shapez.code-workspace Allow to cycle variants backwards with SHIFT + T, other fixes and misc stuff 2020-12-07 18:30:33 +01:00
sync-translations.js Update translations 2021-03-12 11:18:43 +01:00
version Add shapez 2 hint to the game 2022-10-09 13:09:31 +02:00
yarn.lock Remove events connector 2022-06-28 10:41:46 +02:00

README.md

NEW: Shapez 2!

We are currently working on a successor to shapez, with 3D Graphics, Exploration, Layers, Mass transport, New Shape Mechanics, Research and a lot more! Be sure to check it out:

shapez 2 Announcement

shapez

shapez Logo
This is the source code for shapez, an open source base building game inspired by Factorio. Your goal is to produce shapes by cutting, rotating, merging and painting parts of shapes.

Reporting issues, suggestions, feedback, bugs

  1. Ask in #bugs / #feedback / #questions on the Official Discord if you are not entirely sure if it's a bug
  2. Check out the trello board: https://trello.com/b/ISQncpJP/shapezio
  3. See if it's already there - If so, vote for it, done. I will see it. (You have to be signed in on trello)
  4. If not, check if it's already reported here: https://github.com/tobspr-games/shapez.io/issues
  5. If not, file a new issue here: https://github.com/tobspr-games/shapez.io/issues/new
  6. I will then have a look (This can take days or weeks) and convert it to trello, and comment with the link. You can then vote there ;)

Building

  • Make sure ffmpeg is on your path
  • Install Node.js 16 and Yarn
  • Install Java (required for texture packer)
  • Run yarn in the root folder
  • cd into gulp folder
  • Run yarn and then yarn gulp - it should now open in your browser

Notice: This will produce a debug build with several debugging flags enabled. If you want to disable them, modify src/js/core/config.js.

Creating Mods

Mods can be found here. The documentation for creating mods can be found here, including a bunch of sample mods.

Build Online with one-click setup

You can use Gitpod (an Online Open Source VS Code-like IDE which is free for Open Source) for working on issues and making PRs to this project. With a single click it will start a workspace and automatically:

  • clone the shapez.io repo.
  • install all of the dependencies.
  • start gulp in gulp/ directory.

Open in Gitpod

Helping translate

Please checkout the Translations readme.

Contributing

I will only accept pull requests which add a benefit to a large portion of the player base. If the feature is useful but only to a fraction of players, or is controversial, I recommend making a mod instead.

If you want to add a new feature or in generally contribute I recommend to get in touch on Discord in advance, which largely increases the chance of the PR to get merged:

discord logo

Code

The game is based on a custom engine which itself is based on the YORG.io 3 game engine (Actually it shares almost the same core). The code within the engine is relatively clean with some code for the actual game on top being hacky.

This project is based on ES5 (If I would develop it again, I would definitely use TypeScript). Some ES2015 features are used but most of them are too slow, especially when polyfilled. For example, Array.prototype.forEach is only used within non-critical loops since its slower than a plain for loop.

Assets

You can find most assets here.

All assets will be automatically rebuilt into the atlas once changed (Thanks to dengr1065!)

shapez Screenshot

Check out our other games!

tobspr Games