shapez/README.md

65 lines
3.4 KiB
Markdown
Raw Normal View History

2020-05-09 16:45:23 +02:00
# shapez.io
2020-05-09 16:52:01 +02:00
2020-05-14 09:37:11 +02:00
<img src="https://i.imgur.com/Y5Z2iqQ.png" alt="shapez.io Logo">
2020-05-12 09:09:23 +02:00
2020-05-26 18:33:37 +02:00
This is the source code for shapez.io, an open source base building game inspired by Factorio.
2020-05-09 16:52:01 +02:00
Your goal is to produce shapes by cutting, rotating, merging and painting parts of shapes.
- [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 16:52:01 +02:00
## Reporting issues, suggestions, feedback, bugs
1. Ask in `#bugs` / `#feedback` / `#questions` on the [Official Discord](https://discord.com/invite/HN7EVzV) if you are not entirely sure if it's a bug etc.
2. Check out the trello board: https://trello.com/b/ISQncpJP/shapezio
2020-07-18 16:06:23 +02:00
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
2020-07-18 20:40:40 +02:00
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 ;)
2020-05-09 16:52:01 +02:00
## Building
- Make sure git `git lfs` extension is on your path
- Run `git lfs pull` to download sound assets
2020-05-26 18:33:37 +02:00
- Make sure `ffmpeg` is on your path
2020-06-13 18:00:25 +02:00
- 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
2020-05-09 16:52:01 +02:00
2020-05-26 18:33:37 +02:00
**Notice**: This will produce a debug build with several debugging flags enabled. If you want to disable them, modify `config.js`.
2020-05-09 16:52:01 +02:00
2020-06-10 12:30:31 +02:00
## Helping translate
2020-06-10 12:45:27 +02:00
Please checkout the [Translations readme](translations/).
2020-06-10 12:30:31 +02:00
2020-05-09 16:52:01 +02:00
## Contributing
2020-05-12 09:09:23 +02: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 07:44:03 +02: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 18:33:37 +02: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 09:09:23 +02: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 16:52:01 +02:00
### Code
2020-05-12 09:09:23 +02: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 16:52:01 +02:00
2020-05-26 18:33:37 +02: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 12:54:01 +02:00
2020-05-09 16:52:01 +02:00
### Assets
2020-05-26 18:33:37 +02:00
For most assets I use Adobe Photoshop, you can find them in `assets/`.
2020-05-29 07:44:03 +02: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.
<img src="https://i.imgur.com/W25Fkl0.png" alt="shapez.io Screenshot">