shapez/README.md

96 lines
4.2 KiB
Markdown
Raw Permalink Normal View History

2022-10-09 13:09:31 +02:00
## NEW: Shapez 2!
2020-05-09 16:52:01 +02:00
2022-10-09 13:09:31 +02:00
We are currently working on a successor to shapez, with 3D Graphics, Exploration, Layers, Mass transport, New Shape Mechanics, Research and a lot more! Be sure to check it out:
<a href="https://tobspr.io/shapez-2" title="shapez 2">
<img src="https://i.imgur.com/6T7UP3p.png" alt="shapez 2 Announcement">
2022-03-09 09:27:33 +01:00
</a>
2020-05-12 09:09:23 +02:00
2022-10-09 12:46:16 +02:00
<br>
2022-10-09 13:09:31 +02:00
# shapez
2022-10-09 12:46:16 +02:00
2022-10-09 13:09:31 +02:00
<a href="https://get.shapez.io/ghi" title="shapez on Steam">
<img src="https://i.imgur.com/ihW2bUE.png" alt="shapez Logo">
2022-10-09 12:46:16 +02:00
</a>
2022-06-04 09:54:28 +02:00
<hr>
This is the source code for shapez, 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.
2022-06-04 09:54:28 +02:00
- [Play on Steam](https://get.shapez.io/ghr)
- [Online Demo](https://shapez.io)
- [Official Discord](https://discord.com/invite/HN7EVzV) <- _Highly recommended to join!_
2021-06-04 11:56:05 +02:00
- [Trello Board & Roadmap](https://trello.com/b/ISQncpJP/shapezio)
2020-05-09 16:52:01 +02:00
## Reporting issues, suggestions, feedback, bugs
2022-03-09 09:27:33 +01:00
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
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-games/shapez.io/issues
5. If not, file a new issue here: https://github.com/tobspr-games/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
2020-05-26 18:33:37 +02:00
- Make sure `ffmpeg` is on your path
2022-06-04 09:54:28 +02:00
- Install Node.js 16 and Yarn
2022-03-09 09:27:33 +01:00
- Install Java (required for texture packer)
- Run `yarn` in the root folder
2022-03-09 09:27:33 +01:00
- `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
**Notice**: This will produce a debug build with several debugging flags enabled. If you want to disable them, modify [`src/js/core/config.js`](src/js/core/config.js).
2020-05-09 16:52:01 +02:00
2022-03-09 09:27:33 +01:00
## Creating Mods
Mods can be found [here](https://shapez.mod.io). The documentation for creating mods can be found [here](mod_examples/), including a bunch of sample mods.
## Build Online with one-click setup
You can use [Gitpod](https://www.gitpod.io/) (an Online Open Source VS Code-like IDE which is free for Open Source) for working on issues and making PRs to this project. With a single click it will start a workspace and automatically:
2021-06-04 11:56:05 +02:00
- clone the `shapez.io` repo.
- install all of the dependencies.
- start `gulp` in `gulp/` directory.
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/tobspr-games/shapez.io)
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
2022-03-09 09:27:33 +01:00
I will only accept pull requests which add a benefit to a large portion of the player base. If the feature is useful but only to a fraction of players, or is controversial, I recommend making a mod instead.
2020-05-29 07:44:03 +02:00
2022-03-09 09:27:33 +01:00
If you want to add a new feature or in generally contribute I recommend to get in touch on Discord in advance, which largely increases the chance of the PR to get merged:
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-07-27 11:12:36 +02:00
The game is based on a custom engine which itself is based on the YORG.io 3 game engine (Actually it shares almost the same core).
2020-05-12 09:09:23 +02:00
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
2022-03-09 09:27:33 +01:00
This project is based on ES5 (If I would develop it again, I would definitely use TypeScript). 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-09-24 13:10:40 +02:00
2020-05-09 16:52:01 +02:00
### Assets
You can find most assets <a href="//github.com/tobspr-games/shapez.io-artwork" target="_blank">here</a>.
2020-10-04 09:30:31 +02:00
All assets will be automatically rebuilt into the atlas once changed (Thanks to dengr1065!)
2022-06-04 09:54:28 +02:00
<img src="https://i.imgur.com/W25Fkl0.png" alt="shapez Screenshot">
2022-03-09 09:27:33 +01:00
<br>
## Check out our other games!
<a href="https://tobspr.io" title="tobspr Games">
<img src="https://i.imgur.com/uA2wcUy.png" alt="tobspr Games">
</a>