幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4068|回复: 18

战斗模式----事件直接战斗

[复制链接]

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
发表于 2005-10-15 22:10:14 | 显示全部楼层 |阅读模式
彻底改变战斗模式----让事件直接战斗
   众所周知,游戏大体上是利用图片和数字组合的东西,游戏中的战斗也是一样,其实,只要我们设计一下,完全可以只用事件就设计rm新的战斗格式.(不用脚本还是不行)
   rm的固有战斗是引用战斗者的图片再加上动画达成的,我们现在,直接的把主角移动到一个特定的地图上进行战斗,敌人也不是图片,而是事件.不过,设计这工程好比是个重工业,只要你知道原理了,设计任何技能都很容易.
   其实思路很容易---把rm的固有战斗用事件的方式表示出来,也就是就说,用事件把数据库中的敌人,队伍重新写一次.
   好了我们先不管数据库什么的,先来看看战斗地图吧------设计的战斗样式是左边敌人,用2个事件代替;右边主角,用3个事件代替,这里全部用空白事件,因为你读取的敌人不同,而且相信根据主角离队加入,主角也不一定一样,所以要用空白.然后战斗方式和普通的rpg没什么不同,都是你一拳我一脚的模式
   公共事件"敌人类型"的设计:把敌人的maxhp hp maxsp sp at df sat sdf speed等数据用变数写一次,
----设一个变数"敌人类型",然后写,当"enemy type"=1的时候,写第一个敌人的情况,比如:maxhp
=5,hp=5,maxsp=....,然后,你设计几个敌人,几这么一循的写下去.(很烦人的工作).写这个的目的,就是为了战斗的时候以后读取这个东西;
   敌人队伍:模仿队伍写的东西------设计一个"敌人队伍"的变数,比如,当这个变数=1的时候,就是1个敌人a,2的时候是2个,3的时候,4的时候,这里分3种情况----一个敌人,不同敌人,相同敌人;一个敌人最好说,直接将设计好的enemy type的数据调用就可以了,其他2种情况要再设计一个备用的maxhp hp maxsp sp at df sat sdf speed这写东西,为了与前边的不同,加一个1字区别.
当然了,你要在战斗上出现3个敌人也是一样的道理.相同的敌人也简单,就是把maxhp hp等数据
赋予给maxhp1 hp1;不同的就要一步一步的写了,不过也就是复制设计好的东西.
   主角:光有敌人不行,还要有主角.主角可以偷点懒,数据可以直接调用数据库中"主角"的数据,
当然了,变量名称还是要自己写的----比如:变量"夜夜的maxhp"就是夜夜的maxhp,.....魔法,攻击防御,有几个主角就写几次(什么夜夜的,66的,Slice的)
    我们实验一下:设计2个地图,随便.一个是战斗地图(全部空白),一个是事件地图.我们在事件地图上设计几个可怜的敌人----蓝蛇,66,Jing和几个主角sizz,夜夜,sailcat,主角碰到敌人就把主角移动到战斗地图开始战斗.这里要加一点-----记录坐标,设计一个公共事件"进入战斗",变数"记录x","记录y","记录id",几个变数分别表示主角的x,y,和地图id,然后把主角面向固定,并透明就可以一把主角跳到"战斗地图"上来了.比如:"敌人类型1是蓝蛇,和事件接触就和1个蓝蛇战斗
那么,就在事件上写:"enemy type=1,公共事件"enemy type",变量"敌人队伍"=1,公共事件"敌人队伍"(这个前提自然是et=1的时候是蓝蛇的数据,敌人队伍=1的时候是1个蓝蛇了)
   再写一个公共事件"敌人的描绘"----这个比较简单,就是当"敌人队伍"=?的时候,将战斗地图上左边"敌人"的事件改变图形.主角图形的描绘是根据现有的主角来看到底描绘不描绘的.

   战斗采用时间条的方式-----谁的时间条满了,那么谁就行动.

   战斗开始----由于敌人数据在碰到敌人的时候就以已经读取了,现在就是调用公共事件"图形描绘了."----总之,音乐,图形,背景描绘完,就打开一个"数据读取完毕"的开关,把数据放在那.
   时间条:这个是个小学的路程问题了,速度(speed),时间(比如7砧),路程(时间条),每个主角,和左边的2个敌人都写一个,我还设计不了通用的时间条.比如:"每4砧变数"sizz的时间条"就加
sizz speed,当"sizz 时间条"的数值到80的时候,让sizz行动.其他的也是一样.因为行动是个单一的事件,所以用变数"行动代号"表示谁的动作是什么.比如"代号"=1的时候是sizz的攻击2是防御.3是特技,4是物品,然后5的时候夜夜攻击....因为物品是通用的,就全部用3好了.
   公共事件"选择敌人":选择图标用一个事件图片代替,出现条件:当"行动"=!0的时候出现,这个地方我也说不明白----大体就是先看"行动"的数据判断图标应该出现在敌人那边还是我们这边---当"行动"=3的时候(使用物品),我们这边----然后自动执行事件"按上,把事件移动到角色1前边,按下..."然后按确定就怎么样等等.
   物品:物品的设计可以直接在"物品"中设计,不过物品的作用要在公共事件中设定.对了,这之前要根据"选择"的对象确定应该加谁的数据.这地方是个难点.但也很好理解.就是物品在不同的情况下使用不同.
  特技:和物品是一个模式,不过特技主要有几个分类:攻击,祝福,诅咒;攻击魔法最简单,就是数据加减,攻击过后,根据"行动"那个变数(判断攻击的人)来调用攻击人的攻击力,然后根据"选择敌人"来判断攻击的是什么人,然后就是数据的加减问题.那么,持续魔法呢?设计一个"持续"的变数
比如当"持续"=1的时候,表示魔法祝福,效果是"使我方单人的攻击+5",这和物品是一样的,都是用"行动"和"选择"判断受魔法的人,效果也就是动画+数据的加减.
   大体上就是这么多----每次"行动"完毕后,就把"行动"归0,把响应的开关关闭就可以了,这样那个时间条就继续执行了,等待下一个行动的人.最后是判断胜利和失败了,很简单:"当敌人1的hp=0并且敌人2的hp=0的时候胜利----胜利也要写一个公共事件,这个你自己去写,所实话,很麻烦
什么得到经验啦,得到物品拉(这个我还没有设计,我只设计了得到经验)----最后就是把敌人1,敌2的数据全部归0,把主角跳会到变量为:""记录x","记录y","记录id"坐标地图上,并切把面向固定解除,把主角透明改位普通.
最近,迷上八云紫大婶了
回复

使用道具 举报

14

主题

375

帖子

5760

积分

⑦老手

科学大迫力研究所

积分
5760
发表于 2005-10-16 00:59:45 | 显示全部楼层
这个就是从没有脚本的rm时代流传下来的 自战 的制作方式
搂主不是第一个做的人,也不是最后一个。
白之绊是官方的自战示范,oz01有一个4对4的模板,而在下也正在做一个自战的游戏....系统基本架设完成。
自战一定要有好的美工。。不然费那么大力气从固定系统里跳出来,却被美工方面的问题困扰做不出好的结果真是亏了~!!

我还是主张事件自战,以rgss为辅助,做起来突然觉得rm功能很强,却不见得有能耐实现..比如同时10个层的图片运动,恐怕大部分机器都会卡的没法看 .....
大部分自战的事件程序就如楼主所说.....但,既然是有了空前的自由度,那我觉得还是做一些比较新奇的或者经典的系统好了~

恩 恩
思路区有这样的论题才是思路区

想说两个我做自战的心得

1 变量尽量组织到一起,一定要做一个表格来记录使用到的变量,方便查找。
2 人脑袋的内存每次用都需要预热,呵呵,建议使用经典的框图法来表达自己的思路,使得隔天再次编写能够快速进入状态。
3 多个变量赋值使用脚本要便捷很多。
4 多写注释,会有很大的用处
5 标签,分歧...一定要用到巨熟
6 使用循环和中间变量来帮助赋值,会有事半功倍的效果
7 自战有两条线
   一条是给玩家看得画面效果
   一条是背后运行的变量开关
  一定要让这两条线的元素各个对应,不然就会出错。
8 频繁测试,以免在错误的情况下做无用功
9 不要怕麻烦,怕麻烦别作自战....最保险易懂的一种方法是“穷举法”

以上,希望这个帖子能够成为自战讨论的平台,带动思路区的活气
大家互相切磋,共同提高。
继续荒野与渡鸟的那场梦......
回复 支持 反对

使用道具 举报

7

主题

249

帖子

2413

积分

⑥精研

积分
2413

地图奨铜赏

发表于 2005-10-16 01:13:26 | 显示全部楼层
本来也想自己做个事件自战,可是苦于没有美工
回复 支持 反对

使用道具 举报

14

主题

375

帖子

5760

积分

⑦老手

科学大迫力研究所

积分
5760
发表于 2005-10-16 01:38:15 | 显示全部楼层
我是打算做出来再找美工美化啦。。。。
自战的美工多半会累死。。。。。
继续荒野与渡鸟的那场梦......
回复 支持 反对

使用道具 举报

7

主题

52

帖子

1514

积分

⑥精研

积分
1514
发表于 2005-10-16 09:54:33 | 显示全部楼层
我不怕美工,只担心地图战斗系统好不好用,自己能不能掌握。
那个4对4的范例我玩过,确实比原来的效果好。
回复 支持 反对

使用道具 举报

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
 楼主| 发表于 2005-10-16 10:01:03 | 显示全部楼层
的确如苹果说的,做这个东西首先要打个草稿,然后变数尽量写在一起-----第一次没有整理.所以思路完全混乱,结果重新做了一次呢
最近,迷上八云紫大婶了
回复 支持 反对

使用道具 举报

13

主题

92

帖子

713

积分

⑤进阶

传说中的路人甲

积分
713
发表于 2005-10-16 10:13:13 | 显示全部楼层
目前正在做SLG...
发现用事件做工作量简直惊人...
然后想做一个事件型的战斗动画
发现最大的困难就是特技数据的读取
如果丢开系统自带的特技系统自己用变量做...
真的不敢想象
这个也是<白>的自战的死穴啊...
万恶的BT将可爱的手提摧残得体无完肤 从此与深夜篮球惜别OTL... 继续艰苦的RM之路...
回复 支持 反对

使用道具 举报

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
 楼主| 发表于 2005-10-16 10:49:46 | 显示全部楼层
关于技能还是容易制作的,技能可以直接在技能中设计,只不过技能的作用设计是用公共事件
而已,2个敌人,3个主角,每个角色受2个状态法术,外加"法术代号",还加一个"受术时间"x5,基本上21个变数,可以解决状态法术.
   不过21个变数还只能做最基本的,象心灵控制魔法还要增加变数.....果然麻烦
最近,迷上八云紫大婶了
回复 支持 反对

使用道具 举报

18

主题

230

帖子

3055

积分

⑥精研

积分
3055
QQ
发表于 2005-10-16 10:50:37 | 显示全部楼层
事件做SLG……
就看你是不是钻进牛角尖了……
战棋游戏最复杂的地方在于AI
其他部分都很轻松
当然
你要是去钻牛角尖
折腾一些没什么意义的东西……
那就没准什么样了……

无论做什么
都要尽量利用RMXP现有的东西
例如我的4v4
道具栏和HP、MP显示栏都是RMXP自带的
稍微改了点脚本
灵活运用脚本与事件结合
将会事半功倍
回复 支持 反对

使用道具 举报

13

主题

92

帖子

713

积分

⑤进阶

传说中的路人甲

积分
713
发表于 2005-10-16 11:40:13 | 显示全部楼层
AI...那是永远的痛...
做强了费神
做弱了又不好玩
还是留最后做算了|||OTL

当然改脚本会比较容易
不过实在不大想碰
<白>不是也全事件构成吗
万恶的BT将可爱的手提摧残得体无完肤 从此与深夜篮球惜别OTL... 继续艰苦的RM之路...
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-6-6 23:58 , Processed in 0.027944 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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