This repository has been archived on 2021-02-20. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
tobspr 6ff26cacad Update travis 2020-07-19 11:02:37 +02:00
.github/workflows Update github actions 2020-05-28 09:37:57 +02:00
.vscode Add prettier as recommended extension to workspace 2020-06-13 18:12:16 +03:00
artwork Move artwork to seperate repository 2020-07-05 18:03:53 +02:00
electron add missing macos icon 2020-06-15 02:19:39 +02:00
gulp Further mac os fixes 2020-07-06 15:29:17 +02:00
res Fix lots of bugs, add wire splitters / mergers 2020-07-06 21:33:37 +02:00
res_built Allow color inverter to process colors as well 2020-07-07 09:06:17 +02:00
res_raw Allow color inverter to process colors as well 2020-07-07 09:06:17 +02:00
src Fix build failing 2020-07-19 09:19:42 +02:00
translations Fix build failing 2020-07-19 09:19:42 +02:00
.eslintignore add all GH Actions work 2020-05-27 08:17:25 -04:00
.eslintrc.yml Update github actions 2020-05-28 09:37:57 +02:00
.gitattributes Track psd files in LFS 2020-05-23 13:04:16 +02:00
.gitignore updated the tier 2 underground belt tutorial icon 2020-06-21 20:42:01 -05: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
CONTRIBUTORS Add artwork folder and list of contributors 2020-05-20 13:50:20 +02:00
LICENSE Update license 2020-05-21 15:08:30 +02:00
README.md Update README.md 2020-07-18 20:40:40 +02:00
package.json Fix yarn dev command 2020-06-13 18:12:37 +03:00
shapez.code-workspace Initial support for blueprints (Buggy) 2020-05-27 14:30:59 +02:00
sync-translations.js Update translations to latest version 2020-07-07 13:34:49 +02:00
version Fix multiple issues regarding saving / restoring games 2020-07-05 16:56:01 +02:00
yarn.lock Add tool to sync translations 2020-06-12 11:52:21 +02:00

README.md

shapez.io

shapez.io Logo

This is the source code for shapez.io, 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 etc.
  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/shapez.io/issues
  5. If not, file a new issue here: https://github.com/tobspr/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 git git lfs extension is on your path
  • Run git lfs pull to download sound assets
  • Make sure ffmpeg is on your path
  • Install Node.js and Yarn
  • 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 config.js.

Helping translate

Please checkout the Translations readme.

Contributing

Since this game is in the more or less early development, I will only accept pull requests which add an immediate benefit. Please understand that low quality PR's might be closed by me with a short comment explaining why.

If you want to add a new building, please understand that I can not simply add every building to the game! I recommend to talk to me before implementing anything, to make sure its actually useful. Otherwise there is a high chance of your PR not getting merged.

If you want to add a new feature or in generally contribute I recommend to get in touch with me on Discord:

discord logo

Code

The game is based on a custom engine which itself is based on the YORG.io 3 game egine (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. 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

For most assets I use Adobe Photoshop, you can find them in assets/.

You will need a Texture Packer license in order to regenerate the atlas. If you don't have one but want to contribute assets, let me know and I might compile it for you. I'm currently switching to an open source solution but I can't give an estimate when thats done.

shapez.io Screenshot