2020-05-09 14:45:23 +00:00
# shapez.io
2020-05-09 14:52:01 +00:00
2020-05-14 07:37:11 +00:00
< img src = "https://i.imgur.com/Y5Z2iqQ.png" alt = "shapez.io Logo" >
2020-05-12 07:09:23 +00:00
2020-05-26 16:33:37 +00:00
This is the source code for shapez.io, an open source base building game inspired by Factorio.
2020-05-09 14:52:01 +00:00
Your goal is to produce shapes by cutting, rotating, merging and painting parts of shapes.
2020-05-31 06:15:07 +00:00
- [Trello Board & Roadmap ](https://trello.com/b/ISQncpJP/shapezio )
- [Free web version ](https://shapez.io )
- [itch.io Page ](https://tobspr.itch.io/shapezio )
- [Steam Page ](https://steam.shapez.io )
- [Official Discord ](https://discord.com/invite/HN7EVzV ) < - _Highly recommended to join!_
2020-05-09 14:52:01 +00:00
## Building
2020-05-26 18:48:23 +00:00
- Make sure git `git lfs` extension is on your path
- Run `git lfs pull` to download sound assets
2020-05-26 16:33:37 +00:00
- Make sure `ffmpeg` is on your path
2020-06-13 16:00:25 +00:00
- Install Node.js and Yarn
2020-05-09 15:28:05 +00:00
- Run `yarn` in the root folder, then run `yarn` in the `gulp/` folder
2020-05-26 16:33:37 +00:00
- Cd into `gulp` and run `yarn gulp` - it should now open in your browser
2020-05-09 14:52:01 +00:00
2020-07-01 08:15:19 +00:00
**Notice**: This will produce a debug build with several debugging flags enabled. If you want to disable them, modify `config.js` .
2020-07-01 11:50:35 +00:00
## Mac building with Windows
2020-07-03 10:35:10 +00:00
- Execute the regular build steps as admin
2020-06-30 21:30:01 +00:00
- Go into 'tmp_standalone_files' folder with file explorer and navigate into shapez.io-standalone-darwin-x64 or x32 folder
- Navigate into shapez.io-standalone.app/Contents/Frameworks folder
2020-07-03 10:35:10 +00:00
- This needs to be done after every rebuild or update
2020-06-30 21:30:01 +00:00
- Do this for every .framework folder
2020-07-04 16:05:08 +00:00
- Step 1: Delete everything in .framework folder except 'Versions' folder.
2020-06-30 21:30:01 +00:00
- Step 2: Navigate into .framework/Versions/A folder
- Step 3: Copy everything from there into .framework root folder
- To run game on Mac, run play.sh or just run Stapez.io.App
2020-07-01 08:15:19 +00:00
**Notice**: This will produce a standalone build.
2020-06-30 21:30:01 +00:00
2020-06-10 10:30:31 +00:00
## Helping translate
2020-06-10 10:45:27 +00:00
Please checkout the [Translations readme ](translations/ ).
2020-06-10 10:30:31 +00:00
2020-05-09 14:52:01 +00:00
## Contributing
2020-05-12 07:09:23 +00:00
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.
2020-05-29 05:44:03 +00:00
**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.
2020-05-26 16:33:37 +00:00
If you want to add a new feature or in generally contribute I recommend to get in touch with me on Discord:
2020-05-12 07:09:23 +00:00
< a href = "https://discord.com/invite/HN7EVzV" target = "_blank" >
< img src = "https://i.imgur.com/SoawBhW.png" alt = "discord logo" width = "100" >
< / a >
2020-05-09 14:52:01 +00:00
### Code
2020-05-12 07:09:23 +00:00
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.
2020-05-09 14:52:01 +00:00
2020-05-26 16:33:37 +00:00
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.
2020-05-15 10:54:01 +00:00
2020-05-09 14:52:01 +00:00
### Assets
2020-05-26 16:33:37 +00:00
For most assets I use Adobe Photoshop, you can find them in `assets/` .
2020-05-20 11:50:20 +00:00
2020-05-29 05:44:03 +00:00
You will need a < a href = "https://www.codeandweb.com/texturepacker" target = "_blank" > Texture Packer< / a > 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.
2020-05-31 06:15:07 +00:00
< img src = "https://i.imgur.com/W25Fkl0.png" alt = "shapez.io Screenshot" >