#游戏引擎 # #2D游戏 #引擎 #游戏

scion

基于wgpu、winit、hecs的游戏制作库

6个版本 (破坏性更新)

0.7.0 2024年3月18日
0.6.0 2022年2月19日
0.4.0 2021年8月8日
0.3.0 2021年6月2日
0.1.0 2021年3月20日

#249 in 游戏开发

Download history 10/week @ 2024-04-01

每月190次下载

MIT/Apache

9.5MB
8K SLoC

Scion

Scion是一个用Rust编写的2D游戏库。

请注意,此项目处于第一阶段里程碑,将根据便利需求和即将推出的大型功能进行更改。

您可以像使用任何其他库一样使用Scion,尽管我只是将其开源,以便为社区服务,而不是成为现有Rust游戏引擎生态系统的竞争对手。

为什么是这个项目?

首先,因为它是一个了解游戏开发内部不同方面的好方法。其次,因为我想要创建一个有适度目标的东西,专注于易用性和简短的原则列表,这也可以作为指导方针。

Scion并非受到任何其他引擎的启发,它受到真实游戏项目需求的启发。这意味着我不会仅仅因为看到它而实现功能,而是因为我在使用Scion的下一个项目中需要它。

目标

  • 专注于<强>2D
  • <强>简单和<强>有趣使用。
  • 干净且可读的源代码(至少在必要时我们会尝试重写)
  • 无编辑器,它是一个库,应该始终如此

非目标

  • 超优化/过度优化的代码和性能。对于这一点,请尝试其他引擎或自己构建!
  • 3D

文档,教程?

是的,它们正在计划中,并且正在工作中。如果您想看到Scion的实际应用,请现在查看示例。

为什么是ECS?

今天,ECS是游戏、游戏库和游戏引擎的一个“魔法”词。但ECS并非如此,不应将其视为多个问题的通用答案。我相信ECS有其优点和缺点。在这里选择它的原因是因为这个库的主要目标游戏在开始时是为了能够制作

  • 一个复杂的城市建筑游戏。
  • 一个宝可梦粉丝游戏,具有实时训练师进步和野生宝可梦。
  • 细粒度网络数据包表示和点模拟游戏。

重要依赖项

这是该项目所依赖的依赖项。感谢这些出色的社区,我们能够构建这样的小型项目。

先决条件

要构建Scion,您需要安装适用于您的系统的所需软件包

Debian、Ubuntu、PopOS...

sudo apt install gcc cmake build-essential libx11-dev libxi-dev libgl1-mesa-dev libasound2-dev

Fedora

sudo dnf install gcc cmake make automake gcc gcc-c++ kernel-devel libX11-devel libXi-devel mesa-libGL-devel alsa-lib-devel

Arch、Manjaro...

sudo pacman -S gcc cmake make automake linux-headers libx11 libxi mesa alsa-lib

运行示例

然后,您可以运行一个示例

cargo run --example bomberman --release

展示

Taquin Tetris Pixel-adventures
Bomberman Jezzball New bark town
Starlight

依赖项

~19–56MB
~1M SLoC