(此文原作于2011年9月,有所删改)
序篇
摘要(概要、概况、概述)
最终幻想是知名游戏系列,动画《最终幻想:无限》于2001年首播。就其十周年纪念之际将其制作为游戏,仅供学习交流。
基本信息
名称的确定(定名)
英文名原名:Final Fantasy: Unlimited
英文缩写:FFU、FF: U
日文:ファイナルファンタジー:アンリミテッド
中文(中国):最终幻想:无限、最终幻想:U
中文(台湾):太空戰士:無限、最終幻想:無限
中文(香港):太空戰士:疾風境界、最終幻想:疾風境界
游戏平台(运作系统)
本游戏将推出PC(Windows系统)版和XBOX 360版。画面按照目前主流的高清规格(1280*720),同时更多地按照最终幻想系列一贯的经典,2D画面、角色扮演、4人制战斗等等,怀念FC/SFC(任天堂)时代的感动。
Windows版详细信息:
显卡需要支持DirectX9;
分辨率:1280*720(默认),可以进行缩放;
帧速率:60FPS,其中CG的帧速率为30FPS;
画面维度:2D;
语音:日语(动画原声);
文字:中文(中国)、中文(台湾)、中文(香港)、英文(美国)、日文(日本);
XBOX360版(待定)
开发平台(开发工具,SDK,IDE)
本游戏是基于XNA Game Studio的一个微软官方模板——RolePlayingGame,在其基础上进行开发。版本为XNA Framework 4.0,编程语言使用C# 4.0,集成开发环境为Visual Studio 2010。程序集的版本号规则:以编译的日期进行编号,例如2011年6月1日那天编译的,版本号就为1.06.01,程序(软件包)全名则为FFUBuild1.06.01。该开发方案的版本也依此编号,请确保开发方案的版本与程序集的版本一致。
图形设计
位图:Photoshop,Painter
矢量图:Flash,CorelDraw
音频处理
文本处理
系统篇
架构(组成)
游戏基本构成(树形)
分子结构(中文)
分子结构(英文)
中介模式
继承与派生
解决方案与项目
解决方案与项目的关系
属性(设置)
解决方案的属性(设置)
启动项目:单启动项目:RolePlayingGameWindows
配置:活动(Debug)
平台:活动(Mixed Platforms)
项目的属性(设置):RolePlayingGameWindows.csproj
XNA Game Studio - Game profile:Reach
XNA Game Studio - Game thumbnail:GameThumbnail.png
应用程序–程序集名称:RolePlayingGame
应用程序–默认命名空间:RolePlaying
应用程序–目标框架:.NET Framework 4 Client Profile
应用程序–输出类型:Windows应用程序
应用程序–资源–图标:Game.ico
生成–条件编译符号:WINDOWS
项目的属性(设置):RolePlayingGameProcessors.csproj
应用程序–程序集名称:RolePlayingGameProcessors
应用程序–默认命名空间:RolePlayingGameProcessors
应用程序–目标框架:.NET Framework 4
应用程序–输出类型:类库
项目的属性(设置):RolePlayingGameDataWindows.csproj
XNA Game Studio - Game profile:Reach
应用程序–程序集名称:RolePlayingGameDataWindows
应用程序–默认命名空间:RolePlayingGameData
应用程序–目标框架:.NET Framework 4 Client Profile
应用程序–输出类型:类库
生成–条件编译符号:WINDOWS
项目的属性(设置):RolePlayingGameSettings.csproj
应用程序–程序集名称:RolePlayingGameSettings
应用程序–默认命名空间:RolePlayingGameSettings
应用程序–目标框架:.NET Framework 4 Client Profile
应用程序–输出类型:Windows应用程序
游戏基本设置(GameSettings)
游戏的环境、系统、控制器按键等基本的设置。数据与功能模块全部集中在项目RolePlayingGameSettings.csproj中。
项目:RolePlayingGameSettings.csproj
该项目的类型为WPF,用于对游戏的基本设置进行设置和管理。
界面采用选项卡式,有“常规”、“控制器”。
常规选项卡:
语言:文本的语言,默认为中文(中国),即简体中文。内部值与显示值对应如下:
Eng,英语(美国),English(US)
Chs,中文(中国),Chinese(PRC)
Cht,中文(台湾),Chinese(TW)
Chk,中文(香港),Chinese(HK)
Jpn,日文(日本),Japanese
语音:默认为日语(Jp),其索引为0。即动画日语原声。
分辨率:默认为1280*720,提供一个下拉列表进行选择。
控制器按键(输入)设置选项卡:
按钮控件:还原默认、存为设置一、存为设置二、使用设置一、使用设置二。
游戏里的各种动作均与手柄的按钮对应,这是目前大多数跨平台游戏的特征。键盘的键与手柄的按钮默认对应关系如下:
XML文件:存储游戏的设置信息。
文件名及说明
GameSettings.xml,共两套信息,一套为默认值,一套为现用值。
Resolution.xml,只读,存储分辨率的高、宽、缩放比率。
ControllerSettings.xml,手柄按键设置,共四套,一套为默认值,另可存两套设置,还有一套为现用值。
Languages.xml,只读,为该WPF提供的多国语言文本。
系统的分层层次、层次结构
该WPF项目采用分层系统(箭头方向表示访问方向,即依赖性)
类的继承层次
文本管理(语言系统)
本游戏支持多种语言。文本分两类:词表、句表。词表包含游戏中的专有名词,句表包含游戏中的剧情对白等语句。列表(List)在游戏启动后就加载并一直放在内存中(常驻内存),在XNA中是作为Content对象进行加载。
词表分两部分,第一部分词是前32项,为可供玩家设定的人物名字,当开始新游戏时,作为角色的默认名字。如果从记录中开始游戏,则该32项会被记录中的32个人名给替换。
句表中的词采用编号表示(~+数字+~)。在游戏运行时,需要用到该句时再用词表中的词去替换。替换方式为先将句子(字符串)按“~”分成字符串数组,再将其中的数字用从词表中的检索结果进行替换,最后将字符串数组合并成完整的一个字符串。
文本数据
在项目Content中,Text目录下存放各种语言的文本(XML文件):
词表:Word.xml
句表:Sentence.xml
功能实现
文本管理的类(TextManager),放在项目RolePlayingGameWindows.csproj中,其成员如下:
字体
字体使用spritefont。目前的字体使用Microsoft Yahei。
记录管理系统(存档管理,存档功能)
记录的载体为XML文件。一个记录对应一个XML文件。
记录内容
游戏数据(GameSaveData)
队伍数据(PartySaveData)
人物数据(PlayerSaveData)
存取
以XML形式。Windows版是保存在“我的文档”目录中。
物品系统
道具
装备
武器
防具
地图系统
图层块引擎
地图层,分上中下三层。
传送点
商店
旅店
NPC
记录点
宝箱
固定战斗
随机战斗
任务系统
路线(任务链)
路线由一连串的任务组成。同一时间里可以进行多条路线,任务的完成情况不同会引起不同的路线分支。参与的路线将越加越多,而不移除(减少),这类似熵。已经参与的路线里,不同路线之间是并行的。
任务
这里的任务指路线上的每一个点,也叫做任务点。是在路线上前进所必须完成的环节。例如对话、打怪、收集道具等。
角色
公共
魔法
黑魔法:冰火水雷等。
白魔法:回复,圣光等。
时空魔法:加速,减速,异空间等。
技能
召唤(兽),在最终幻想无限中为开动魔枪
气现术
气现兽
战斗状态
待机
行动
死亡
异常状态
异常状态不一定不好,例如加速。异常状态可以累加,但不可重复,相对的状态不能同时存在(相互抵消),死亡后(战斗不能)一切异常状态解除。所有异常状态按优先级由高到低排列如下:
人物
人物属性
人物队伍属性
职业系统
类似最终幻想12国际版。不同于最终幻想5,一个人可以身兼数职。
成长系统
通过在战斗中累积经验(成长点,AP)(不同于传统的经验值,参考最终幻想10),走盘提升能力。
怪物
怪物系别,类似最终幻想10等,冰火水雷暗光(相生相克),另外还有不死系。怪物组(可看作队伍)
战斗系统(BattleSystem)
战斗引擎(CombatEngine)
分类
按触发类型分类:随机遇敌战斗、剧情定点固定战斗(多数情况下是无法逃跑)。
按时机进行分类:我方先制攻击、敌人偷袭、通常。
按站位进行分类:我方包围敌人、我方被敌人包围、敌左我右(通常)。
战斗形式
战斗时是处于独立的屏幕中(可以称作战斗域、结界、封绝(本人对灼眼的夏娜已中毒,汗)等),我方为四人制队伍(最终幻想的经典模式)。敌人也采用队伍的形式,只是队伍的成员已经固化(在怪物队伍表中)。战斗顺序采用类似最终幻想10的模式,按照所有战斗人员的速度值先后进行动作(攻击、吟唱、防御、使用道具等等),当然时空魔法等改变人物的状态后其速度会发生变化,先后顺序就会跟着变化。(ATB)
战斗时的菜单
屏幕管理
游戏屏幕根据所要显示的内容不同而分成很多种,有独占和弹出等。
图像篇
画面效果也是游戏的重要部分。首先制作好设定图,再按照设定图制作好原画,再将原画裁剪以及使用特殊效果,制成成品图,成品图就是在游戏运行过程中使用的图像了。
设定图包含:角色(人和怪物),场景,物品。
成品图统一使用24位色带Alpha通道的无损PNG文件存储。大小一般不超过2500*1600像素。在游戏的默认分辨率下(1280*720),显示的效果最好。在全高清(FullHD,1080P)或较小分辨率(例如SD,360P)也不明显失真。
制图工具有Photoshop,Flash等,因此源文件的格式有PSD,FLA等。PSD统一设定:72dpi,RGB8位,背景透明。FLA的背景为白色或黑色等,通常使用能突出物体便于作画的颜色。
线稿一般为矢量图,少部分为位图。色稿,景色一般为位图,物体一般为矢量图。
CG由一系列的具有相同规格的图片组成。规定CG的帧速率为30FPS,分辨率为1280*720。
人物的图层划分(由底往上):后发-体型-五官-衣服-前发。
动画的制作
分镜与原画
这里指的是动画里的专业术语。分镜即镜头的切分,原画为一个分镜中的静止画面。原画中指定了物体的运动情况,以及持续时间(通常用帧数)等。
骨骼
动物的生理结构非常复杂,骨骼直接影响动物的运动情况,使用骨骼能大大减少动画的制作难度,提高精度。
Flash动画
本游戏中的大部分动画都是使用Flash制作。
音频篇
音频包括背景音乐和音效等。背景音乐是在场景中持续播放的声音,音效是游戏过程中,特别是战斗过程中,持续时间较短的声音。人物的语音作为音效处理。
音频规格:WAV格式,PCM编码,44100Hz,16Bit,立体声(2ch)。
剧情篇
本游戏严格按照官方的剧情,忠实再现原作的故事情节。对于官方为交代清楚的情节,按照比较公认的说法。对于仍然没有讲述清楚的情节,进行适当的原创,本游戏将给玩家讲述完整的《最终幻想:无限》故事。
推进与分支
玩家在游戏中的各种行为,会推进游戏的剧情发展,也会产生分支。
路线
路线是GAL Game中的常用术语。RPG中通常分为主线和支线。主线包含对结局至关重要的剧情,支线的剧情可有可无。
对于游戏来说,故事情节会有分支和循环,但始终是一直沿着路线前进的,不会后退。在游戏里也是没有后悔药吃的。
资料篇
角色
人物
优
姓名:早川优,Yu Hayakawa
性别:男
关系:早川夫妇之子,爱之弟
描述:一心想见父母的小男孩
饰物:陆行鸟的羽毛
爱
姓名:早川爱,Ai Hayakawa
性别:女
关系:早川夫妇之女,优之姐
描述:天真淘气的小女孩
道具:波希包包
莉莎
姓名:莉莎·帕茨菲斯特,LisaPacifist
性别:女
关系:帮助优和爱寻找他们的父母
描述:拥有母亲秘传的气现术的中国少女
技能:气现术,气现兽
风
姓名:黑木风,Kaze
性别:男
关系:白井云的宿敌
描述:记忆混乱,左手为魔枪的男人
武器:红枪
技能:魔枪(召唤)
白井云
姓名:白井云,Makenshi
性别:男
关系:黑木风的宿敌,伯爵的手下,红雾之弟
描述:白色的魔剑士
武器:魔剑
职业:魔剑士
纳沃
姓名:纳沃,Knave
性别:男
关系:克摩廷的领袖
描述:领袖般的男人,讨厌青蛙
希德
姓名:希德,Cid
性别:男
关系:异界地铁的制造者
描述:给自己制造的所有机械赋予女性名字的机械控青年
职业:机械师
密莱斯
姓名:密莱斯,Miles
性别:女
关系:克摩廷的女战士
描述:非常喜爱青蛙的女战士
武器:微型连射吹箭
职业:战士
露
姓名:露·露法斯,Lou Lupus
性别:女
关系:狼族的最后幸存者
描述:在镜子里看到自己的眼睛后会变成狼的开朗少女
技能:露之吼
莫古利
姓名:莫古利,Moogle
性别:男
关系:风之世界的幸存者
描述:拥有增强魔枪能力的索伊鲁传导师
克里亚
姓名:克里亚,Clear
性别:男
关系:奥米加的一部分
描述:周身有水覆盖的少年
魔道士
姓名:红雾,Madoushi
性别:男
关系:白井云之兄
描述:红色的魔道士
职业:魔道士
芬格
姓名:芬格,Fungo
性别:不明
关系:克摩廷的雷达员
描述:什么都吃少年
职业:盗贼
怪物
伯爵
姓名:泰伊兰德,Earl Tyrant
性别:男
关系:异界的支配者
描述:任性的小屁孩
芬古斯
姓名:芬古斯,Fungus
性别:男
关系:四凯将之一
描述:拥有再生能力的魔人
海露瓦
姓名:海露瓦,Herba
性别:女
关系:四凯将之一
描述:洁癖的植物魔女
皮斯特
姓名:皮斯特·萨斯十一世,Pist ShazXI
性别:男
关系:四凯将之一
描述:知识渊博,骄傲过人的海之魔人
奥斯卡
姓名:奥斯卡,Oscha
性别:男
关系:四凯将之一
描述:冷酷无情,知道混沌真相,附在人偶上的怨念集合体
青蛙仙人
姓名:青蛙仙人,Fairy Frog
性别:男
关系:海之魔方怪物之一
描述:住在海之魔方中会使用魔法的老青蛙
索摩姗
姓名:索摩姗,?
性别:女
关系:海之魔方怪物之一
描述:住在海之魔方中喜欢出怪题考别人的人鱼
NPC
早川乔
姓名:早川乔,Joe Hayakawa
性别:男
关系:
描述:世界著名的研究的异界专家
早川玛丽
姓名:早川玛丽,Marie Hayakawa
性别:女
关系:
描述:世界著名的研究的异界专家
克鲁克斯
姓名:克鲁克斯,Crux
性别:女
关系:奥斯卡做成的侦察用人偶
描述:没有感情的小人偶
萨奇
姓名:萨奇,Sagi
性别:男
关系:与原型的莉莎有着巨大的关系
描述:怀念莉莎出现的迷之少年
陆行鸟婆婆
姓名:陆行鸟婆婆,Chocobaba
性别:女
关系:陆行鸟婆婆两姐妹中的姐姐
描述:非常喜欢陆行鸟的变态老太婆
陆行鸟婆婆的妹妹
姓名:陆行鸟婆婆的妹妹,Chocoimo
性别:女
关系:陆行鸟婆婆两姐妹中的妹妹
描述:非常喜欢陆行鸟的变态老太婆
奥拉
姓名:奥拉,Aura
性别:女
关系:风之妹
描述:风的记忆中时而出现的迷之少女
法普拉
姓名:法普拉,Fabula
性别:女
关系:异界的预言者
描述:住在贝壳馆里的和蔼可亲的女人