mirror of
https://github.com/tobspr/shapez.io.git
synced 2025-12-10 00:31:51 +00:00
Added information about community edition (#2)
* Added information about community edition * Update README.md * README rewrite --------- Co-authored-by: EmeraldBlock <yygengjunior@gmail.com>
This commit is contained in:
parent
6db782d66a
commit
a2d1e434bb
129
README.md
129
README.md
@ -1,85 +1,88 @@
|
|||||||
## NEW: Shapez 2!
|
# shapez Community Edition <img src="./electron/favicon.png" alt="shapez Logo" align="right" height="40">
|
||||||
|
|
||||||
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:
|
**shapez Community Edition** (abbreviated as **CE**) is a community-maintained version of [shapez](https://store.steampowered.com/app/1318690/shapez/)!
|
||||||
|
|
||||||
<a href="https://tobspr.io/shapez-2" title="shapez 2">
|
CE was created as the tobspr Games team moved away from shapez to work full-time on the upcoming [Shapez 2](https://store.steampowered.com/app/2162800/shapez_2/).
|
||||||
<img src="https://i.imgur.com/6T7UP3p.png" alt="shapez 2 Announcement">
|
CE aims to:
|
||||||
</a>
|
|
||||||
|
|
||||||
<br>
|
- Continue the development of shapez as guided by the community.
|
||||||
|
- Allow contributors to continue submitting new features and improvements to the game.
|
||||||
|
- Provide an experimental and forgiving environment for faster development.
|
||||||
|
|
||||||
# shapez
|
> [!IMPORTANT]
|
||||||
|
> CE is different from the official game published on Steam and other platforms.
|
||||||
|
> CE was forked off of the official shapez, which has [its own repository](https://github.com/tobspr-games/shapez.io).
|
||||||
|
> No plans exist to merge the two versions of shapez.
|
||||||
|
|
||||||
<a href="https://get.shapez.io/ghi" title="shapez on Steam">
|
As of now, CE must be built from source and supports only a standalone build,
|
||||||
<img src="https://i.imgur.com/ihW2bUE.png" alt="shapez Logo">
|
with no plans for re-supporting a web version.
|
||||||
</a>
|
In the future, builds of CE may provided for owners of the full version of shapez.
|
||||||
|
|
||||||
<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
|
## 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.
|
We communicate on the [official shapez Discord server](https://discord.com/invite/HN7EVzV).
|
||||||
|
For historical reasons, we have communicated in a private channel,
|
||||||
|
but we are moving to the public `#contributing` channel.
|
||||||
|
If you would like to contribute to CE, feel free to share your ideas, plans, etc. there.
|
||||||
|
|
||||||
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:
|
In our current workflow, we (the "collaborators" of the repository) create internal branches and corresponding pull requests to work on a feature, refactor, etc.
|
||||||
|
We discuss changes in the Discord, and when 2 collaborators (including the PR creator) approve of a change, it can be merged.
|
||||||
|
See our existing [pull requests](https://github.com/tobspr-games/shapez-community-edition/pulls?q=) for examples.
|
||||||
|
|
||||||
<a href="https://discord.com/invite/HN7EVzV" target="_blank">
|
If you are not a collaborator and want to submit a change,
|
||||||
<img src="https://i.imgur.com/SoawBhW.png" alt="discord logo" width="100">
|
you can fork our repo and make a pull request.
|
||||||
</a>
|
Note that because of plans to overhaul many parts of the game,
|
||||||
|
unless you are improving translations, you should probably communicate with us on Discord!
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Be aware that [pull requests to the official shapez repository](https://github.com/tobspr-games/shapez.io/pulls) are unlikely to get merged in the near future. Instead, submit them to CE!
|
||||||
|
> In fact, because the game is licensed under the [GNU GPL v3.0](https://www.gnu.org/licenses/gpl-3.0.html),
|
||||||
|
> existing pull requests can be resubmitted to CE even if you aren't the author! **This is not legal advice.**
|
||||||
|
|
||||||
### Code
|
### 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 game uses a custom engine originally based on the YORG.io 3 game engine.
|
||||||
The code within the engine is relatively clean with some code for the actual game on top being hacky.
|
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.
|
We are in the process of migrating to TypeScript and JSX/TSX.
|
||||||
|
New changes should be implemented in TypeScript if possible,
|
||||||
|
but because we are planning on overhauling many parts of the game,
|
||||||
|
there is no need to convert existing code to TypeScript.
|
||||||
|
|
||||||
### Assets
|
This project is fine with using cutting-edge and bleeding-edge features
|
||||||
|
and does not intend to provide compatibility for older clients.
|
||||||
|
|
||||||
You can find most assets <a href="//github.com/tobspr-games/shapez.io-artwork" target="_blank">here</a>.
|
## Building
|
||||||
|
|
||||||
All assets will be automatically rebuilt into the atlas once changed (Thanks to dengr1065!)
|
### Prerequisites
|
||||||
|
|
||||||
<img src="https://i.imgur.com/W25Fkl0.png" alt="shapez Screenshot">
|
- [ffmpeg](https://www.ffmpeg.org/download.html)
|
||||||
|
- [Node.js 16](https://nodejs.org/en/about/previous-releases)
|
||||||
|
(not 17+, see <https://github.com/tobspr-games/shapez.io/issues/1473>)
|
||||||
|
- [Yarn 1](https://classic.yarnpkg.com/en/docs/install) (not 2, we haven't migrated yet)
|
||||||
|
- [Java](https://www.oracle.com/java/technologies/downloads/) (or [OpenJDK](https://openjdk.org/)) (to run texture packer)
|
||||||
|
|
||||||
<br>
|
### Development
|
||||||
|
|
||||||
## Check out our other games!
|
- Run `yarn` in the root folder and in `electron/`.
|
||||||
|
- Run `yarn gulp` in the root folder to build and serve files.
|
||||||
|
Ignore the browser tab that opens.
|
||||||
|
- Open a new terminal and run `yarn startDev` in `electron/` to open an Electron window.
|
||||||
|
- Tip: If you open the Electron window too early, you can reload it when focused on DevTools.
|
||||||
|
|
||||||
<a href="https://tobspr.io" title="tobspr Games">
|
### Release
|
||||||
<img src="https://i.imgur.com/uA2wcUy.png" alt="tobspr Games">
|
|
||||||
</a>
|
> [!CAUTION]
|
||||||
|
> Release steps are currently unchecked and unmaintained and will likely be revised in the future.
|
||||||
|
|
||||||
|
- Run `yarn` in the root folder and in `electron/`.
|
||||||
|
- In the root folder, run `yarn gulp build.standalone-steam`.
|
||||||
|
- Run `yarn gulp standalone.standalone-steam.prepare`.
|
||||||
|
- Run `yarn gulp standalone.standalone-steam.package.$PLATFORM` where `$PLATFORM` is `win64`, `linux64`, or `darwin64` depending on your system.
|
||||||
|
- The build will be found under `build_output/standalone-steam` as `shapez-...-x64`.
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
|
Thanks to [tobspr](https://tobspr.io) for creating this project!
|
||||||
|
|
||||||
|
[<img src="https://i.imgur.com/uA2wcUy.png" alt="tobspr Games">](https://tobspr.io)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user