Project1

标题: 怎麼製作類似大富翁的遊戲? [打印本页]

作者: brackwind    时间: 2017-2-7 19:41
标题: 怎麼製作類似大富翁的遊戲?
前幾天在網路上找到「すごろくプリンセス」這款大富翁遊戲
聽說是用RMVA製作的
試玩後我嚇了一跳,沒想到能做出這種品質的大富翁

我也想試試做出大富翁的遊戲
除了擲骰子前進,踩格子發生事件這基本功能以外
希望還加入跟主角競爭的NPC玩家,以及跟NPC玩家在同一格時會觸發事件的功能
請問這種大富翁要怎麼做,是不是需要腳本才行?
作者: 类人猿    时间: 2017-2-7 21:43
用事件也可以做,只是有些麻烦,之前试过,用公共事件并行处理,不同地方的不同效果可以用不同区块表示,人物到达后,采集地图区块并执行相应公共事件。
流程大概是:
开始→判断(道具引发的停留或不能掷骰,(若不能行动,则跳至 * 处))→掷骰子或使用道具(用两公共事件分别处理)→判断(道具效果)→掷骰(公共事件随机点数),确定步数→确定剩余步数:若不为0,则判定(直行或左右转)并前进一格,然后重复执行此环节直至为0;若为0,则停止,进行下一步→ * 判断地图区块效果(收过路费或升级房屋买地之类)→完成(然后返回 开始 处)
抱歉,换人之类的(包括电脑制动执行)我没法了,猜测可以用事件,但脚本应该更方便。

还有,这个是原始大富翁的(伪)流程。你说的游戏的流程删删减减也就行了。
作者: 类人猿    时间: 2017-2-9 21:25
@brackwind 如图,玩家移动时就把X和Y轴坐标更新。比如玩家初始在(1.1)则设置变量x=1 y=1,若向右走,则x+=1

其实有脚本方便多。

未标题-2.png (27.92 KB, 下载次数: 29)

未标题-2.png

作者: 类人猿    时间: 2017-2-10 20:30
@brackwind   多人问题  格数问题:一类地形用同一个区块,你能弄出65+个算你牛

作者: guoxiaomi    时间: 2017-2-10 22:22
本帖最后由 guoxiaomi 于 2017-2-10 23:46 编辑

利用事件和区块,完全不用脚本也有合适的方法~

(抬头看了一眼是VA区,吓得我立即补充了这个合适的方法)

这里拿环形地图举例:

1. 设置一个变量叫“行动数”,用来表示玩家or角色将要移动的步数
2. 地图绘制好,这样分区块:玩家在此位置下一步是向上走的,记为区块1,向左,记为区块2,向右记为区块3,向下记为区块4
3. 把玩家随便放在哪里,在地图上就行。
4. 设置这样的公共事件:循环:当“行动数”不为0时,判断角色脚下的标记,如果是1,角色向上走一步,如果是2,向左一步,3/4向右、下走一步,等待(or等待移动结束),“行动数” - 1。循环完毕
5. 每回合调用随机设置“行动数”,并调用4中的事件

这样就可以尽可能利用少的区块,然后做出固定路线移动的效果啦

如果地图有交叉的部分,对应的格子用区域5,需要每次移动后,把角色脚下的地图ID记下来“前一步的区块ID”,到了区域5,对“前一步的区块ID”进行分歧,再决定角色的行走方向。




范例已上传,请看看各事件的内容和地图区块的设制,左上角的事件不要漏掉。

大富翁比贪吃蛇坦克大战一类游戏更麻烦的地方在于:大富翁是要存档的……

此外,你应该还需要《事件仓库》

相同的部分可以放到公共事件里……我其实觉得大致思路说清楚就行

richman.zip

1.43 MB, 下载次数: 52


作者: guoxiaomi    时间: 2017-2-11 14:47
意思是說半透明的玩家跟著旗子一起行走嗎?

对,全透明的玩家跟着棋子一起走,如果是我就会这么做
這樣的話格子事件判斷是靠獲得位置信息變量來判斷囉

大富翁可没说必须一格一格的走,你可以每次走三格,把地图画大些,然后获得目标位置附近的信息变量什么的……
那變量5(事件區域ID)的值是4.10還是兩邊加起來的14

事件区域ID,是地图上画上去的……打开区域编辑模式看看……
作者: 晴兰    时间: 2017-2-11 19:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: guoxiaomi    时间: 2017-2-11 22:23
大富翁这种回合制的游戏,就按照顺序来嘛……

角色事件:
流程事件结束转移到某个角色事件
1. 回合开始
2. 使用道具
3. 投掷骰子
4. 开始移动(此时无法操作)
5. 单次移动(每1步触发)结束依次触发事件(自己定次序)
  5.1 地形事件,指在此地会触发的效果,比如过路费,银行
  5.2 碰撞事件,检测是否有其他棋子和自己在同一格,比如交易
  5.3 回合事件,行动步数到一定时候自动触发,比如加速卡,路障
6. 停止后的选择,同上
7. 回合结束,转移到流程事件

流程事件:
角色回合结束转移到流程事件
1. 回合事件,比如计算日期,发放奖励
2. 决定下一个玩家
3. 下一个玩家回合开始,转移到角色事件

此外加一个“随时暂停”查看菜单的功能就OK




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1