猫史档案馆


【RPG游戏教程】杰西本西,在喵帖

用户:JessieCr024JessieCr024查看:43 回复:51 评论:43 创建时间:2020-04-17T21:17:31


这里还是你们的杰西,大概半年没在社区了

再次为大家带来RPG游戏教程

社区水的不要不要,太*龙门粗口*缺心眼了,希望心有余而力不足的小fo伴得到帮♂助

先贴个视频勾起大家的兴♂趣

这是杰西的RPG游戏框架,链接https://shequ.codemao.cn/work/342喵199

emotion_编程猫_冷漠

因为运行量极大,虽然有些聊胜于无的优化但是依然对配置要求有点高。

RPG游戏的一些其他信息咱也不多说了,大家想知道有如下途径

center_image

那么杰西将从很多小的方面来讲这个东西怎么整

警告:由于以下内容为杰西即兴创作,可能但不一定含有怪梗、个人梗、嘤嘤嘤、cece、哲学,情谨慎阅读

另外讲的顺序很迷

下面是正片

首先RPG游戏的元素多种多样。一个游戏的基础是能动。通常吧,RPG游戏都有角色这里跑那里跑的

RPG的两种移动

杰西个人把RPG游戏的移动归类为两种主♂动和被动。主动型的指角色移动,场景固定。通过坐标的变化来表现移动。被动型的指场景全部移动,角色位置固定,通过相对运动来表现角色的移动。那么这两种移动方式有什么区别呢?

首先主动型的,因为一个角色满地图跑,很简单很容易做,运算量啥的很小,但是很喵的是这种方式做出来场景不能太大,一般用在游戏大厅这种场景(通天塔大厅为例)。用这种方式做的地图动感不是很强,玩着没那么爽♂

然后被动型的话,就像头顶视频里那样。难做一点,运算量比较大,需要用到一丢丢函数知识。用这种方法做的游戏地图是要多大有多大(卡喵为止),适用于游戏主世界大地图什么的。这样做出来的游戏画面动感交互感比较强,(不得不说很吃优化)

center_image

center_image

(以上是一种被动型的基础实现方法,图中的x和y变量仅用于储存数据,可以不加上去)

RPG游戏的背包系统

RPG游戏可不能缺一个背包系统。包括在社区火到糊的UT等游戏的原作,都会有一个背包系统。这个背包系统实在难做。最好理解的方法是用逻辑积木怼。但是如果用普通的逻辑积木运算堆叠,不仅导致运算量奇大,很容易出bug,加个物品就要改一堆积木,而且还会让你彻夜难眠,满脑子都是“如果……否则”。如果你打算弄一个装很多东西的背包,那不花个半天根本做不到。尤其当你背包里的东西能使用并且有一些效果时,光用逻辑模块给人的感觉就像大脑皮层插满积木然后里面塞满数据。

center_image

(上图是杰西的一个没发布的失败的模板作品,就是用这种HP方法)

这个时候就得学聪明点,不要光靠变量和逻辑积木。这时候,就要让我们的大宝贝儿——列表出来了。

center_image

一个物品,通常有许多数据。例如我们有A、B、C三个东西放在背包里。A吃了回体力,B吃了回水分,C吃了回血。我们首先做一个字典列表,为这些物品编号后整整齐齐的摆进去,然后请个专业团队载歌载舞的……咳咳(做出一副严肃的样子),就像我们学字母时,用字母卡片会有26张找到你头疼,但是用字母表只需要一张而且一目了然(一个字母表才28个字母,一个大型的RPG游戏的物品肯定还更多)。接下来再创建一个或几个数据列表。这些数据列表可以包含很多信息。例如在“回血字典”中,A、B、C对应的值分别为0、0、100。使用物品的时候用函数把这些列表都过一遍,一来方便调用,同时也方便修改,其实和数据库一样(drop警告)。

center_image

center_image

逻辑积木的能力是有极限的!除非……使用列表!逻辑积木!我不要你啦!!!(错乱

这里是核心知识了。其他的界面啊什么的随意就好

(手好累qwq

RPG游戏的战斗系统

接下来嘛,还是继续讲些枯燥无味但是略有p用的东西。虽然不是每个游戏都要打怪,但大多数还是有这种系统的。像社区里现在很火的UT就是这样。战斗系统往往扩展性很强,可以做出一些让人耳目一新的东西。但是在做之前,我们首先要了解它。

战斗系统分为两种,一般分为普通战斗系统和ABS战斗系统。事实上这两种区别是根据RM圈子的说法定义的。这两种系统有什么区别呢?普通战斗系统通常被认为是战斗在其他界面进行的,模式多样的,例如我们的UT,战斗框架也就那样,只是一些敌人的变化。这种战斗模块是可以随意扩展的,例如杰西做的框架里战斗模块是近似UT同人作的。ABS事实上很好实现,所以我们先来说一下普通战斗系统。

普通战斗系统通常会独立制作一个战斗场景,在主世界遇敌时,把敌人数据和玩家数据加载好,然后进行系统设定的操作。需要注意的是,这些模块之间的交互必须很细心的弄,例如遇敌时,主世界的事件都必须停止。否则玩家和敌人战斗的如火如荼时,后台主世界的敌人凑过来,问题就大了

下面先讲一下杰西自己做的战斗系统

center_image

杰西做的战斗系统非常简单,融合了许多UT元素,事实上相当于套了个同人。在这里我们只需要把主世界的进程停止,数据导入,打完以后数据导出就好。这个说实话真的不难,主要是很注重细节

不管做什么一定要注意细节,这是为什么杰西能做出来这个作品的原因(自大

最近看了一下社区很多首页的作品,有bug那些通常都是一些细节不做好。做的时候一定要给自己留debug通道,不然会被bug按在地上☀。例如刚才说到的,从主世界切入战斗系统。如果你刚才看了杰西的作品,可能会发现,若两个敌人同时冲向你,当一个敌人碰到你并处发战斗动画时,另一个敌人会停下来(礼让)。和第一位敌人的战斗结束后,后面的敌人才会追过来。其实只是用一些很简单的变量来达到。假设有一个默认为0的变量a,触发战斗时,我们把a设置为1,那么在其他敌人的源码上加一个逻辑积木,例如敌人移动的源码是“重复执行x坐标增加1”,我们在他头上套一个“如果a=0”,那么很轻松的就能实现。有一些游戏暂停其实也是这样达成。非常简单实用,大家在日常撸代码时一定要多利用这种小技巧。

(下次再讲讲编程中的小技巧?咕咕咕!)

ABS系统基本不用脑,不讲了(懒),最简单是设定一个攻击范围,在范围内点击敌人进行攻击。

好像大概讲完要点了(?)

 

那么RPG游戏的扩展能力是十分的强,大家可以加上好多元素,例如最基础的剧情,还有一些小游戏,像UT里的关卡那样。

(希望这篇帖子能让那些想出大作但是心有余而力不足的人看到啊wwwww)

那么杰西给大家带来的教程先告一段落,有一些补充内容以后再说吧(咕咕咕)


回复

上一页1 页 / 共 2下一页
JessieCr024JessieCr024

华丽的开头,潦草的收尾√

点赞0


评论


YDSmnxYDSmnx

上去

点赞1


评论


Mellin_AmpMellin_Amp

Wryyyyyyyyyyyyyyyyyyyyyyy

点赞0


评论


YDSmnxYDSmnx

捞 

点赞1


评论


一个XXX真萌新一个XXX真萌新

洛阳铲!

点赞0


评论


JessieCr024JessieCr024

鸡泡yyds√

点赞1


评论


玄武国最最强的暗影刺客玄武国最最强的暗影刺客

挖坟ing

点赞0


评论


LUS圣武士LUS圣武士

emotion_编程猫_厉害了

点赞0


评论


哈迪斯猫哈迪斯猫

666

点赞0


评论


PTG_Little_冷杀PTG_Little_冷杀

666

点赞0


评论


帅气的TT帅气的TT

哇哦,这个教程给我正在做的一个作品极大的灵感,唯一的缺点就是我做出来的东西电脑运行不了(维持在5帧左右😁)

点赞1


评论


ZCH编程小贝壳ZCH编程小贝壳

RPG是个什么

点赞1


评论


LeecLeec

捞一下

点赞1


评论


哈斯迪喵哈斯迪喵

333次浏览……

19条回复……

看来大家对学习……

点赞1


评论


想改个名但都存在了想改个名但都存在了

666,开做

点赞1


评论


YDSmnxYDSmnx

杰西冲冲冲

点赞1


评论


LeecLeec

不过这些特长的代码,真是难为我了

点赞1


评论


时崎狂三qwq时崎狂三qwq

666,我也有灵感了

 

点赞1


评论


想改个名但都存在了想改个名但都存在了

我的脑袋要爆炸了!做了两天才刚开始核心部分!!!啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

点赞1


评论


蓝猫sir诈尸了嗨嘿嗨蓝猫sir诈尸了嗨嘿嗨

可以啊,白嫖教程了,谢谢emotion_doge

点赞1


评论


假编程猫258假编程猫258

信 息 量 过 大

点赞1


评论


帅气的TT帅气的TT

kitten3有方便的跨屏广播(各个地图间代码和元素很协调),kitten4有矢量图(kitten3的位图放大后模糊到不能看),好纠结!

点赞0


评论


FleroviKumFleroviKum

我的封面作品操作跟这个相似(不打广告),就是人不动背景和NPC动

点赞1


评论


程序猿C6H806程序猿C6H806

简化它不香吗?

点赞0


评论


SHS不是奥尔菲斯而是SHS不是奥尔菲斯而是

太麻烦

点赞0


评论


气人训练师扣子气人训练师扣子

感觉就像大脑皮层插满积木然后里面塞满数据

这个好形象我乖乖摘抄

点赞1


评论


TafiTafi

有模板能使用吗emotion_雷电猴_举手

点赞1


评论


咚咚锵哦咚咚锵哦

看看就好了

点赞0


评论


恬酱童屑./恬酱童屑./

没看懂 懒得看

点赞0


评论


YOF冇人GGYOF冇人GG

确定这不是一本书

点赞1


评论