Skip to content

提交示例的指南

提交示例是对 GDevelop 作出贡献并帮助他人的好方法。如果您的示例足够好,它将被接受到示例库中,并可以在 GDevelop 中使用。

该指南展示了如何将示例提交到 GDevelop 的示例库中。

选择范围

制作完整的游戏模板

一个几乎可以立即发布的游戏。它应该组织良好,易于调整或构建。

注: 完整的游戏模板是在资产商店中出售的好选择。

作为概念验证的游戏

一个尽可能简单的游戏。内容的数量应该尽量保持最少。欢迎视觉效果,但必须使用功能以避免事件过于混乱。

展示引擎或扩展功能

一个玩具,以聪明或有趣的方式使用某些功能。这是展示如何使用某项功能可能有助于制作游戏的好方法,而实际上并不是在制作游戏。

测试扩展

一个侧重于一个功能的示例,让用户了解它在每种情况下是如何工作的。它还可以帮助用户检查社区扩展是否按预期工作。

注: 引擎通过自动测试进行检查,但这些示例对用户来说检查特性并在汇报问题之前调查问题可能是有用的。

检查是否已经存在相同的示例

你应该做的第一件事是检查是否已经存在做同样事情的示例。如果已经存在一个相同的示例,您就不会很兴奋地花时间创作已经有的东西。

搜索吉开发中的示例列表(创建新项目示例选项卡),确保没有相同的示例存在。

与社区讨论

您可以在 Discord 上与 GDevelop 社区讨论示例如何改进,或者在开始之前有任何疑问。

许可证

免费示例将以 MIT 许可证发布(请查看此 维基百科页面 以获取有关 MIT 许可证的更多信息)。

您必须确保示例可以采用 MIT 许可,并确保资源也可以在 MIT 许可下分发。如果您对资源的许可存在疑问,请与创建者联系并征得许可(这很重要!)。

最佳实践

命名规范

  • 名称应该很好地清楚描述其用途。例如:用于存储玩家生命值的变量可以命名为 PlayerHealth。对象名称可以是 Player,但应避免使用Cryptic/Shorthand 名称,如 PyrObj

  • 名称中不应包含空格。例如:使用 PlayerName 而不是 Player Name

  • 建议使用 PascalCase,但使用其他风格也可以。

变量

  • 变量应在变量编辑器中初始化。在某些情况下可以将它们保留为未初始化的,但通常建议初始化。

  • 未使用的变量应删除。

扩展

  • 如果使用自定义扩展,请为事件添加适当的注释、描述,有关更多信息,请参阅扩展最佳实践

事件结构

  • 相关事件应添加到具有适当命名的组中。
    • 您可以使用颜色代码快速区分它们,如果需要的话。
  • 如果相同的事件在多个地方使用,则可以使用外部事件在扩展中。
  • 删除空事件。
  • 删除禁用的事件或用于测试的事件。
  • 展开任何事件,使其易于查看。
  • 将不是示例的主要焦点的事件移到外部事件或其他场景中(例如,显示人物移动的示例不应包含有关无关UI的事件)。

撰写有洞察力的注释

不要解释

注释不应解释事件。例如,对于以下事件,“当球与块碰撞时删除块。” 是对该事件的无用注释。

给出更大的画面

不需要为每个事件都加注释。通常,注释一组事件作为整体以给出更大的画面是个好主意。

精确定位奇异之处

有时候你别无选择,只能使用大型公式或以聪明但不寻常的方式使用引擎功能。注释在这些情况下非常重要。

必要时编写文档页面

有时仅凭文字可能不够。如果您觉得图表会有所帮助,您可以为示例提交文档页面,并在注释中添加链接。

保持简单的颜色

您可以根据其用途更改注释的颜色(例如,绿色表示提示,橙色表示警告)。否则,只需保持默认颜色。

资源

  • 资源管理器和项目文件夹中删除未使用的资源
  • 建议将所有资源添加到名为 assets 的文件夹中,并根据资产的使用添加子文件夹(GUI、Player、Power-ups)如果需要的话。
  • 图片不应太大(2000x2000 是最大尺寸)。
  • 您必须确认该示例及其所有资源都可以集成到 GitHub 存储库(其中存储了所有示例),进行分发并在 MIT 许可下发布。

保持所有内容整洁

  • 删除任何不必要的场景、外部事件、外部布局
  • 删除未使用的变量
  • 从项目文件夹中删除未使用的资源、图像、声音、字体
  • 从事件表中删除任何不必要的事件。

项目文件夹

  • .json 文件和项目文件夹的名称应该改为示例的名称,使用 - 替换空格。例如:名称为 Not a vania 的示例应该将其文件夹名改为 not-a-vania,并将其 .json 文件名也改为此名称。
  • 项目不应使用多个文件进行保存(使用单个 JSON 文件)。
  • 项目应该有一个带有描述示例的文本的 README.md 文件(有关更多信息,请参见 提交示例 部分)。

项目属性

  • 项目属性应填写完整。
  • 项目名称应为示例名称。
  • 包名称应遵循 com.example.<项目名称> 的格式。示例:com.example.RotateSprite
  • 版本应为添加到库中的版本(经过审核后)为 1.0.0,并在添加后根据所做的更改递增。
  • 作者是您的用户名。必须注册帐户并需要适当的用户名才能添加用户名。在下拉菜单中键入用户名并从中选择用户名。
游戏分辨率
  • 游戏分辨率不应超过 1920x1080,以便示例在所有设备上运行时没有性能问题。
  • 如果示例使用具有小资产的像素艺术,则建议使用“最近邻”渲染。

缩略图和示例描述

  • 您可以包括一个 thumbnail.png,这是示例的图标,将显示在示例库中。
  • 项目文件夹应包括一个包含示例描述的 README.md 文件。您可以通过打开任何文本编辑器(如Windows上的记事本),编写描述并将文件另存为 README.md 的方式创建.md文件。
  • 缩略图和 Readme.md 文件都应放在主文件夹中,而不是在任何子文件夹中。

提交示例

您可以将示例提交给示例存储库作为问题。

  • 前往该网站,
  • 点击绿色的 New Issue 按钮:

  • 将显示选择问题模板的选项,点击 New Example

  • 您将获得一个文本框,在其中可以编写“问题”,在其中可以上传项目文件(作为zip文件)并添加适当的描述。
  • 将标题更改为示例的名称。

  • 在文本框中的 ## 描述示例 下,添加有关示例的适当描述,随时可以添加任何屏幕截图。
  • 您还将收到一个必要事项的清单。如果已完成,请在括号中的括号中添加x

- [ ] 我的游戏在游戏属性中有一个适当的名称。 - [ ] 我的游戏包名称以'com.examples'开头。 - [ ] 我的游戏已展开所有事件。 - [ ] 我已在游戏属性中将自己添加为作者。 - [ ] 我已包含一个名为'README.md'的文件,其中用适当的英语描述了该示例正在执行的操作。 - [ ] 我确认此游戏及其所有资源可以集成到此Github存储库中,分发并获得MIT许可。 - [ ] 我已清理项目中未使用的资源。

  • ## 游戏文件夹 下,添加项目的压缩包并将其拖放到文本框中。
  • 现在点击 Submit Issue

恭喜!现在您的示例已提交,但不会直接添加到库中。将对示例进行审查,以确保示例准备就绪。如果审核建议如此,您可能需要重构一些事件。

警告

不能保证您的示例将被接受,如果示例不适合库,则可以被拒绝。也请记住,虽然很难获得某些反馈,评论者要求进行更改是因为他们相信这将改进您的示例。尝试使用他们的反馈重新设计示例!一旦您认为它足够好,可以要求再次审查或讨论您可能不同意的地方。