图文大播报
查看: 5681|回复: 2
《星际争霸》RPG地图制作教程
在线时间 小时
第一章
在编辑地图之前当然要选好一套合适编辑器,我们这里推荐的是SCEDIT(星际文件夹中名为StarEdit的执行文件),其它的如SF等可以根据需求配合用一下,必竟是自带的,所以无论版本兼容还是功能人性化设置都比较合理,致少不会出现太大的问题而让自已的心血溃于一昔。其实现在已知的编辑器功能和制作版面都不会相差太远,而SE本是它们模范的原品,所以对于新玩家来说,SE是UMS初期制作工具的不二选择。
首先我们来了解一下SE制作RPG的四个重要的因素
一、Forces(势力)
关于势力的设定是RPG当中最基本的设定。无论哪一种UMS的编写,第一步将要考虑的就是势力的分配。在SE当中势力设定有三类:同盟者、敌对者和中立者。而包括电脑在内参与游戏的最大数量是八位,我们以Defense类地图为例,如果确定了同盟者(参与的玩家)数量是五位,那个剩下的三位电脑PLAYER至少有一位是(主动)进攻。如果您还要在地图中添入商店系统或者其它必须要有单位陈列的方案的话还要提出一名电脑PLAYER为中立者,中立者不会主动进攻而且对于无视于您的攻击,所以作为“商品”陈列或信息NPC是很好的选择。我们也可以将人类玩家分为两个敌对的势力,这种设定会在Micro和Blood类地图用到。
二、Condition(条件)
我们在设定好势力之后就要准备该地图势力的出场条件。对于普遍的冒险类RPG地图来说人类玩家的出场条件是在地图描绘的时侯直接加上去的,甚至包括敌对势力的关卡、部景、单位等等要素。这样的编写虽然缺乏灵活和跳跃性但不会产生BUG,以及测定调试的时间较短,这样的作品往往能形成短小精悍的特色。而部分由一些高手精心编定的RPG他们通常会采用触发类出场条件从而能构成一套完整的故事情节,让人不会玩得莫名奇妙、单调以及缺乏想象力。当然,在设定出场条件当中并不是只靠摆设就能完成的,如果您想制作出独具妙心的UMS地图那么你不得不考虑到与之紧密相联的出场条件。它们包括:物理建筑的设定、有关兵种单位(建造、基本数值、升级、科技等)的设定、人物环境的设定以及以这些为基础的触发***设定,如果其中稍有不慎,就可能导致一块石头砸碎一块玉的后果,要补都补不回来,我想这其中的滋味只要是曾为UMS付出过的朋友都能够体会。总而言之,在UMS创作初期和后期都会花上大量的时间来做同一件事情,那就是补缀和完善,尽量减少BUG的存量是您对自己也是对其它玩家的一种负责。
三、Triggers(引发)
在势力和条件都设定完善之后,我们所要做的就是以最认真最仔细的态度来完成这个UMS的精髓部分——设定过程事件引发条件、引发动作和引发结果。其实UMS的六种型态我们可以根据TRIGGERS概分为二大类——RPG类和MICRO类。RPG类包括RPG、DEFENSE;MICRO类包括BLOOD、BOUND和MICRO。RPG类由TRIGGERS设定的是一个完整连贯的触发过程,像RPG的情节和DEFENSE的层次关节;而MICRO类则由TRIGGERS设定为一个背景层,在此基础上我们可以进行多样的战术和绝妙的操作来达成胜利的条件。但总的来说MICRO的设定较于RPG要简单明了一些,对于TRIGGERS的依赖性偏低,甚至在***设定上的先后顺序对整个层影响不大,不会造成RPG的引发***过于繁杂庞大而存在着大量BUG的局面。也许正是由于如此,国内玩家制作的许多RPG地图因为缺乏特色或过于搁手而被摒弃。因此我们在制作地图之前首先要确定自己的编辑类型,如果是RPG类则要注重情节和趣味,MICRO类则偏于平衡和刺激性。但无论是哪一种,在***的设定上一定要层次分明,逻辑性强,在这里面,“瞻前顾后”是一种不可或缺的美德。
四、Location(位置)
大家玩了这么久的UMS都可以发现在游戏中通常存在某一处具有某种特殊的功能,如出兵地点、回血、关闭/打开视野、传送、无条件死亡、引发对话、调换兵种等等。这些都是需要TRIGGERS来设定过程,但其目标或引发地点却是由LOCATION来预先指示。编写UMS地图不用LOCATION简直是天方夜潭,而且一个好的UMS地图不论其中的平衡或者情节的引导都离不开LOCATION的精心设计。有的RPG甚至包含了数百个预定的位置(最大指定数为255)。由此可见LOCATION在地图编辑中的重要性。在暴雪的SE当中LOCATION可以重叠可以包含,自己命名指定LOCATION的代称,俞加活化了它在特效和场景中的应用。
在线时间 小时
本帖最后由 游乐人生 于
02:34 编辑
第二章
SE界面详细讲解
一、界面
界面总分为五个部分:菜单栏--对整个UMS地图进行详细设置的地方;工具栏--为菜单栏中常用的功能创造的快捷方式;管理栏--包含了星际中的各种各样的单位(包括兵种、建设单位、残物块、修饰),可以选择在后在右边地图中描绘出相应的元素;效果窗口--是进行地图描绘的地方;小地图--效果窗口的预览处.
二、层
SE中的层(Layer)可以分为五类:即Terrain(地形)、Doodad(装饰品)、Unit(玩家所有的单位)、Location(***触发位置)以及Fog of war(战场迷雾).我们在菜单栏中的LAYER选项中选取了一种之后便可以在效果窗口对该层的元素进行操作,如选中UNIT,便可以圈中效果窗口的兵种单位,进行删除、属性改动等操作.而其中的LOCATION可以根据自已所制***来圈定命名.在地图的制作当中,也可以用点击右键选中快捷菜单中的LAYER来迅速切换层之间的选择.
三、单位属性
在效果窗口中建立好单位之后我们可以设定指定某个单位的属性,如图示,选中某一个单位之后我们可以点击右键,选中最下面Properties,点击后会出现该单位的属性框(如是灰色显示的表明该单位没有属性):
Owner:表示该单位的所属玩家
Unit Properties:(单位属性)
Hip Point%:1~100(该单位的携带的生命值/原有值)
Resources:1~50000(一般只有选中晶石或油矿之后才可以对该项进行操作)
Shield Point%:1~100(该单位携带的能量盾值/原有值)
In Hangar:(只针对可以自身制作小单位进行攻击的兵种而言,如P的航母在这里便可以填入8,即自身已经携带了8位拦截机)
Energy%:1~100(携带的能量与原值的百分比,只针对能携带能量的魔法兵种和科技兵种而言)
Initial State(初始状态,即该单位出场时的状态,有以下选项)
Burrowed:选中此选项后该单位处于埋地状态,只针对虫族单位而言。
In transit:选中此选项后该单位(建筑物)处于飞空状态,只针对人类和虫族的部分建筑而言。
Cloaked:选中此选项后该单位将处于隐形状态,只针对人类的部分可隐形兵种而言。
Invincible:选中此选项后该单位将变成不可攻击状态(即无敌)。
Hallucinated:选中此选项后该单位将变成幻影(攻击对其它单位无效)。
以上设定完成之后按OK键保存。
四、玩家属性设置
选中菜单栏下Player下的SETTING,可以对参于游戏的玩家进行基本参数的设定。
第一项、Properties(基本属性)
Race(种族):可以自已设定参与玩家的种族,也可以选择USER SELECTABLE,即用户可以在游戏中自已选择种族。
Control(玩家类型):依次分别是电脑玩家、人类玩家、未定、中立者。
第二项、Units(兵种)
界面左边是三类种族的各种单位以及附属物,右边是对指定的单位是否可生产的描述。该功能可以让在原来星际中默认可生产的建筑不能在本地图中生产出来。具体操作是:选中左边某一单位(我们以人类总部为例),将Enable by default中的勾去掉,那么整块右边版块的意思就是:
人类总部Default Settings( 默认的设定)
不可建造
Use defaults for Player X(对玩家X使用默认的设定,即不可建造)
如果你怕麻烦,就将Use defaults for Player X前面的勾去掉,直接设置玩家X是否屏蔽掉该建筑
第三项、Upgrades(升级)
界面左边是三种族的各种非科技魔法类升级(如装甲攻击等),右边则为该升级种类的Default Level(默认的初始级数)、Default Max(默认的最大升级级数),你也可以不使用该默认设置,直接将下方Use defaults for Player X前的勾去掉,自已设置初始级和最大级数。
第四项、Special Abilities(科技能力的设定)
界面与前二三项相差不大,这里便不再赘述,解释一下右边三项的意思:
Disabled by default(不允许拥用)
Enabled by default(需要自已研究,正常状态)
Researched by default(已经研究完成)
五、势力的设定
关于势力是在菜单栏中Scenario(脚本)选项下面设定。点击Forces弹出如图界面,SE只提供了最大的四个不同势力八个参与者,您只要直接用鼠标托动就行了。但Force中陈列的玩家并不都是参与者,如果你确定了X个参与者(包括中立者),你就要把它们分别对应的Start Location放在地图上任意地方,否则电脑是不予认同的。大家注意一下每一队Forces下方都有四个选项,他们分别是:Alies (联合,大家想一下不选它有什么后果^_^)、Random Start Location(在自已设定的任意位置开始,4VS4的BLOOD地图会把它给取消了的)、Allied Victory(联合胜利)、Shared Vision(共享视野,使你能在地图中看到你的队友的全部情况)。现在大家都知道了吧?这样子弄还没完了,慢慢琢磨一下给势力取一个好点的名字,老是叫FORCE 1是不行的……
六、声音的导入
星际RPG当中的场面声音是由***触发来完成的,利用了一个叫 Play W*** 的Actions。但在此之前你必须把声音文件加载到这个地图当中,这时就要用到Scenario菜单下的Sounds功能,点击它,然后选择其中的Import就可以把预置的W***文件弄进去(后缀名一定要是W***才行);下面还有个EXPORT(导出)命令,如果你觉得有哪张RPG的声音文件好你就可以用这个功能把声音文件保存到自已的硬盘上以备使用,下面的PLAY命令是试听,周到吧?
七、触发器的制作
触发器的制作是利用了Scenaio下的Triggers插件,功能不多但易上手,全程鼠标完成。界面如下图所示:
制作完整的触发器有以下几个要素:
1、players(指定触发的当前对象)
2、conditions (指触发事件的条件)
3、actions (指事件被触发后的结果)
那么我们来制作一个有关“死亡地带(任何单位靠近后就立即死亡)”的脚本看看这三者是如何联系的——
首先我们新建事件要按一下“NEW”键,弹出对话框让我们指定事件发生的玩家(群),这里根据做的***实际情况我们要选择“ALL PLAYERS”,即对所有玩家有效。然后点击下一步,这里就是编辑事件触发条件的地方,我们同样选择“NEW”来新建一个条件,然后在下拉菜单中选择“BRING”选项,并在选好后的对话框中将条件语句选择为:“Current player brings at least 1 any unit to 'START'.”意思是:“当前玩家 带 至少一名 所有类型的单位 到‘START’”。
大家注意一下,以上“至少”那一处还有其它的两种选择,分别是“at most”(至多)和“exactly”(精确),但这两样都不适合,因为如果名称叫“START”的“LOCATION”(地点)上有了二名以上的单位的话,就不符合“至多一名”和“精确到一名”的条件,所以我们要选择“至少一名”,尽量加大条件的囊括范围。
条件建立好了,我们接下来要做的就是建立条件被满足之后所要发生的结果(ACTIONS)。点击下一步,同样的新建“ACTIONS”,对话框与“条件”编辑相似,我们在下拉菜单中选中“KILL UNIT AT”,即“消灭所有单位”。
那么整个触发器联结起来就是:
对象:所有参与者
条件:任何参与者将至少一名任意单位带到“START”的地方
结果:消灭该参与者在START地方上的所有单位
重复以上***
(这句是在触发结果的后面再添加一句的ACTION〖Preserve trigger.〗必须要的,否则该触发器用一次就失效了)
(Players:all players
Condition:current player bring at least 1 any unit to &START&
Actions:kill all any unit for current player at &START&)
八、任务简报的制作
任务简报和触发器的制作相同,只是少了条件,直接指定对象以及过程(结果)。这里简单的说一下关于地图开始时的任务启动画面,画面总共分为三个部分:1、头像栏(Head slot);2、任务简报(text mission);3、任务目的(Mission Objectives)。简报和任务随心所欲的输就就行了,而头像栏里有四个位置,系统默认为SLOT 1、SLOT2、SLOT3和SLOT 4顺序在开场中是依次从左到右,简报里面还有一些功能,只要懂E文就百分百没问题,不懂可以使用翻译软件。
九、其它
Scenaio下面还有四个选项,它们分别是1、unit and hero setting(单位和英雄的设定) 2、upgrade setting(升级设定) 3、special ability setting(科技魔法设定)。这三样设定都有可能成为您RPG制作的特色,由于界面简单,这里把一些英文简单翻译一下。
Hit points:生命点数
Time:建造时间
Shields:能量盾
Minerals:所需水晶矿
Armor: 盔甲
Gas:高斯气矿
Ground Damage:地面攻击力
Bonus:每升一级加的攻击(防御)
Air Damage:对空攻击力
Custom Name: 该兵种的名称
Energy:能量
Factor:每升一级所要增多的数值
Base: 基础点数
Name: 地图名字
Description:地图描述
在线时间 小时
地图触发器详解
触发器分执行人、条件、结果3个部分。执行人可以随便写,只有结盟的触发和执行人有关。
ACCUMULATE Player accumulates quantity resources.
该玩家积累多少资源时
ALWAYS Always.
BRING Player brings quantity units to location.
该玩家带多少单位到特定区域时
COMMAND Player commands quantity units.
该玩家控制多少单位时
COMMAND THE LEAST Current player commands the least units.
当前玩家最少控制多少单位时
COMMAND THE LEAST AT Current player commands the least units at location.
当前玩家在特定区域最少控制多少单位时
COMMAND THE MOST Current player commands the most units.
当前玩家最多控制多少单位时
COMMAND THE MOST AT Current player commands the most units at location.
当前玩家在特定区域最多控制多少单位时
COUNTDOWN TIMER Countdown timer is duration game seconds.
游戏时间倒数计时多少秒时
DEATHS Player has suffered quantity deaths of unit.
该玩家损失多少单位时
ELAPSED TIME Elapsed scenario time is duration game seconds.
游戏时间经过多少秒时(游戏时间)
HIGHEST SCORE Current player has highest score points.
当前玩家得分最高时
KILL Player kills quantity units.
该玩家杀死一定数量的单位时
LEAST KILLS Current player has least kills of unit.
当前玩家杀死单位最少时
LEAST RESOURCES Current player has least resources.
当前玩家积累资源最少时
LOWEST SCORE Current player has lowest score points.
当前玩家得分最低时
MOST KILLS Current player has most kills of unit.
当前玩家杀死单位最多时
MOST RESOURCES Current player has most resources.
当前玩家积累资源最多时
NEVER Never.
OPPONENTS Player has quantity opponents remaining in the game.
该玩家在游戏拥有多少对手时
SCORE Player score type score is quantity.
该玩家得分是多少时
SWITCH Switch is set.
开关被设置或清除时
CENTER VIEW Center view for current player at location.
将画面转至某特定区域
COMMENT Comment: comment.
对触发器加以说明,使之便于阅读
CREATE UNITS Create quantity unit at location for player
在特定区域为玩家创造一定数量的单位
CREATE UNITS WITH PROPERTIES Create quantity unit at location for player. Apply properties
在特定区域为玩家创造一定数量的具有一定属性(如隐形,钻地等)的单位
DEFEAT End scenario in defeat for current player.
当前玩家任务失败
DISPLAY TEXT MESSAGE Display for current player: text.
为当前玩家显示一些交代文字
DRAW End the scenario in a draw for all players.
所有玩家平手
GIVE UNITS TO PLAYER Give quantity units owned by player at location to player.
将特定区域的一个玩家(前者)的一定数量的部队给另一个玩家(后者)
KILL UNIT Kill all units for player.
杀死玩家的所有单位
KILL UNITS AT LOCATION Kill quantity units for player at location.
杀死玩家的在特定区域的一定数量的单位
LEADER BOARD (CO***OL ATLOCATION)
Show Leader Board for most control of units at location. Display label: label
显示目前特定区域里的单位控制情况
LEADER BOARD (CO***OL)
Show Leader Board for most control of unit. Display label: label
显示目前单位控制情况
LEADER BOARD (GREED)
Show Greed Leader Board for player closest to accumulation of number ore and gas.
显示目前总的资源收集情况
LEADER BOARD (KILLS)
Show Leader Board for most kills of unit. Display label: label
显示目前杀死单位的情况
LEADER BOARD (POINTS)
Show Leader Board for most points. Display label: label
显示目前得分情况
LEADER BOARD (RESOURCES)
Show Leader Board for accumulation of most resource. Display label: label
显示目前资源收集情况
LEADER BOARD GOAL(CO***OL AT LOCATION)
Show Leader Board for player closest to control of number of units at location. Display label: label
显示还需在特定区域里控制多少单位可达目标
LEADER BOARD GOAL(CO***OL)
Show Leader Board for player closest to control of number of unit. Display label: label
显示还需控制多少单位可达目标
LEADER BOARD GOAL (KILLS)
Show Leader Board for player closest to number kills of unit. Display label: label
显示还需杀死多少单位可达目标
LEADER BOARD GOAL (POINTS)
Show Leader Board for player closest to number points. Display label: label
显示距离目标得分还差多少
LEADER BOARD GOAL(RESOURCES)
Show Leader Board for player closest to accumulation of number resource. Display label: label
显示还需收集资源可达目标
LEADER BOARD COMPUTER PLAYERS Set use of computer players in leaderboard calculations.
关闭或打开电脑的情况显示
MINIMAP PING Show minimap ping for current player at location.
当前玩家的小地图显示警告框
MODIFY UNIT ENERGY Set energy points for quantity units owned by player at location to percent%.
修改特定区域里一定数量的玩家控制单位的能量百分比
MODIFY UNIT HANGAR COUNT Add at most quantity to hangar for quantity units at location owned by player.
修改特定区域里一定数量的玩家控制单位的弹药数量(如航母,金甲虫)
MODIFY UNIT HIT POINTS Set hit points for quantity units owned by player at location to percent%.
修改特定区域里一定数量的玩家控制单位的生命值百分比
MODIFY UNIT RESOURCE AMOUNT Set resource amount for quantity resource sources owned by player at location to quantity.
修改特定区域里一定数量的玩家控制单位的能量数值
MODIFY UNIT SHIELD POINTS Set shield points for quantity units owned by player at location to percent%.
修改特定区域里一定数量的玩家控制单位的护盾百分比
MOVE LOCATION Center location labeled location on units owned by player at location.
将一个特定区域移动到一个单位身上在一个特定区域内
MOVE UNITS Move quantity units for player at location to destination.
将玩家一定数量的单位由一个特定区域移动到另一个特定区域
MUTE UNIT SPEECH Mute all non-trigger unit sounds for current player.
关闭当前玩家所有非触发单位的声音
ORDER Issue order to all units owned by player at location: order to destination.
命令玩家的单位在从一个特定区域里移动.攻击.巡逻到另一个特定区域
PAUSE GAME Pause the game.
PAUSE TIMER Pause the countdown timer.
暂停倒计时
PLAY W*** Play W*** file
播放一段声音
PRESERVE TRIGGER Preserve Trigger.
循环执行当前触发
REMOVE UNIT Remove all units for player.
移除玩家所有单位
REMOVE UNITS AT LOCATION Remove quantity units for player at location.
移除玩家在特定区域里的一定数量的单位
RUN AI SCRIPT Execute AI script script.
运行一个人工智能
RUN AI SCRIPT AT LOCATION Execute AI script script at location.
在特定区域运行一个人工智能
SET ALLIANCE STATUS Set Player to Ally status.
设置当前玩家与另一个玩家同盟或敌对
SET COUNTDOWN TIMER Modify Countdown Timer: Set duration seconds.
设置倒计时时间
SET DEATHS Modify death counts for player: Set quantity for unit.
设置玩家的死亡单位计数
SET DOODAD STATE Set doodad state for units for player at location.
特定区域里小物件的设置
SET INVINCIBILITY Set invincibility for units owned by player at location
设置特定区域里的玩家单位无敌
SET MISSION OBJECTIVES Set Mission Objectives to: text.
设定本关任务
SET NEXT SCENARIO Load scenario after completion of current game.
设定当前任务结束后读取的地图
SET RESOURCES Modify resources for player: Set quantity resource.
为玩家设定一定数量的资源
SET SCORE Modify score for player: Set quantity points.
设定玩家得分
SET SWITCH Set switch.
TALKING PORTRAIT Show unit talking to current player for duration milliseconds.
为当前玩家显示单位肖像一段时间
TRANSMISSION Send transmission to current player from unit at location.Play W*** file.Modify transmission duration: Set number milliseconds.Display the following text: Text
设置一段对话。包括小地图上单位的地点显示,伴随的声音及文字
UNMUTE UNIT SPEECH Unmute all non-trigger unit sounds for current player.
解除当前玩家所有非触发单位的声音的关闭
UNPAUSE GAME Unpause the game.
解除游戏暂停
UNPAUSE TIMER Unpause the countdown timer.
解除倒计时暂停
VICTORY End scenario in victory for current player.
当前玩家任务胜利
WAIT Wait for duration milliseconds.
等待一段时间(千分之一秒)
player 1 kill at least one any unit.
“玩家1”至少杀了一个人。
Move all units for player 1 at anywhere to 监狱.
把“玩家1”移动到“监狱”。