Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
What's This Repo
This repo is hosted on Codeberg, Github.
Why Yet Another Engine
This game engine is designed around moddability. This will allow people to make different games based on it, which should hypothetically all be compatible with each other. In order to enforce the spirit of the design, the game built into the engine will itself be a mod.
The engine will also allow transferring items and other entities between single player and multiplayer including transferring modded items from a modded server to a vanilla client.
Hypothetically, if a person develops a different game, like a horror game, it should be possible to join the server for that game from any other game made on the engine including the built in game.
I'm also considering the idea of inter-server communication, but for now, communication happens through the client transferring items and entities.
Download
Setup Build Environment
Debian x86_64
# Update APT
# Install Required Packages
# Install Rust
|
# Run Cargo Environment Setup Script
# Download Stable Toolchain
# Download Stable Rust's Source Code
# Download This Repo
# Switch To Project Root
Build
Desktop
# Compile Program
Android
# Assuming In Project Root "catgirl-engine" From Debian x86_64
# Install Java If Not Already Installed
# Add Build Targets Once
# Install Cargo-NDK Once
# Workaround Cargo Gradle Plugin Bug Once
# Build Android APK
# Copy Android APK To Project Root
Others
Other build process can be read from the files stored in ./.github/workflows. Most build files build on x86_64 Ubuntu with the exception of Mac OSX which builds on 64 Bit OSX.
Running
On Linux, you can view more log messages by running RUST_LOG=catgirl_engine=debug path/to/engine
or RUST_LOG=debug path/to/engine
.
On Android, you can view more log messages with ADB by running adb logcat -v tag,color -s CatgirlEngineApp CatgirlEngine:D
. You can clear the log by running adb logcat -c
.
If you want to use traces, you can either setup your own tracing subscriber if importing as a library, or turn on the tracing-subscriber feature (for either the binary or library).
Docs
GPG Keys
Main Key 0x1E4A9B8B9E3F25B9C3CD1664C7E8D57343655237
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEZyMQ1xYJKwYBBAHaRw8BAQdAVU5vsu/hdSoYSkcBkmeNEYTB7t/yd/QyCRW8
B5DDjWW0HEFsZXhpcyA8YWxleGlzQGNhdGdpcmwubGFuZD6ImQQTFgoAQRYhBB5K
m4uePyW5w80WZMfo1XNDZVI3BQJnIxDXAhsBBQkJuRAABQsJCAcCAiICBhUKCQgL
AgQWAgMBAh4HAheAAAoJEMfo1XNDZVI3H0gA/ihaveF2G6HepkAclcvpMzitlh25
nvCv9XRvvHJilvYaAP9qSU6HAxAGW/v3Fk0Oq1yH1SpIBLjoeoh46tyACAnnDLgz
BGcjEP4WCSsGAQQB2kcPAQEHQLAVh0ygm8Fd4+51myTYhQpS+9kHdCLuwgURenRQ
EUvUiPUEGBYKACYWIQQeSpuLnj8lucPNFmTH6NVzQ2VSNwUCZyMQ/gIbAgUJCbkQ
AACBCRDH6NVzQ2VSN3YgBBkWCgAdFiEEs9FCtcPYONtYiqKE35ZbzcldW6QFAmcj
EP4ACgkQ35ZbzcldW6Q/DAEAgh50DTETqwoVapehM5IOjOLKF63v9LwhIdPeGHp1
LVIA/2I05TNMgObUUUIcwkA8ahhl/GgYwQR66f+h/5oXfVYJXa0BAKjUV2nrnroL
1DElKRZSOO2gF8ZG6baFfQ2fCWgIPbLVAP4uW+O2WbdWkoEu3ap+NlAahGD28qvy
RrQ4pWLrlFLMDLg4BGcjEVUSCisGAQQBl1UBBQEBB0B7SGkcwhrYHxZ964YCTnRc
UTvgoWjqI3+oU5FQlqffLQMBCAeIfgQYFgoAJhYhBB5Km4uePyW5w80WZMfo1XND
ZVI3BQJnIxFVAhsMBQkJuRAAAAoJEMfo1XNDZVI3as0BANBZuwSrDMjptgsMBoqd
pxoe7Nz4Q7VOFpX83ZHZsGD6AP4nZtbnFt4Iyl2ZjU+1B5liSEalOwwgyU+d8UZV
KJRRCLgzBGcjEXkWCSsGAQQB2kcPAQEHQNhPTV/ZblKRWXlzxH5e2AXJl+GPAAJ5
XFV9DBLtzaceiH4EGBYKACYWIQQeSpuLnj8lucPNFmTH6NVzQ2VSNwUCZyMReQIb
IAUJCbkQAAAKCRDH6NVzQ2VSN5asAQDmHC4z/totwIXQN3XUCic7jyK7PIRg9qGr
0qItURdJcAEA58SsiUqrA4/HwHr9XgsRL6R5Vxs3VldgmFHhVb161QM=
=XU+C
-----END PGP PUBLIC KEY BLOCK-----
Signing Key 0xE382EE8AE2F4AFB1B18148DFD83603BC74A7BA9C
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEZyMRxBYJKwYBBAHaRw8BAQdAG5DZ2yFaNmyAp/n9PneeQoGthQg6ZII3kzNn
Ogt98N20JkFsZXhpcyAoU2lnbmluZykgPGFsZXhpc0BjYXRnaXJsLmxhbmQ+iJkE
ExYKAEEWIQTjgu6K4vSvsbGBSN/YNgO8dKe6nAUCZyMRxAIbAwUJCbkQAAULCQgH
AgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRDYNgO8dKe6nBopAQD4hW8Z2G5TPOiX
qJ3Ezq8HpvxKEH5v9LvRaEKg3GS2LQD/QVXNFXa0/e+KmeJ1sYDxf8oZNUPkiiV4
kbMEwDqVsQaIdQQQFgoAHRYhBB5Km4uePyW5w80WZMfo1XNDZVI3BQJnIxOSAAoJ
EMfo1XNDZVI3gZgBALRLIpPBxBLrARKgtTxntv6vhgXSVQS6T4SVlkkSZS7VAP9p
n1njsScQPkvSZXRqjYnYfjk9KgzSa6zq8S2z7x2tDIh1BBAWCgAdFiEELKDXRIOl
5ybXwLoacZdd1FBzdMEFAmcjGl4ACgkQcZdd1FBzdMHWgAEA0AIG8GJyiaH7wqGX
YzJXRBWpxc1Iv4I/um/UvRtGfI0A/AuWmJnEL+gUrx+cF1LDzyg3TSKChoCX06cA
oZUeIj0IuDgEZyMR4xIKKwYBBAGXVQEFAQEHQCUquWjoR+WBRErjsFsc02hY9VZ+
nAH8qsIFAt13T4dDAwEIB4h+BBgWCgAmFiEE44LuiuL0r7GxgUjf2DYDvHSnupwF
AmcjEeMCGwwFCQm5EAAACgkQ2DYDvHSnupxR+AEA/rzSj4YRcUcTcNZOiFuTYYH3
bjnt5VwRhrBJZgWFyG0A/j9bpzwURxaLiSxrelcoTiEJ6DFzZcQMKJSp7TvKMU4E
=9s6N
-----END PGP PUBLIC KEY BLOCK-----