#color-palette #pixel-art #bevy-plugin #bevy #2d #gamedev #graphics

seldom_pixel

限制色彩调色板像素艺术游戏的Bevy插件

11个版本 (6个重大更新)

0.7.0 2024年7月10日
0.6.1 2024年5月30日
0.5.0 2024年2月17日
0.4.0 2023年8月7日
0.1.1 2022年11月6日

#142 in 游戏开发

Download history 148/week @ 2024-05-11 14/week @ 2024-05-18 121/week @ 2024-05-25 19/week @ 2024-06-01 4/week @ 2024-06-08 2/week @ 2024-06-15 7/week @ 2024-06-29 159/week @ 2024-07-06 8/week @ 2024-07-13

每月下载量630

MIT/Apache

125KB
3K SLoC

seldom_pixel

Crates.io MIT/Apache 2.0 Crates.io

seldom_pixel 是一个针对限制色彩调色板像素艺术游戏的Bevy插件。它处理

  • 精灵
  • 过滤器(通过图像定义;应用于层或单个实体)
  • 简单UI(文本、按钮和锁定到摄像机的精灵)
  • 瓦片图
  • 动画(为精灵、过滤器、瓦片集和文本;支持抖动!)
  • 自定义层
  • 粒子(带预先模拟!启用 particle 特性)
  • 调色板更改
  • 字体
  • 游戏内光标
  • 摄像头
  • 行(启用 line 特性)
  • 等等!

它还提供了可选的与

  • seldom_state 的集成(用于动画状态机;state 特性)
  • seldom_map_nav(实现 SubPxPositionnav 特性)

请参阅 examples 目录中的示例。如果您需要帮助,请随时在Bevy Discord服务器@Seldom)上联系我!如果任何文档需要改进,请随时提交问题或pr!

理念

  • 资源是通过图像创建的

所有资源,包括过滤器,都是从图像加载的。 seldom_pixel 的范围仅限于渲染内容,因此它不应用于像级别和声音这样的东西。我推荐找到你舒服的艺术程序。我个人使用 GIMP,但可能难以理解。我听说 Aseprite 很好,你可以免费使用它,如果你能编译它的话。我只在这个插件中使用 .png 文件,所以我推荐使用该格式,但你可以自由尝试其他无损格式。

  • 看起来就像这样

本crate的位置组件PxPosition使用一个IVec2(二维的i32向量)来存储位置。这意味着实体位于精确的像素位置。因此,如果看起来玩家撞到了墙壁,或者一个投射物击中了敌人,那么游戏将做出相应的反应。还有一个SubPxPosition组件,它使用一个Vec2,用于运动和速度等特性。它将自动更新PxPosition组件,我建议尽可能使用它。我还建议在停止移动时将SubPxPosition重置为PxPosition的值,以便移动对象对玩家来说感觉更一致。对于像素较小的游戏来说,这不太成问题。

  • 为了生产力牺牲灵活性

如果您已经对制作有限色彩调色板的像素艺术游戏感兴趣,这对你来说是个容易的胜利。在seldom_pixel中的过滤器就是将调色板中每种颜色映射到调色板中的另一种颜色。对于16,777,216种RGB颜色中的每一种,创建这样的过滤器都将是困难的,但seldom_pixel只允许您在调色板中使用最多255种颜色(您可能想用得更少),因此创建效果变得容易。这也适用于库开发的端。seldom_pixel的限制意味着我只需要为其功能使2D游戏(使用字节作为像素)工作,因此开发和维护更容易。无论如何,限制可以激发创造力。

未来工作

这个crate目前处于维护模式,所以我目前没有添加新功能。

  • 高级UI,足以构建UI库
  • 更高级的粒子系统
  • 更多的形状原语
  • 空间过滤器,可以过滤定义的区域,并在空间中而不是在时间上应用它们的动画。用于光照和散景等效果。
  • 使渲染发生在渲染世界中

使用方法

将其添加到您的Cargo.toml

# Replace * with your desired version
[dependencies]
seldom_pixel = "*"

然后,将PxPlugin添加到您的应用程序中。查看示例以获取更多使用方法。

兼容性

Bevy seldom_state seldom_map_nav seldom_interop bevy_ecs_tilemap seldom_pixel
0.14 0.11 0.7 0.7
0.13 0.10 0.6 0.6
0.12 0.9 0.5 0.12 0.5
0.11 0.7 0.4 0.11 0.4
0.10 0.6 0.3 0.10 0.3
0.10 0.5 0.3 0.10 0.2
0.8 0.2 0.1 0.7 0.1

许可

seldom_pixel可根据您的选择在MIT和Apache 2.0下双许可。

贡献

除非您明确表示,否则任何提交给工作以包含在内的贡献,根据Apache-2.0许可定义,都将如上所述双许可,不附加任何额外条款或条件。

演示视频

Demo video

依赖关系

~35–73MB
~1.5M SLoC