从零开始的 RPG 游戏制作教程(第四期) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
DreamerQQ
V2EX    程序员

从零开始的 RPG 游戏制作教程(第四期)

  •  
  •   DreamerQQ 2020-12-15 09:48:59 +08:00 1983 次点击
    这是一个创建于 1774 天前的主题,其中的信息可能已经有所发展或是发生改变。

    往期回顾

    前言

    第一期:制作基础场景

    第二期:让勇者和怪物登场

    第三期:让勇者和怪物登场

    到目前为止,我们已经接触了如何制作简单的游戏场景,如何放置装饰物、单位,如何修改单位属性,并且通过简单的数学计算来获得我们需要的强度,从而使得我们能够知道放置多少个怪物、在哪里放置怪物。 在本期,我们会从纯理论的角度聊聊我们的第一关,以让你能够大概了解后续更新中我们要讲述的内容,以及这些内容围绕的中心点。

    第四期:从理论的角度简单聊聊关卡

    一个关卡拥有明确的挑战目标、完成条件、胜利和失败逻辑。 关卡可以简单到只要将一个角色运送到指定地点,也可以困难到将一个角色运送到指定地点。

    这两者有什么区别呢? 第一种:让克里夫出村。 第二种:让克里夫突破怪物的层层包围,利用村庄有限的资源,在不断的战斗中逐个击破敌人,然后直达敌人的腹地,击杀本地的敌人领袖,得到边境出口的钥匙,然后击败守卫出口的门卫,用钥匙打开出口离开。

    通过对“过程”的拓展,我们获得了一个复杂的关卡。尽管我们可以把最终目的用“让克里夫出村”这样一句简单的话语来描述,但实际上我们必须考虑完成“出村”这一行为需要做哪些具体的事情,并且不能忽略达成这些小步骤需要的准备、消耗。

    一个显而易见的事实是,如果我们让克里夫在离开出生点后面对的第一个怪物就是强大的 boss 。如果玩家没有任何一丁点胜算(即便是让那些天赋极佳或经验丰厚的精英玩家来玩),那我们的玩家一定会跳起来大骂这游戏难得要死,根本玩不下去。 如果“玩不下去”不是我们刻意传达给玩家的印象,那这种关卡实际上就是我们应该尽量避免的,因为它不符合我们想要达到的目的,而设计的目的正是让玩家感受到到我们希望他们感受到到的体验。 尽管现在我们有很多刻意传达“难得要死”感受的游戏(如《黑暗之魂》、《只狼》、《茶杯头》、《蔚蓝》、……),但实际上玩家总会在不断死亡中越来越熟练如何操作自己的角色,以及越来越习惯 boss 的技能机制,并且学会如何躲闪。如果这些游戏真的难到让玩家们看不到一丁点胜利的希望,那玩家们恐怕无法欣赏这类游戏的魅力。

    因而通常情况下我们设计的关卡,需要确保我们的玩家能够把游戏玩下去。不过在那之前,我们需要明确一个概念,“目标群体”。设计一个让所有人都喜欢的游戏是极其艰巨的,而实际上就算真的这么做了,人们往往也不一定真的会去玩这款游戏(典型的,比如他们忙于奔波时,他们没有功夫停下来花费大量时间玩游戏,或者即便有些人会喜欢这游戏,但却不知道如何使用电脑下载)。 因此我们需要限定游戏的目标群体。我们的游戏需要玩家拥有视力,有双手,能够操作鼠标键盘。我们的玩家最好能够阅读文字,否则他有可能性会不知道我们要做什么。以及,至少目前的世界,我们的玩家极大概率需要是一名人类。

    好了,回到正文,本期我们要制作整个 RPG 游戏的第一关。 我们将使用先前已经设计好的怪物和角色,在此基础上追加奖励机制,然后通过简单的“触发器”来实现关卡内的逻辑。

    着手之前,我们得搞清楚第一关要干什么。

    我们可以假设第一关是为了让玩家学会如何使用魔兽争霸进行游戏而制作的,因而这一关要教会玩家进行基本的移动操作。然而如果我们真的这么做,基于我们现在已经讲述的知识来制作这样的关卡会显得较为困难。为了教学目的,我们忽略教程关的制作,我们先直接基于我们的 RPG 故事来进行创作第一关。

    我们先前(第二期)初步交代了我们 RPG 的基础背景,地下城恶魔统治了地面村落,并试图侵占更多村落,从而占领世界统治权。这场战争故事里,玩家扮演自告奋勇的勇者克里夫,并以克里夫的角度来体验游戏。 在这个人人自危的乱世,反抗者所在的村庄将会被集体屠戮。我们预设克里夫所在的村庄民风剽悍,每一位村人都是在战斗中磨炼出来的天生的战士。这个村庄已经为王国提供了大量强大的士兵。因而修改我们的故事,克里夫并非带着全村人的希望单独前进,而是他自己就是村长。在本次故事中,他将负责联络城市,要求提供武装,并且组建出一支凝聚力极强的精英游击队,对恶魔发动反抗的号角。同时,克里夫也不再是无名的勇者,而是退役的老将领。

    不过,一下子把这些设定全部塞给玩家不是什么好主意。如果想要让游戏有趣,我们得在故事发展的过程中一点一点揭开谜底,就像刮奖励券一样。 游戏设计过程中不能忽略对玩家“期待值”的考虑。适时引导玩家的“期待”,并给予合适的反馈,才能够吸引玩家持续游玩下去。 一个游戏的关卡如果没有解锁,那这个关卡就是奖励。如果它已经解锁了,那它就反而成为了普通的挑战,没有攻略的必要性,因为后续的关卡已经解锁了,所以只要觉得无聊,直接跳过就行了。

    第一关,作为退役将领的克里夫带着自己的宝物“王国的力量指环”前进。克里夫将穿过现今布满魔物的树林,突破狗头人的防线,从而能亲自将口信带到王国。 我们要让克里夫在突破防线的过程中逐渐找回自己的力量变得强大,但树林的敌人只能允许他最高到等级 2 。 同时,通过战斗,我们要让克里夫能够掠夺魔物的装备,从而武装他自己,然后对抗更强大的敌人。 因此在接下来,我们需要制作第一关的场景,放置怪物,并且设置这些怪物掉落什么物品、击杀后奖励多少经验值。此外我们还要准备特别的防线守卫,这些守卫相较普通的魔物更强,克里夫必须通过得到的装备和药水来与之周旋才能成功突破防线。 除此以外,我们要设置关卡的胜利和失败条件。 玩家必须保证克里夫不死亡,同时玩家必须击败防线守卫后,将钥匙携带到防线大门处以打开大门。 为了让战斗更有趣,我们还准备为克里夫添加英雄技能,技能只有在克里夫的等级到达 2 时才能获得。

    换言之,我们需要做这些事情: 将克里夫的英雄等级上限设置为等级 2 ; 创建物品:“王国的力量指环”; 创建物品:“铁剑”、“小型生命药剂”; 创建技能:“重拳”,并添加给克里夫; 设计一个比普通的狗头人强大的狗头守卫; 基于克里夫的强度放置怪物,分布到场景中; 设置关卡中怪物的掉落物; 制作一个大门,当克里夫携带钥匙来到大门前时,能够打开大门; 当玩家抵达防线出口时,游戏胜利; 当克里夫死亡时,游戏失败; 创建一个主线任务在任务栏,用于提醒。

    很显然,如果想要真的完完全全地把这些事情全部做完,我们还需要把知识进一步细化讲述。像如何制作物品、如何设置怪物掉落品、如何实现打开大门等功能,都是我们先前没有讲过的。 出于篇幅问题,这些细分的知识,让我们在后续的更新中逐个介绍。

    4 条回复    2020-12-15 15:35:20 +08:00
    cloudfox
        1
    cloudfox  
       2020-12-15 11:09:43 +08:00
    骑士?是那个骑士吗?
    DreamerQQ
        2
    DreamerQQ  
    OP
       2020-12-15 14:24:24 +08:00
    @cloudfox war3 界就一个叫骑士的,哈
    jorneyr
        3
    jorneyr  
       2020-12-15 14:33:57 +08:00
    挺好,学习了
    onesec
        4
    onesec  
       2020-12-15 15:35:20 +08:00
    楼主加油
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3839 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 05:28 PVG 13:28 LAX 22:28 JFK 01:28
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86