Stage1st

 找回密码
 立即注册
搜索
查看: 3567|回复: 40
打印 上一主题 下一主题

[其他] 求助,请问对于网状任务架构的rpg游戏开发,使用哪种引擎较好?有合适的插件吗?

[复制链接]
     
跳转到指定楼层
楼主
发表于 2024-4-3 17:38 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.想做这样的游戏:
crpg,网状任务架构。任务本身有多种完成方式,npc之间也有着不同的关系。完成一个任务的情况、方式会影响npc 的看法,进而影响其他任务的流程或对话。
可以预见,每个npc 身上都可能有较多的变量,用来描述彼此之间的关系变化、对玩家态度、对话内容等。
2d视角,进入战斗后以走格子战棋形式展开,类似轨迹。战斗系统不专注与各种+xx%数值的buffdebuff猴戏,强调角色定位和技能机制。

2.现状:
花了一段时间学习c#语言和unity,目前用基本语句没问题,但看不懂稍微高级一点的东西,比如继承之类的。缺少实践。
可以完成很简单的游戏,其实游戏中的一切无非都是变量而已,可能代码的架构和设计思路更重要。在看一些较大的战斗系统设计的教程时,深感以我当前的代码水平可能在完成上面那个构想时会写出充满bug的屎山。

3.当前困惑:
①据说godot更加轻量化,我没有深入接触只是简单学习了一下,感觉跟unity思路差不多,现在夸两边的都有,unity去年做大死的收费动作今年也轻飘飘过去了,只看我的需求,是否需要更改为更轻量化但是缺少教程和社区的godot?
②发现unity有一些现成的插件,调用现成的对象然后填数就行了,有没有类似的傻瓜化插件推荐?以下是我目前对unity一些高评分插件的见解:

rpg builder:技能系统做的不错,可惜只能做3d的。
Turn Based Strategy Framework:回合制rpg。看上去不错,但不知道能不能帮助我实现上面的网状系统架构。

4.总结:我的目的不是成为编程大佬,任何手段都可以,做出我想要的游戏。我现在的问题由大到小如下排序:
问题1:我是应该转换为godot,还是继续死磕unity?
问题2:如果是unity,有没有推荐的傻瓜化插件,让我不用重复造轮子?
问题3:都在说可视化编程插件可以制作简单的游戏,但具有大量npc的互动、关系变量的网状结构的rpg,是否合适?

写的啰啰嗦嗦的,感谢大家不吝指教。

评分

参与人数 1战斗力 +1 收起 理由
Byooon + 1

查看全部评分

回复

使用道具 举报

     
2#
发表于 2024-4-3 17:43 | 只看该作者
这个和引擎没关系吧.........主要看你后台的游戏设计和玩法的具体实现,你功夫够多,学老crpg那套一个事件一个事件,一个flag一个flag纯手搓都是理论上可行的。
回复

使用道具 举报

     
3#
 楼主| 发表于 2024-4-3 17:44 来自手机 | 只看该作者
blackll7 发表于 2024-4-3 17:43
这个和引擎没关系吧.........主要看你后台的游戏设计和玩法的具体实现,你功夫够多,学老crpg那套一 ...

问题是我功夫不够。所以想尽可能偷懒,把时间消耗到脚本写作而不是琢磨引擎使用上。
回复

使用道具 举报

     
4#
发表于 2024-4-3 17:44 | 只看该作者
这个和引擎关系不大,你可以玩玩猫头猫的那几个crpg游戏,比如正义之怒和行商浪人,然后开toybox,里面就能看到系统的整个事件和flag设计,很有参考价值
回复

使用道具 举报

     
5#
 楼主| 发表于 2024-4-3 17:45 来自手机 | 只看该作者
blackll7 发表于 2024-4-3 17:43
这个和引擎没关系吧.........主要看你后台的游戏设计和玩法的具体实现,你功夫够多,学老crpg那套一 ...

而且那样的话,我怕很容易出现bug。或许还是在每个npc上绑一大堆变量然后让变量之间互相调用和改写更好。
回复

使用道具 举报

     
6#
发表于 2024-4-3 17:48 | 只看该作者
建议直接去翻GDC的开发者分享里有没有人分享过类似的开发资料
回复

使用道具 举报

     
7#
发表于 2024-4-3 17:48 | 只看该作者
本帖最后由 blackll7 于 2024-4-3 17:50 编辑
水狷 发表于 2024-4-3 17:45
而且那样的话,我怕很容易出现bug。或许还是在每个npc上绑一大堆变量然后让变量之间互相调用和改写更好。 ...

你不如再狠一点,学太吾绘卷和矮人要塞搞伪仿真那种每个NPC独立一个data file算了,就是人物一多就太吃cpu。
回复

使用道具 举报

     
8#
发表于 2024-4-3 17:48 | 只看该作者
也许你可以试试老滚5的mod,我还真见过一些试图网状叙事的mod
回复

使用道具 举报

     
9#
发表于 2024-4-3 17:49 | 只看该作者
这个和引擎、插件关系不大,你可能需要一些写游戏脚本(代码,不是剧本)的经验
回复

使用道具 举报

     
10#
发表于 2024-4-3 17:56 | 只看该作者
你要考虑的不是游戏引擎而是写作的叙事设计工具,最简单的是Twine这种,复杂点的是Yarn和inkle,专业级别的是articy:draft
回复

使用道具 举报

     
11#
发表于 2024-4-3 17:56 | 只看该作者
本帖最后由 zris 于 2024-4-3 18:00 编辑

如果按照你的要求,应该只有黑曜石的一款叙事工具了,但是那是他们自己开发的,没用商用版

但是你要找替代的也不是没用,估计没黑曜石那套那么好用罢了

具体不了解,但是曾经看过unity或者unreal都有类似的,在这两引擎的商店关键词搜搜Dialogue 或者 Narrative
或者也可以看看一些讲座  
OEI Tools Talk for Pentiment (ad hoc) (youtube.com)
这是sawyer讲怎用工具编写对话的演讲

(407) Technical Tools for Authoring Branching Dialogue - YouTube
还有一个gdc的讲座,也是黑曜石讲他们那个引擎来编写分支



回复

使用道具 举报

     
12#
发表于 2024-4-3 18:01 | 只看该作者
马一下,我也有这个需求

我目前的思路是,没有什么普适性的中间件能完美的契合自己的需求,所以肯定要自己搓,别人的插件顶多拿来看看写法参考一下

事先规划好体量,然后去设计结构,因为可能网状本身并不是重点,具体的数量才是重点,先明确下来有多少个npc,多少种任务相关的变量,多少个任务,多少种解决方式,先把上限定死,然后根据这个数量写一个原型出来,一步迈到扩展度极高的系统反正我觉得我是没那个胆子,作工程就要根据需求来!
回复

使用道具 举报

     
13#
发表于 2024-4-3 18:12 | 只看该作者
首先你要拆解需求,把这些游戏的网状叙事结构先把扒下来再进行你游戏里剧本的重新设计,需求都不明晰的话大伙也不懂你想要什么东西
回复

使用道具 举报

     
14#
发表于 2024-4-3 18:13 | 只看该作者
我觉得和网装任务结构比较相似的计算机技术是关系数据库

如果用一个数字编号做任务进行时的状态,那用来描述这个状态的状态不就是关系数据库
回复

使用道具 举报

     
15#
发表于 2024-4-3 18:13 | 只看该作者
建议是手搓任务系统
回复

使用道具 举报

     
16#
发表于 2024-4-3 18:27 | 只看该作者
问题1:我是应该转换为godot,还是继续死磕unity?
还是推荐unity,模板够多,教程够多,更适合新手学习。
问题2:如果是unity,有没有推荐的傻瓜化插件,让我不用重复造轮子?
2d rpg kit ,top down 2d rpg 之类的,可以先下学习试下大概功能再决定是否购买
问题3:都在说可视化编程插件可以制作简单的游戏,但具有大量npc的互动、关系变量的网状结构的rpg,是否合适?
跟可视化编程没关系,网状RPG只要你的变量够多就行,任何RPG引擎都有类似的功能,RPGmaker都可以实现,跟引擎和编程插件关系不大,甚至你的需求我觉得RPGmaker就能做的七七八八了。
回复

使用道具 举报

     
17#
发表于 2024-4-3 18:50 来自手机 | 只看该作者
本帖最后由 Tring 于 2024-4-3 18:54 编辑
zyz9408 发表于 2024-4-3 18:27
问题1:我是应该转换为godot,还是继续死磕unity?
还是推荐unity,模板够多,教程够多,更适合新手学习。
问 ...

用啥引擎见仁见智。但是但凡你有一点代码基础,那码代码一定比纯粹的可视化编程方便百倍有余。Godot自己的可视化编程都处于一个爱管不管的状态,就是因为大家都不太想用。可视化编程也不是0门槛,花时间学这还不如正经学点代码基础。

至于只说能否做到,那RM可以实现任何规模有限的静态任务结构,毕竟flag逻辑也是图灵完备的。但是RM最大的短板就是动态生成内容极为难以实现,因为flag系统是全局的没有作用域,任意局部过程都会产生无可避免的边缘效应。但也不是不可能,毕竟你还能自己用js写插件。
回复

使用道具 举报

     
18#
发表于 2024-4-3 19:06 | 只看该作者
目前最标准的网状任务游戏就是新维加斯,引擎是祖传Gamebryo
回复

使用道具 举报

     
19#
发表于 2024-4-3 19:15 | 只看该作者
极乐迪斯科是用 Dialogue System for Unity 这个插件
回复

使用道具 举报

     
20#
发表于 2024-4-3 19:41 | 只看该作者
跟引擎没啥关系,主要是跟你想要做到多深度和什么用着顺手比较有关系

如果实在搞不懂的话甚至可以给每一个你计划可以交互产生影响的npc身上都单独写脚本触发unity里的event trigger,当然大量的脚本带来的就是冗余的内存占用,加上后期如果单独调整一个的话,再去查询其他的涉及到的地方可能会很麻烦(除非你自己做好备注

其他的引擎之类,我用过unity和ue4,感觉就,都差不多,比较完善的rpg制作都是在别人的需求基础上进行的rpg制作,多少都要自己往里面添加一些自己定义的内容。所以我还是觉得你找一个自己用着习惯、比较多的包含自己需求的插件就好了,比如楼上推荐的几个

回复

使用道具 举报

     
21#
发表于 2024-4-3 23:24 | 只看该作者
楼主几年前好像发过同样类型的主题
翻了下这几年的收藏夹,感觉这么几篇文章可能有点帮助:
* indienova:分支剧情创作中的挑战和工具(https://indienova.com/indie-game ... logs-and-narrative/),介绍了楼上大哥提到的articy:draft、ink等几个工具更加具体的一些内容;
* indienova:消失的箭头——一种创作(无)分支剧情的新思路(https://indienova.com/indie-game ... no-branching-plots/),不基于分支来设计任务,改用一种满足特定条件触发故事片段(storylet)的思路。我觉得可以作为“网状结构”的参考;
* indienova:开发经验分享:剧情管理的探索之路(https://indienova.com/indie-game ... oryline-management/),基于上文的某种实践。

没实践经验,纯属从收藏夹里面回忆了一下,不知道能否提供一些参考。
回复

使用道具 举报

     
22#
发表于 2024-4-3 23:41 | 只看该作者
本帖最后由 dumplingpro 于 2024-4-4 00:16 编辑

会unity就unity,UNIYT市场里有不少现成的编辑器。https://www.bilibili.com/video/BV1fD4y1i7oX
实际上你就算用RPG Maker MV(搭配3D插件https://www.bilibili.com/video/BV1Ph4y1c7HX)或者RPG Developer Bakin(3D版 RPG大师)这种新手向的都可以。

主要还是写剧本,拼图拼起来。


回复

使用道具 举报

     
23#
发表于 2024-4-3 23:45 | 只看该作者
本帖最后由 すぴぱら 于 2024-4-3 23:54 编辑

不想编程为什么要学习商业级引擎
rpg maker最方便最好用吧

可别把经历浪费在软件开发上了
其实来说商业级默认就是给你的是集成开发环境,本来就是不包含gameplay部分的
业务实现都属于纯编程的部分,而编程的部分默认你是个有经验的程序员
回复

使用道具 举报

     
24#
发表于 2024-4-4 00:21 | 只看该作者
すぴぱら 发表于 2024-4-3 23:45
不想编程为什么要学习商业级引擎
rpg maker最方便最好用吧

rpg maker连改个自己的属性系统都没那么容易吧
回复

使用道具 举报

     
25#
发表于 2024-4-4 00:23 来自手机 | 只看该作者
我觉得是图算法?
回复

使用道具 举报

     
26#
发表于 2024-4-4 00:32 | 只看该作者
RTLordCaptain 发表于 2024-4-4 00:21
rpg maker连改个自己的属性系统都没那么容易吧

专注文案和任务就用固定的游戏框架往里面填字也没什么不好的

非程序员真的不要研究在代码上加花样没头的,挫败感还强
回复

使用道具 举报

     
27#
发表于 2024-4-4 00:34 | 只看该作者
本帖最后由 GuardHei 于 2024-4-4 00:37 编辑

厘清依赖复杂的系统最好的方法就是图,现在游戏里渲染管线都在推frame graph管理渲染资源,打包的时候用build graph类似的东西去判断资源依赖
我之前有过想法,对这种复杂的任务网,是不是也可以用一个quest graph这种东西去描述,从而自动化判断哪些情形漏判了。
但…想法是好的,做起来目前没有想到很好的办法。因为除开一些简单的npc状态判断方便设置(比如npc生死状态,位置,阵营),其他很多时候是合不合理是一个主观判断而不是纯机械式逻辑判断。比如一个人背叛了你,结果你发现还能触发指示他干活的对话。当然可以通过给每个行动对话设置各种条件来解决,但需求是复杂的,条件越多,越容易漏设错设,当你需要给一个对话选项加一堆条件的时候,本质还是人脑在判断了

所以chatgpt流行之后,我在想,可不可以通过图遍历当前npc在某个节点的所有状态上下文,把这个上下文输入给gpt ai,然后再输入所有对话选项,让他去判断有没有不太合理的对话选择。
肯定不可能百分百对,但是可以标记ai高度怀疑有问题的点,协助人工纠错

—— 来自 S1Fun

评分

参与人数 1战斗力 +1 收起 理由
t09mmc + 1 好评加鹅

查看全部评分

回复

使用道具 举报

     
28#
发表于 2024-4-4 00:37 | 只看该作者
RTLordCaptain 发表于 2024-4-4 00:21
rpg maker连改个自己的属性系统都没那么容易吧

万事都往全局FLAG/变量里写就完事了。
其实很符合屎山代码风格。

只要是静态的功能,基本上没有实现不了的。
毕竟图灵机就是这回事,展平一切复用逻辑,拿空间堆性能。
回复

使用道具 举报

     
29#
发表于 2024-4-4 00:44 | 只看该作者
我steam版的articy3使用时间超过500小时了。虽然绝大多数时长都是在挂机干别的(调试or写代码or摸鱼打别的游戏),没怎么写过对话,不过姑且还是分享一点使用经验吧。
articy的功能虽然很强,但用它制作大型项目前最好调查清楚它能做什么,以及会有哪些坑。它对crpg式对话的支持非常强,也可以作为一个一条龙式的策划工具,把各类数据有条理地配置在里面。

首先是收费策略和版本。steam有版本较老的单人买断版,如果确认是单人开发的话可以直接买这个,价格还算亲民。如果想兼顾多人协作的话,要么订阅它昂贵的多人版,要么干脆就换别的工具。我做过一点不严谨的研究。简单来说,articy对它的文件写有保护(每个条目都记录了哈希值),只有它的程序能合法地修改文件内容,你没法直接用git一类的外部工具合并不同分支上的修改。一旦这么做,articy会拒绝读取你修改后的文件。
articy的编辑器功能还算比较强,它的对话是层层嵌套的结点,支持比较复杂的跳转,拿来写对话很方便。写作完成后可以一键进入沉浸模式。比如crpg经典的对话树结构,你要做的就是写完对话节点,设置几个参数,然后就能直接在编辑器里以游戏的形式预览了。另外,我个人用得最多的是把它当做填表工具用。我的物品属性,合成表啥的全都用这个软件管理。它的属性自定义功能还算灵活。用到目前为止,它几乎能完全满足我的需要(但坑还是有的,就不细说了)。随便放一张截图:

本地化我稍微实验了一下,articy3是可以做的,不过实现方法有点丑陋。最新的订阅版支持更好。
另外编辑器本身有一些坑点,撤销键不好使,删错东西的时候就很尴尬。文本框有时会录入一些意料外的空白符号,要在游戏引擎那边处理一遍。
然后,现在假定你在编辑器里把你要写的文本,要改的数据都改好了。要把这些数据导入游戏,可以使用官方提供的插件,比较傻瓜式,数据会自动包装成可以直接访问的类。比如这是一个遍历并初始化所有物品模板的流程:





对话系统我在上一个烂尾的游戏里做过,没太搞明白。目前这个还没来得及做,就先不提了。
所有的这些数据也可以先一键导出为xml格式,再用别的方法加载到游戏里(运行效率自然更高点,也更灵活)。
但不管是哪种方法,都不是开箱即用的一条龙服务。如果你真的刚刚起步的话,我觉得光是数据导入这步就够折腾了。官方几乎没有提供文档,得翻他的demo学api的用法。然后像是物品的类要怎么写,对话系统要怎么实现,等等业务层面的东西,至少articy本身是不提供的,也别指望能全靠其他的插件。说实话,我完全不认为以你目前的水平能一个人搞定这么大的工程。你这步子太太太太大容易扯到蛋。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1战斗力 +1 收起 理由
mintslime + 1 好评加鹅

查看全部评分

回复

使用道具 举报

30#
发表于 2024-4-4 00:47 | 只看该作者
twine
回复

使用道具 举报

     
31#
发表于 2024-4-4 01:03 | 只看该作者
105gun 发表于 2024-4-4 00:44
我steam版的articy3使用时间超过500小时了。虽然绝大多数时长都是在挂机干别的(调试or写代码or摸鱼打别的 ...

另外讲一个比较怪的现象。可能是ui配色和布局的原因,我开着这个软件的时候往往写不出东西。对话和长文本我一般是用word写完再复制黏贴进去。
回复

使用道具 举报

     
32#
发表于 2024-4-4 04:27 | 只看该作者
GuardHei 发表于 2024-4-4 00:34
厘清依赖复杂的系统最好的方法就是图,现在游戏里渲染管线都在推frame graph管理渲染资源,打包的时候用bui ...

但是好像生成式AI就是不太能稳定地作判断吧,有时候它自己就会因为AI幻觉产生逆天逻辑
像你说的背叛这种如果没有定义一个人物关系的变量,那从程序代码上这层矛盾根本就没法体现,那其实任何自动分析都不可能找到问题。人能看到问题是因为人可以理解“这两个人关系变差了”这一层隐含的状况,而且对话上下文能不能直观地体现这点也是不一定的,如果写的不太直接那真人(事先不理解剧本的)也可能看不出来。理论上GPT可以试试但我不太看好它能理解过于复杂的隐含矛盾
回复

使用道具 举报

     
33#
发表于 2024-4-4 04:28 | 只看该作者
Tring 发表于 2024-4-4 00:37
万事都往全局FLAG/变量里写就完事了。
其实很符合屎山代码风格。

很快就会变得连自己都看不懂吧
回复

使用道具 举报

     
34#
发表于 2024-4-4 04:32 | 只看该作者
すぴぱら 发表于 2024-4-4 00:32
专注文案和任务就用固定的游戏框架往里面填字也没什么不好的

非程序员真的不要研究在代码上加花样没头的 ...

问题是非专业人士不代表对游戏系统没有想法啊,而且越是非专业人士,没有方便的自动功能辅助,单用flag管理事件不是更容易出错
RM想魔改官方的东西门槛其实挺高的因为基本没有文档
理论上既不需要专业编程又有自由定制空间的才是最好的
回复

使用道具 举报

     
35#
发表于 2024-4-4 10:57 来自手机 | 只看该作者
本帖最后由 Tring 于 2024-4-4 10:58 编辑
RTLordCaptain 发表于 2024-4-4 04:32
问题是非专业人士不代表对游戏系统没有想法啊,而且越是非专业人士,没有方便的自动功能辅助,单用flag管 ...

理论上不存在无编程门槛又能高度定制的系统。高度定制是建立在高度抽象的基础上的,而抽象正是编程的基本素养。
越便捷的东西越具体,越具体的东西越缺乏定制空间。
回复

使用道具 举报

     
36#
发表于 2024-4-4 12:04 | 只看该作者
RTLordCaptain 发表于 2024-4-4 04:27
但是好像生成式AI就是不太能稳定地作判断吧,有时候它自己就会因为AI幻觉产生逆天逻辑
像你说的背叛这种 ...

想要一步到位解决这个问题目前看来还是没希望,所以我只是想能不能慢慢逼近这个目标
ai肯定是不完全准的,就得看有没有训练特化的可能,只要有80%的准确度,我觉得作为助手就是有效率提高的意义的

—— 来自 S1Fun
回复

使用道具 举报

     
37#
 楼主| 发表于 2024-4-4 22:54 来自手机 | 只看该作者
铁甲钢弹 发表于 2024-4-3 23:24
楼主几年前好像发过同样类型的主题
翻了下这几年的收藏夹,感觉这么几篇文章可能有点帮助:
* indie ...

是的,那时候只是有一个大概的想法,这几年在找到可以摸鱼稳定的工作结婚养宝宝考证之余,尽力抽空学习了一点编程,写了大量的脚本和文案,读了各种乱七八糟的书。
果然还是不能闭门造车,论坛上大手子好多,还是要多交流多学习,也感谢你发的文章
回复

使用道具 举报

     
38#
 楼主| 发表于 2024-4-4 22:55 来自手机 | 只看该作者
感谢大家热情的建议和讨论,还是要多跟大家交流啊!不能闭门造车,我本来没对这个提问贴报多大希望来着……包括对网状任务结构设计的思考,楼上的大手子们也给我很多启发,谢谢大家!
回复

使用道具 举报

     
39#
发表于 2024-4-4 23:11 来自手机 | 只看该作者
Tring 发表于 2024-4-4 10:57
理论上不存在无编程门槛又能高度定制的系统。高度定制是建立在高度抽象的基础上的,而抽象正是编程的基本 ...

理论上是这样但rm你不抠他那个基本没文档的js 代码基本就没啥定制性了...
回复

使用道具 举报

     
40#
发表于 2024-4-4 23:12 来自手机 | 只看该作者
GuardHei 发表于 2024-4-4 12:04
想要一步到位解决这个问题目前看来还是没希望,所以我只是想能不能慢慢逼近这个目标
ai肯定是不完全准的 ...

问题是怎么才能针对一些未知的逻辑问题进行针对性训练呢...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|stage1st 沪ICP备13020230号-1 沪公网安备 31010702007642号

GMT+8, 2024-5-8 07:19 , Processed in 0.044110 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表