沙盘引擎 (SEngine)

创意诞生沙盘世界,不止如此想象!

用户工具

站点工具


侧边栏

developer

📚 模组开发指南

这里将放置有关引擎独立模组开发、制作衍生游戏等相关内容。 如果你有意使用引擎快速上手制作一个游戏,那么这里将是你正确的起点!

注意:此命名空间下,内容是基于“独立游戏开发(衍生作品)”来创作、编写,其中可能会有一些技术名词。

📒 前置介绍

《沙盘引擎》除了内置地图编辑器与基础世界框架外,主要的核心玩法、机制都是基于引擎世界框架来实现的。

引擎本身没有原生默认的玩法提供,一切玩法都基于模组开发者的创意。

《沙盘引擎》提前编写了绝大多数影响到游戏世界的机制,同时将各类API公开到脚本层,以模组供开发者进行调用,并且绝大多数代码对开发者很友好。

同时,沙盘引擎并不是传统意义上的“游戏引擎”,而是基于世界沙盘模式下的一种可高度自定义的创意玩法引擎

也就是说,沙盘引擎也许并不完全适用于制作任何类型游戏,引擎会在一定的基础上提前实现好一些逻辑,在保证容易上手和高度自定义的基础上,由开发者按照自己的想法进行创作

举例:沙盘引擎内存在非常多内置资源库,以及角色的拾取、使用、背包等基础逻辑库,引擎已经实现了这些基础且抽象的内容,不需要由开发者从头开始造轮子,同时为了可高度自定义的开发方式,引擎并没有将这些功能完全固定预制,而是将常用功能留出了逻辑和抽象接口。

举例2:沙盘引擎内可能有一些武器、枪支物品,当通过API让某个角色拾取并拿出武器射击后,不需要开发者再去编写射击、命中、扣血的逻辑(但可以修改伤害值,已达到自定义),简单来说,日常生活中常见的很多逻辑已经写好,相当于给予开发者一个相对完善且纯净的世界,开发者要在这样的情况下进行创意开发而非底层编写。

(例如:开发者应该考虑使用武器扩展的玩法逻辑,而不需要考虑如何实现射击、光线、掉血等逻辑)

📒 特别注意事项

基于Steam的版本更新机制,每当《沙盘引擎》发起更新时,可能会默认替换游戏目录的许多文件,这其中可能包括【官方语言、官方模组、官方地图】等文件及目录。

如果你有自定义修改需求,请拷贝相关文件,而不是直接修改官方原始文件。

  • 示例#1:希望在某官方语言的基础上自定义新语言,应该拷贝相关语言文件并重命名,而不是直接修改目标语言文件)。
  • 示例#2:希望修改某官方模组或进行二次创作,应该完整拷贝目标模组,并重命名其模组目录名,而不是直接修改官方模组内的文件。

(注意:此机制仅对《沙盘引擎》官方文件生效,在此范围外的文件不会被更新替换)

📒 模组衍生开发

在通常情况下,任何通过是《沙盘引擎》衍生出的游戏作品,我们习惯称为【“模组”或“衍生作品”】(只是因为语义习惯,作为形式上的“模组”)

实际情况下,每个“模组”都应该被理解为一个完全独立的“衍生游戏”

📘 模组基础机制

就在刚刚,你已经知道了“模组”和“衍生作品”只有文字上的区别。

在物理层面上,一个模组就是一个结构特定的沙盘引擎子文件夹 (参考:《模组目录及文件》) ,想要建立一个新的游戏模组,克隆\新建一份沙盘引擎模组文件夹是必须的。一切都要从这个文件夹开始

文件夹放置于引擎指定模组放置目录,沙盘引擎便会自动识别(前提:必须是符合规则的《沙盘引擎》模组文件夹,有着规定的文件结构,其他结构或空文件夹是不可行的)。

补充:您可以克隆现有本地其他模组文件夹(有时可能加密,除非知道自己在做什么) 克隆官方空白模组文件夹(纯净模组,推荐)

📘 模组文件及流程

建立了一个新的模组(文件夹),意味着一个新的模组已经诞生。

模组作为一个单独的目录,必须放置在Engine\Mods文件夹内,并且以com.studio.gamename(类似项目包名)的格式命名。建议初期便确定名称(这是验证一个模组所有权的方式之一),不建议后期修改

有关详细开发流程内容,请访问《模组开发流程》

📒 引擎资源开发

如果你想了解有关模型导入、外部资源制作、建模及皮肤修改等内容,请访问《引擎资源开发》文档。

developer.txt · 最后更改: 2024/03/13 12:14 由 bibiboxs