57 个版本 (6 个破坏性更新)
0.12.52 | 2024年5月9日 |
---|---|
0.12.30 | 2024年3月27日 |
0.4.0 | 2023年6月24日 |
#199 in 游戏开发
5,397 每月下载次数
1.5MB
2K SLoC
包含 (JAR 文件, 44KB) gradle-wrapper.jar
这是什么仓库
此仓库托管在我的 Forgejo 实例上 catgirl-engine,Codeberg,Github。
为什么还需要另一个引擎
这个游戏引擎是围绕可模组性设计的。这将允许人们基于它制作不同的游戏,理论上它们都应该互相兼容。为了强制执行设计的精神,内置到引擎中的游戏本身也将是一个模组。
该引擎还将允许在单人和多人游戏之间传输物品和其他实体,包括将修改后的物品从修改后的服务器传输到原始客户端。
理论上,如果有人开发了一个不同的游戏,比如恐怖游戏,应该可以从基于该引擎制作的任何其他游戏(包括内置游戏)的服务器加入该游戏。
我还考虑了服务器间通信的想法,但到目前为止,通信是通过客户端传输物品和实体来完成的。
下载
设置构建环境
Debian x86_64
# Update APT
sudo apt update
# Install Required Packages
sudo apt install git gcc
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Run Cargo Environment Setup Script
source "$HOME/.cargo/env"
# Download Stable Toolchain
rustup default stable
# Download Stable Rust's Source Code
rustup component add rust-src --toolchain stable
# Download This Repo
git clone https://github.com/lexi-the-cute/catgirl-engine
# Switch To Project Root
cd catgirl-engine
构建
桌面
# Compile Program
cargo run
Android
# Assuming In Project Root "catgirl-engine" From Debian x86_64
# Install Java If Not Already Installed
sudo apt -y install openjdk-17-jre-headless
# Add Build Targets Once
rustup target add armv7-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android
# Install Cargo-NDK Once
cargo install cargo-ndk
# Workaround Cargo Gradle Plugin Bug Once
touch android/local.properties
# Build Android APK
cd android
./gradlew assembleDebug
# Copy Android APK To Project Root
cp app/build/outputs/apk/debug/*.apk ..
其他
其他构建过程可以阅读存储在 ./.github/workflows 中的文件。大多数构建文件在 x86_64 Ubuntu 上构建,除了 Mac OSX,它在 64 位 OS X 上构建。
运行
在 Linux 上,您可以通过运行 RUST_LOG=main=debug,catgirl_engine=debug path/to/engine
或 RUST_LOG=debug path/to/engine
来查看更多日志消息。如果您想查看所有日志消息,请使用 trace 而不是 debug。
在Android设备上,您可以使用ADB查看更多日志信息,运行 adb logcat -v tag,color -s CatgirlEngineApp CatgirlEngine:D
。您可以通过运行 adb logcat -c
清除日志。
如果您想使用跟踪功能,您可以选择在作为库导入时设置自己的跟踪订阅者,或者打开跟踪订阅者功能(适用于二进制或库)。
文档
GPG密钥
主密钥 0x20E0635864445A177F8F7C0C6141FD27892AE9B4
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEZVb0bRYJKwYBBAHaRw8BAQdAr/5xsAMr4nh8TLeSqlxuYVSdTDpAyp0IpxmG
fr34+c60HEFsZXhpcyA8YWxleGlzQGNhdGdpcmwubGFuZD6IkAQTFggAOBYhBCDg
Y1hkRFoXf498DGFB/SeJKum0BQJlVvRtAhsBBQsJCAcCBhUKCQgLAgQWAgMBAh4B
AheAAAoJEGFB/SeJKum01+UBALMVSVT9nmeWgRtrf3haWN0P5leiurN8FJvih0Hh
ofs9AP9CD1Jv6I3f5c/xnRS0Wp8MaGFMvP0Iyi9ZC8DD86GACrgzBGVW9JAWCSsG
AQQB2kcPAQEHQMCthm/wQ/Ksat5X4zmMYJ9ebJvhFFQKguJ6LDu/J0tKiPUEGBYI
ACYWIQQg4GNYZERaF3+PfAxhQf0niSrptAUCZVb0kAIbAgUJAeEzgACBCRBhQf0n
iSrptHYgBBkWCAAdFiEEE1EfbwiAqr0HqhA10HU9Q/PHqUIFAmVW9JAACgkQ0HU9
Q/PHqUIRugD+N2rrn51Aj39zZplMMjDgIjdfJ/MKcolQAg3VdNLRDusA/2/35T2t
NATQPpIv2bQSghn8YWq73+1uFUkumfkLF7oPFPwBAPx23M1gsBYiYRn0sXahyubt
9ynKw75OVdKyOHCHzNEdAQCjMz16Io+OwSVksqjnVQpbi55jWAj9KuK2MqLgEUPl
C7g4BGVW9L8SCisGAQQBl1UBBQEBB0D2I482Q12nobygTwIq5PWJQdxvzSrYYu20
8gmeRbxkdAMBCAeIfgQYFggAJhYhBCDgY1hkRFoXf498DGFB/SeJKum0BQJlVvS/
AhsMBQkB4TOAAAoJEGFB/SeJKum0iBYA/jMGJXN8MWaxxoOFEUmdxAPuMRnYA26l
IbnOYsGXiqI+AQD7kOstyDIPBR5LrNw6DEIImZkNQNlQpQ4RfJio3+CAAbgzBGVW
9MsWCSsGAQQB2kcPAQEHQA9OjvcEIu00alJIZGUSO1yel/fEQznG7o5zTTK2KIPz
iH4EGBYIACYWIQQg4GNYZERaF3+PfAxhQf0niSrptAUCZVb0ywIbIAUJAeEzgAAK
CRBhQf0niSrptJPTAQCqoYabT6o/9Cl+W0UglUuszSqv48ReLsD6YSQIrr1vPgEA
2peTLx2rNhghMf4MCQq+3ya6wfxnnAPSuqqDInxVdwA=
=+HCr
-----END PGP PUBLIC KEY BLOCK-----
签名密钥 0x2CA0D74483A5E726D7C0BA1A71975DD4507374C1
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEZfvPrxYJKwYBBAHaRw8BAQdAEC5CDYx2YHy+Y4sHXPcEcD0a4m4IaixdD6D8
0pqOKaq0JkFsZXhpcyAoU2lnbmluZykgPGFsZXhpc0BjYXRnaXJsLmxhbmQ+iJwE
ExYKAEQCGwMFCQWjmoAFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AWIQQsoNdE
g6XnJtfAuhpxl13UUHN0wQUCZfvP4AIZAQAKCRBxl13UUHN0wQ0xAP9pK6w4qmTa
flz2PijnJmNvl0zO+0FmmM1YLDspvcrD1AD+Oi4bdpAgwyS9xcXIGq+5+IcDUcJk
MeaAmKte0NHVyQ6IdQQQFgoAHRYhBCDgY1hkRFoXf498DGFB/SeJKum0BQJl/QUQ
AAoJEGFB/SeJKum0LlAA/jYVOHeuXGxtKdw5pdZDkHqpNczZQDhY784vQrofp688
AQDvS6Kw82pGHltobmCdAwJPA06hDSYwlwtI+m25QYfzCLg4BGX7z68SCisGAQQB
l1UBBQEBB0DvJLTaa2ew55oxSnhrF0R10ssM7wxOfAf5EtKa8/1ZRgMBCAeIfgQY
FgoAJhYhBCyg10SDpecm18C6GnGXXdRQc3TBBQJl+8+vAhsMBQkFo5qAAAoJEHGX
XdRQc3TBNLIA/2VY6mQ9cvR5Zk7Lh02dGuVtOqar3LyTP3ue4CISrDagAQCNXVAR
SS1k4L1wKTICYf+SL07C8klAKNF4llhUvBmfAQ==
=coKj
-----END PGP PUBLIC KEY BLOCK-----
依赖项
~21–64MB
~1M SLoC