沙盘引擎 (SEngine)

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

用户工具

站点工具


developer

📚 模组开发指南

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

  • 注意:此命名空间下,内容是基于“独立游戏开发(衍生作品)”来创作、编写,其中可能会有一些技术名词。
  • 举个简单例子:引擎相当于一个游戏机,模组相当于游戏机里的游戏.
  • 再举个更贴近一点的例子:引擎相当于一个演员、道具、场景齐全的舞台,模组相当于一个带着具体道具的完整剧本.

📒 前置介绍

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

引擎本身不提供原生玩法,一切玩法都为模组开发者的创意。。 还是那个熟悉的例子:引擎是游戏机,模组是游戏

《沙盘引擎》提前编写了绝大多数影响到游戏世界的机制,公开了各类API(接口方法,下面有例子)到脚本层,供模组开发者调用,高可读性使其对开发者很友好。

举个简单的例子(有编程基础可略过)。 设置天气的api,SetWeather,由两个关键的单词组成:Set设置,Weather天气。 于是在代码中可以用:SetWeather(0);来设置天气(很明显括号内则是该api所需参数)。

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

  • 沙盘引擎可能无法实现所有游戏类型,

  • 引擎提前实现了一部分逻辑
  • 保证易上手和高自定义的基础上,开发者需按照自己的想法进行创作

举例:沙盘引擎内已有相当多内置资源库,同时有角色的拾取、使用、背包等基础逻辑库。这些基础且抽象的内容已经实现了,不需要开发者从头开始造轮子。为了可高度自定义开发,引擎将常用的功能封装为逻辑和抽象接口(比如可自行实现a物品的使用逻辑,如回血、扣血)。

举例2:沙盘引擎内角色拾取并拿出武器射击后,不需要开发者编写射击、命中、扣血等基础物理逻辑(可以修改伤害值等数值配置性内容)。开发者在这完善且纯净的世界,进行创意开发(而非底层编写)。

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

📒 特别注意事项

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

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

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

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

📒 模组衍生开发

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

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

📘 模组基础机制

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

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

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

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

📘 模组文件及流程

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

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

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

📒 引擎资源开发

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

developer.txt · 最后更改: 2024/05/01 03:42 由 vegetaz