#gamedev #game-engine #catgirl #game #engine #build-environment

bin+lib catgirl-engine

一款专为酷炫的可模组和数据生成而设计的游戏引擎

57 个版本 (6 个破坏性更新)

0.12.52 2024年5月9日
0.12.30 2024年3月27日
0.4.0 2023年6月24日

#199 in 游戏开发

Download history 172/week @ 2024-04-14 3/week @ 2024-04-21 156/week @ 2024-05-05 9/week @ 2024-05-12 6/week @ 2024-05-19 4/week @ 2024-06-09 1/week @ 2024-06-16

5,397 每月下载次数

Zlib 许可证

1.5MB
2K SLoC

Rust 1.5K SLoC // 0.1% comments Kotlin 179 SLoC // 0.1% comments Batch 71 SLoC Shell 39 SLoC Prolog 21 SLoC WebGPU Shader Language 12 SLoC

包含 (JAR 文件, 44KB) gradle-wrapper.jar

这是什么仓库

此仓库托管在我的 Forgejo 实例上 catgirl-engineCodebergGithub

为什么还需要另一个引擎

这个游戏引擎是围绕可模组性设计的。这将允许人们基于它制作不同的游戏,理论上它们都应该互相兼容。为了强制执行设计的精神,内置到引擎中的游戏本身也将是一个模组。

该引擎还将允许在单人和多人游戏之间传输物品和其他实体,包括将修改后的物品从修改后的服务器传输到原始客户端。

理论上,如果有人开发了一个不同的游戏,比如恐怖游戏,应该可以从基于该引擎制作的任何其他游戏(包括内置游戏)的服务器加入该游戏。

我还考虑了服务器间通信的想法,但到目前为止,通信是通过客户端传输物品和实体来完成的。

下载

设置构建环境

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/engineRUST_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