#工具 #功能 #游戏

game_features

游戏开发中的各种有用构造。请参阅 GitHub 仓库以获取详细说明。

12 个版本 (7 个重大更新)

0.8.1 2021 年 5 月 31 日
0.7.1 2021 年 5 月 15 日
0.5.0 2021 年 3 月 18 日
0.3.0 2020 年 11 月 17 日
0.1.0 2019 年 3 月 15 日

#747游戏开发

每月 24 次下载

Apache-2.0

1MB
1K SLoC

Crates.io docs page

支持开源开发者!♥️

Become a patron

库的目标是在开发者之间共享常见的游戏功能。

开源游戏功能

你是否厌倦了游戏将功能留给自己?

如果我们可以分享真正常见的通用功能,然后花时间制作出色的游戏,那岂不是很好?

没有人想花费 30 小时编写一个(几乎)与当前已发布的封闭源代码游戏相同的库存系统。

是时候改变这种状况了!

通过尽可能多地使通用游戏功能开源,游戏开发社区最终将能够专注于真正重要的事情:制作他们独特且令人愉悦的游戏!

这个库的目标正是如此。它是一个仓库,我们将在这里共享并共同开发那些可重用的游戏组件。

功能

已实现

以下图片来自用作这些功能灵感的游戏,展示了它们如何在各种游戏中使用。

一个支持静态大小和动态大小的物品和库存系统。 静态大小的库存 动态大小的库存

简单的战利品树

Loot Trees

统计数据和统计数据修改器

Item and Stat Modifiers

主动和被动技能

Skills

可解锁的树

Unlockable Tree

计划中

  • 玩家身份验证
  • 用户管理(踢出、禁止、静音等)
  • 用户权限
  • 基于组的聊天格式化和作用域
  • 世界所有权和保护系统
  • 基于派系的声明系统。

原则

我们旨在以数据为中心,以便方便地集成到您的工作流程中。

这里的一切都是由可序列化数据和泛型组成的。我们不限制您以特定方式处理数据的变化。

集成这些游戏功能很容易

  • 获取来自您游戏引擎或游戏逻辑的事件
  • 在存储库中的一个或多个功能上使用它们
  • 注意数据的变化
  • 向您的用户/玩家提供反馈

就这么简单!

更好的是,由于所有数据都旨在序列化,并且是通过组合结构创建的,因此您可以轻松地

  • 保存游戏状态
  • 将其存储在关系数据库中(或任何文件)
  • 将其加载到正在运行的游戏中
  • 检查它
  • 调试更改
  • 轻松重构

统计数据?物品?技能?这些都是什么?

Concepts

贡献

我强烈鼓励您为此库做出贡献。整个游戏开发社区都将从中受益。当它们受益时,您也会通过库的知名度提高而受益,这意味着更多的开发努力和更多的功能!

如果您不能或不想贡献代码,您仍然可以帮忙!所有流入我Patreon的资金都是巨大的帮助,使我能够花更多的时间在这个项目上。

兼容性

我目前正在研究FFI绑定兼容性。如果库是兼容的(应该如此),这意味着它可以在任何可以绑定到C API的语言中使用。是的,这意味着您将能够在您的C、C++、C#项目中使用这个库,使这个库与以下引擎兼容

  • Unity
  • Unreal
  • Cry Engine
  • Amethyst Engine
  • Piston
  • ggez
  • 任何可以通过任何方式(.dll、.so)加载C静态库的引擎。

用法

将此行添加到您的Cargo.toml文件中

game_features = "*"

有关每个功能的更多信息,请参阅本页顶部的文档徽章。或者,有关使用示例,src/目录中每个文件(除lib.rs外)的单元测试都是很好的示例。

祝您好运!如果您有任何问题,请随时提问。

联系

尽可能通过GitHub的问题页面报告问题。

依赖项

~3MB
~68K SLoC