- GDScript 61.2%
- Rust 31.4%
- Shell 2.3%
- GDShader 2%
- Batchfile 1.4%
- Other 1.7%
|
|
||
|---|---|---|
| godot | Fixed redundant province generation | |
| rust | Trying to make the engine safer and more readable | |
| thirdparty-licenses | Added thirdparty licence texts | |
| .gitignore | Worked on translations | |
| CHANGELOG | Started remaking the engine API | |
| COPYRIGHT.md | Added thirdparty licence texts | |
| export.sh | Reorganised files | |
| FEATURE_DRAFTS.md | Added obstacles to chess model | |
| LICENSE | Renamed the game and reorganised campaign files | |
| LICENSE.ASSETS | Initial Commit | |
| README-CROSS-MANUAL.md | Updated readme for manual cross compiling | |
| README.md | Updated description | |
| TODO | Reorganised TODO | |
ShadowCastles
ShadowCastles is a a chess variant with puzzle and roguelike elements, made in the Godot Game Engine; it also uses the Rust bindings for Godot.
Building this derivation is getting simpler again... kinda:
Prerequisites:
- Download Godot 4.7
- Install Blender (currently used: 4.5 LTS)
- Music (optional): Install Musescore with Muse Hub/Muse Sounds and Audacity
Build and Setup:
- Install Rust
- Navigate to the
ShadowCastles/rustfolder - Run the following command based on your operating system and architecture:
- Windows:
- x86_64 (Intel Core/AMD Ryzen) -
.\build.bat --target win86 - arm64 (Qualcomm Snapdragon) -
.\build.bat --target winarm
- x86_64 (Intel Core/AMD Ryzen) -
- Linux:
- x86_64 -
./build.sh --target lin86 - arm64 -
./build.sh --target linarm
- x86_64 -
- MacOS:
./build.sh --target mac
- Open the Godot project
- If blender path is not already set, please select your blender executable
Cross Compilation
Engine
Cross compilation can be easily solved via Docker, though you can absolutely set up Manual Cross Compilation.
Targets:
- Windows (x86_64, arm64) ->
win,win86,winarm - Linux (x86_64, arm64) ->
lin,lin86,linarm - MacOS (arm64, x86_64) ->
mac - Android (arm64, x86_64) ->
apk - IOS ->
ios - Web ->
web
Targets with docker support Targets without docker support
After you've done selecting your targets, to build them continue with the following steps:
Docker Supported:
- Go to the
ShadowCastles/rustfolder - Run
docker build -t engine/builder . - Wait for it to finish building
- Run the following commands to build the engine
# Debug build
./build.sh --target <YOUR-TARGET> --feature docker
# Debug build on Windows
.\build.bat --target <YOUR-TARGET> --feature docker
# Release build
./build.sh --target <YOUR-TARGET> --feature docker --mode release
# Release build on Windows
.\build.bat --target <YOUR-TARGET> -feature docker --mode release
Not Docker Supported:
- Have an Apple computer running macOS on it
- Go to the
ShadowCastles/rustfolder - (For the iOS build you'll need Xcode with the iOS toolchain installed)
- Run the following commands to build the engine
# Debug build
./build.sh --target <YOUR-TARGET>
# Release build
./build.sh --target <YOUR-TARGET> --mode release
Game
Once you're done building the engine, building the game comes with the usual caveats of Godot.
Notes:
- If you're not on Windows, you'll need Wine 10 or later to properly export for Windows on arm
- Setting up Android export is a pain
- Also a slightly less infuriating keystore generation method (one liner):
keytool -genkey -alias shadowcastles \
-keyalg RSA -keystore <YOUR-PATH>/shadowcastles.keystore \
-dname "CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, S=Unknown, C=Unknown" \
-storepass <PASSWORD> -keypass <PASSWORD> -validity 365000
Licence:
All code is licensed under the AGPL-3.0-only, while all assets are licensed under the CC-BY-SA-4.0 licence (except for those specified in COPYRIGHT.md). Music constitutes as an asset as such it is licensed under the CC-BY-SA-4.0 licence, however source files cannot be found inside this project. This is because these pieces of music have been relocated to another repository.
Modding/Contributing Guidelines:
By contributing to the project you agree to license code and/or assets under the above mentioned licences. You cannot contribute code written by someone else and/or assets made by someone else without proper credit and licensing. You cannot contribute code and/or assets made by generative AI.
Images should be in .png, .jpg/.jpeg or .svg format and should not include any personal data (use a metadata cleaner). For 3D models Blender should be prioritised. Music should be in the .ogg format.