设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 4509|回复: 11
打印 上一主题 下一主题

[策划构思] 脚本ARPG程序流实现方法!个人见解。

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1316
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
跳转到指定楼层
1
发表于 2012-9-3 16:26:39 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

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

x
本帖最后由 九夜神尊 于 2012-9-3 16:28 编辑

前言:
很多人都在写ARPG,然后一坑又一坑,就算填平了坑,效果也不尽人意!(虽然我也有坑,坑也比较坑!)
很多人都有不同的思路。

不过我在这里说的是我个人对ARPG程序流的实现构思。以作拍砖引玉(拍?)!!!

会用到的词汇:
主角:接受玩家控制的对象
敌人:和主角对立的对象,也许以上有不对的地方,希望不要在意,什么是主角敌人大家都懂。
角色:主角,或者敌人,当前描述的对象。
行动:角色在做什么,比如说走,跑,跳,打,挨打,死了……
      根据复杂的程度,角色的行动是唯一的,或者不唯一。比如说跳跃过程中攻击,可以说是跳跃+攻击,也可以说成跳起来攻击。
      但是行动唯一实现起来简单的多。
攻击器:由攻击生成的一种概念化的东西,以下会详细描述。
状态:角色收到的状态,冰冻,中毒等等。
结构:

首先,ARPG第一个让人去设计的就是我方砍的动作!或者动画。于是我就从这里下手开始讲。

一起来分析砍这个动作的前前后后!
1:按下某功能键后实行攻击,于是主角开始攻击。
2:系统开始检测攻击范围内是否有对象。
3:对捕捉到的对象伤害,动画!!
以上流程,大概就是用事件也这么做的吧?


如果你打算做一个比较流畅的ARPG。那么就应该细化以上的步骤


1:不变,按下某功能键后实行攻击,于是主角开始攻击。


2:主角开始攻击,主角进入攻击行动


3:进入攻击行动后按步骤更换主角动作,以及在适当时候播放应该播放的动画。
    于是我要好好讲讲这个步骤3。
    就像事件一样,角色进入攻击行动以后,开始执行攻击行动里面的每个步骤,举刀,挥刀,播放刀光,攻击。
    那么其实在任何行动都可以这样,让任何行动分解成一个个步骤。比如说使用技能,举杖,吟唱,播放魔法阵,挥杖,魔法落下。
    无论主角在做什么,都处于一种行动当中,静止,走路,跑步
    那么例举这几个行动,
    静止:基础行动,主角没有别的行动的时候,回到这个行动,该行动为循环行动,循环更改角色动作,同时该行动接收任何信息。(按键,
    是否按下,鼠标等等)
    敌人的静止行动不太一样,敌人不接受按键信息,但是接受由AI传送来的消息。
    走路:当按下移动键(可以是方向键也可以是鼠标,总之就是玩家操作移动了。)该行动为循环行动,循环更改角色的动作,同时该行动接受部分消息。(
     移动键放开,跑步键按下,攻击键?(大家想想,移动中能否攻击,和这里是否接受攻击键什么关系。))
    跑步:当按下跑步键(移动键+XX键??)该行动为循环行动,循环更改角色的动作,同时该行动接受部分消息。:不在熬述重复的东西。
   
    以上几个行动如果大家都理解清楚了,别的行动我想都不在话下了吧?

    每做一个行动,就编写一套动作。以及该行动所接受的按键。


4:系统开始检测范围内是否有对象。
   这里我要讲一讲,什么是攻击。我一圈打过去,那么在我拳头的位置,会受到攻击。
   我一刀砍过去,在刀的范围内,会受到伤害。然后我就引进了一种叫攻击器的概念。
   攻击器:由攻击生成的一种概念。该事物也许可见——火球。也许不可见——出拳。凡是要对敌人或者队友造成影响(好坏?、)都需要攻击器,。  
   攻击器有自己的行动模式,比如说火球,火球会向同一个方向运动,同时可以飞过水面,当撞到敌人,或者墙面时产生爆炸。
                           比如说法宝,它会围着主角转等等。
   攻击器有自己的攻击范围——用刀砍的时候,对面前一定范围内的敌人造成伤害,于是,刀砍的范围为主角面前一定范围。
   激光攻击的范围为一条线,炸弹攻击的范围为一个圆……。为所有的攻击都设计一个攻击器吧!
   

   攻击器也是为一种角色,它拥有像角色一样的能力,也可以拥有行动(静止,移动,转动,反弹等等……),也可以产生新的攻击器(分裂型,台式坦克系统,台式激光系统,火墙(玩过传奇的 懂))攻击拥有攻击时机,当攻击器行动步骤到攻击的时候,攻击器会将范围内的对象执行攻击。
   攻击器会消亡——火球爆完,一刀砍完,然后什么事也没了,这就是攻击器的消亡。
   攻击器也可以作为障碍系统,拦路石等。
   攻击器也会播放动画,声音等等。
   攻击器也可以接受按键(比如说定时炸弹)   
   攻击器有自己的角色图像。

   总之,攻击器和一般角色一样,除了它会消亡!还会攻击。

   那么,如果让主角用刀砍的话,那么在挥刀的时候就应该产生普通攻击的攻击器了。
————————————华丽的分界线——————————————————————————————————————————————————————
动画播放器:
ARPG的动画,必须脱离主角的束缚,别不懂,一刀砍上去,是在敌人身上出刀光,还是出了刀光敌人在刀光范围内哪个更真实。
即时没砍到敌人,也应该播放刀光不是??
伤害显示器:
所有的伤害由这里显示给玩家。
AI管理器:
如果是把敌人的AI放到敌人对应的事件里,那么这敌人就永远是一个敌人,不会懂得战术。
这里讲一讲AI管理器如何实现!
AI管理器存在于地图场景中的一个对象。
不断地搜索一定范围内的敌人作为控制对象(优化,要不一个地图几百个敌人!!!管理器爆了)
查看这些敌人是否已经有任务。如果没有任务,指令敌人寻找任务
或者直接给敌人布置任务。
如果有任务,就指令执行任务(寻路,放弃任务……)
敌人AI
敌人AI听从AI管理器的指挥。
敌人AI很简单的条件执行。比如说HP多少使用什么技能,开关啊,变量啊,限制技能等等!
寻找任务,在自己可执行的范围内,随机抽选一个提交给AI管理器。
执行任务,按照任务步骤逐步执行(比如说使用火球打主角,的步骤就是朝主角移动并检测距离,若足够近,则释放火球。任务结束)
放弃任务,若改任务难以完成,当前任务会放弃,转而执行另一个任务。



以上是我写ARPG的时候的经验也许大家都会不过拿出来分享,以作为抛砖引玉,
以获得更多的ARPG流程构思!也希望写ARPG的童鞋们有坑不坑。
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。

Lv3.寻梦者

梦石
0
星屑
1316
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
2
 楼主| 发表于 2012-9-4 19:43:51 | 显示全部楼层
琪露诺 发表于 2012-9-4 18:11
看了上面那些咱觉得可以整理下= =
首先分成两大部分:数据、画面。数据就是处理游戏内部逻辑的啦。画面就是 ...

恩,要把所有的东西理清,这样坐到后面才不会疯掉。

点评

自己也是随便想了下觉得如果要认真研究和设计ARPG的数据结构可以有很多很多的篇幅了……  发表于 2012-9-5 17:47
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1316
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
3
 楼主| 发表于 2012-9-7 12:40:49 | 显示全部楼层
本帖最后由 九夜神尊 于 2012-9-7 12:41 编辑
yuminhao007 发表于 2012-9-7 00:23
规划算比较呆的算法吧,,难度低、操作麻烦,,
感觉小区域直接穷举组成就行。


给你看一看我以前用到的协议
scope
   #攻击器的攻击范围,每次攻击都会调用范围获取目标
   #可以返回以下三种格式
   #两个数的数组[@x,@y],这样代表一个点。即攻击范围为一个点
   #四个输的数组[x0,y0,xt,yt],这样代表一个矩形范围
   #由数组组成的数组[[x,y],[x0,y0,xt,yt],[x2,y2]]
   #这样表示复合范围,数组里面的范围。都会被索取
   #但需要注意的是这些范围不能重叠,重叠范围内的敌人
   #会被多次获取,需要获取完以后去重(为了加速,不能加入自动去重)

实际上就是把一个复杂的形状分解成多个矩形罢了。

评分

参与人数 1星屑 +36 收起 理由
疯狂异形 + 36 +10086

查看全部评分

精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-9 08:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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