You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Modded Gamers 8222b5ffe5
add all GH Actions work
4 years ago
.github/workflows add all GH Actions work 4 years ago
.vscode Initial commit 4 years ago
artwork Further firefox fixes 4 years ago
electron Prepare standalone build 4 years ago
gulp Merge branch 'master' of https://github.com/tobspr/shapez.io 4 years ago
res Move videos to static fileserver to avoid unnecessary load 4 years ago
res_built Add storage building 4 years ago
res_raw Add more tutorial videos 4 years ago
src Merge branch 'master' of https://github.com/tobspr/shapez.io into gh-actions 4 years ago
tools/shape_generator Fix splitters 4 years ago
translations - Corrected a typo in english file 4 years ago
.eslintignore add all GH Actions work 4 years ago
.eslintrc.yml add all GH Actions work 4 years ago
.gitattributes Track psd files in LFS 4 years ago
.gitignore Prepare standalone build 4 years ago
.prettierrc.yaml Initial commit 4 years ago
CONTRIBUTORS Add artwork folder and list of contributors 4 years ago
LICENSE Update license 4 years ago
README.md Make build setup clearer 4 years ago
buildutils.js Initial commit 4 years ago
package.json add all GH Actions work 4 years ago
shapez.code-workspace Initial commit 4 years ago
version 1.0.4 update 4 years ago
yarn.lock add all GH Actions work 4 years ago

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.

Playing

You can already play it here.

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 Yarn and Node.js 10
  • Run yarn in the root folder, then run yarn in the gulp/ folder
  • Cd into gulp and run 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.

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 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.