mirror of
https://github.com/tobspr/shapez.io.git
synced 2025-12-11 09:11:50 +00:00
* Remove deprecated TSLint config * Remove jsconfig.json jsconfig.json is an alternative name for tsconfig.json that has allowJs set to true. Since the directory already contains a tsconfig.json file, this file does nothing. * Remove Gitpod configuration Gitpod is not as useful in CE because we're focusing on standalone. Also, the configuration was added just to promote the service and there are other similar services which may be preferred by the user. * Remove Travis CI configuration Travis CI is not used in shapez anymore in favor of GitHub Actions. In addition to that, CI setup for the community edition will be done once the codebase is in a better condition. * Remove CONTRIBUTORS and CONTRIBUTING.md The contributors file is out of date and unneeded as GitHub now shows all collaborators anyway - however it could be still used in the future to show a list of contributors in the game. CONTRIBUTING.md contains the text of CLA, which is not enforced in this repository. * Replace VSC workspaces with regular settings files VSCode workspaces don't provide much benefit in a source tree like shapez. This commit also adds EditorConfig and ESLint VSCode extensions to the recommended extensions list. * Remove CI workflow for building the game It hasn't been updated in a while and we don't need it for now. Once the codebase is in a more managable state, a new workflow will be added. * Remove some unused resources There are still many resources left, but they will be removed along with the relevant code later.
86 lines
3.7 KiB
Markdown
86 lines
3.7 KiB
Markdown
## NEW: Shapez 2!
|
|
|
|
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">
|
|
</a>
|
|
|
|
<br>
|
|
|
|
# shapez
|
|
|
|
<a href="https://get.shapez.io/ghi" title="shapez on Steam">
|
|
<img src="https://i.imgur.com/ihW2bUE.png" alt="shapez Logo">
|
|
</a>
|
|
|
|
<hr>
|
|
This is the source code for shapez, an open source base building game inspired by Factorio.
|
|
Your goal is to produce shapes by cutting, rotating, merging and painting parts of shapes.
|
|
|
|
- [Play on Steam](https://get.shapez.io/ghr)
|
|
- [Online Demo](https://shapez.io)
|
|
- [Official Discord](https://discord.com/invite/HN7EVzV) <- _Highly recommended to join!_
|
|
- [Trello Board & Roadmap](https://trello.com/b/ISQncpJP/shapezio)
|
|
|
|
## 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
|
|
2. Check out the trello board: https://trello.com/b/ISQncpJP/shapezio
|
|
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 ;)
|
|
|
|
## Building
|
|
|
|
- Make sure `ffmpeg` is on your path
|
|
- Install Node.js 16 and Yarn
|
|
- Install Java (required for texture packer)
|
|
- Run `yarn` in the root folder
|
|
- `cd` into `gulp` folder
|
|
- Run `yarn` and then `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 [`src/js/core/config.js`](src/js/core/config.js).
|
|
|
|
## 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.
|
|
|
|
## Helping translate
|
|
|
|
Please checkout the [Translations readme](translations/).
|
|
|
|
## Contributing
|
|
|
|
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.
|
|
|
|
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:
|
|
|
|
<a href="https://discord.com/invite/HN7EVzV" target="_blank">
|
|
<img src="https://i.imgur.com/SoawBhW.png" alt="discord logo" width="100">
|
|
</a>
|
|
|
|
### Code
|
|
|
|
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).
|
|
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 (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.
|
|
|
|
### Assets
|
|
|
|
You can find most assets <a href="//github.com/tobspr-games/shapez.io-artwork" target="_blank">here</a>.
|
|
|
|
All assets will be automatically rebuilt into the atlas once changed (Thanks to dengr1065!)
|
|
|
|
<img src="https://i.imgur.com/W25Fkl0.png" alt="shapez Screenshot">
|
|
|
|
<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>
|