1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2024-10-27 20:34:29 +00:00
Go to file
2020-05-24 18:55:58 +02:00
.vscode
artwork Update artwork 2020-05-23 16:57:51 +02:00
electron
gulp V 1.0.1 2020-05-21 13:55:45 +02:00
res Move videos to static fileserver to avoid unnecessary load 2020-05-23 14:31:49 +02:00
res_built
res_raw Add more tutorial videos 2020-05-23 13:02:02 +02:00
src Fix eslint errors 2020-05-24 18:55:58 +02:00
tools/shape_generator
translations Allow to disable hints, add changelog 2020-05-23 15:04:55 +02:00
.gitattributes Track psd files in LFS 2020-05-23 13:04:16 +02:00
.gitignore
.prettierrc.yaml
buildutils.js
CONTRIBUTORS
LICENSE Update license 2020-05-21 15:08:30 +02:00
package.json
README.md
shapez.code-workspace
version Bump version 2020-05-24 17:30:21 +02:00
yarn.lock

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 on https://shapez.io

Building

  • Make sure ffmpeg is on your path
  • Install yarn and node 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 give you a debug build with several debugging flags enabled. If you want to disable them, check 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 es6 features are used but most of them are too slow, especially when polyfilled. For example, .forEach is only used within non-critical loops since its slower than a plain for loop.

Assets

For most assets I use 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 you want to contribute assets, let me know and I might compile it for you.