本文来自CSDN博客,转载出处:http://blog.csdn.net/lihan6415151528/archive/2009/09/29/4615674.aspx
一.The idea
相信我们小的时候都曾经有过打游戏机的经历,那时我们常常抱着小霸王游戏机,玩得废寝忘食,甚至每天都因没有完成作业而挨老师骂,然而我们依然乐此不疲。那时非常出名的一个游戏就是《坦克大战》,我再次玩起的时候,仍然可以回忆起儿时的快乐。每次放学回家,把书包一扔,就和同学坐在电视机前。虽然《坦克大战》这个游戏设计得并不复杂,或者可以说是很简单的,但是它似乎蕴涵着无穷的魅力,让人们想一遍一遍的玩下去。
《坦克人生》是一款ARPG游戏,玩家将控制一个起初毫无名气的小坦克,为了自己的理想闯天下,四处行侠仗义,书写自己辉煌的坦克人生。
谨以此游戏献给那些儿时热衷《坦克大战》的朋友,让我们一起重温打坦克带给我们的无限乐趣。
二.游戏概要
1, 中文名称:坦克人生
2, 英文名称:The Tank Life
3, 游戏类型:ARPG
4, 操作系统:Windows
5, 游戏操作:键盘
6, 硬件配置:80486以上CPU,16M内存,20M硬盘空间,支持DIRECTX8.0
三.游戏核心The gameplay
《程序人生》的主坦克将具备丰富的个体属性,并能够携带多种物品。游戏的主体将随着任务的推进进行场景的切换,在每个场景中可以与NPC进行对话,获取任务,然后通过消灭敌人坦克来推进情节。同时情节将设置主线和分支。玩家不同的选择,也将造成不同的游戏结局。主坦克的个体升级,装备的更换,以及丰富的炮弹系统将是游戏很大的亮点。
四.游戏编程文件结构(类设计)
1, 主程序:Game.h Game.cpp
成员函数设计:游戏初始化,环境设置,角色初始化,绘制地图,对话初始化
2, 图形系统:ddraw.h
成员函数设计:读取图形素材,绘制角色和场景。
3, 声音系统:dsound.h sound.h sound.cpp
成员函数设计:Init();Destroy();Play();Stop();LoadEffect();
4, 声音读入:wavread.h wavread.cpp
成员函数设计:Open(),Reset(),Read()
3,输入系统:dinput.h input.h input.cpp
成员函数设计:读取键盘输入bool GetKey()
4,子弹判定:plane.h plane.cpp
成员函数设计:发出位置,速度,撞击效果
7, 装备系统:equipment.h equipment.cpp
成员函数设计:用vector存储装备(名称,属性值)
8, 商店系统:shop.h shop.cpp
成员函数设计:分类显示商品,购买,出售。
9, 坦克系统:tank.h tank..cpp
成员函数设计:使用类的继承机制。主坦克和敌人坦克继承坦克的属性。生命,攻击,防御,速度。
10, 维修系统:repair.h repair.cpp
成员函数设计:修理坦克,根据受损情况判断维修费用。
11, 任务系统:task.h task.cpp
成员函数设计:任务显示,任务判定,任务切换。
12, 存取系统:gamesave.h gamesave.cpp
成员函数设计:通过读取文件来读取游戏进度,通过存储文件来存储游戏进度。
五.游戏资源需求
1, 图形素材:a.主坦克b.队友坦克c.敌人坦克d.装备e.炮弹f.地形g.游戏LOGO
2, 音效素材:a.行走声音b.炮弹发射声音c.炮弹撞击声音d.坦克爆炸声音e.场景切换
3, 音乐素材:a.开场音乐 b.游戏背景音乐 c.结束音乐.
六.游戏模块
1, 坦克装备系统:履带,炮塔,机枪,动力系统,装弹系统
2, 商店系统:坦克的各个升级装备
3, 队友协作系统:到一定级别,会有一个友方的坦克加入,共同作战。
4, 维修系统:当坦克作战之后,可以到维修厂进行维修。
5, NPC设计:根据情节设计坦克NPC。
6, 怪物系统:各种性能的敌对坦克(速度加强,装甲加强,火力加强),通过不同性能的加强程度来划分坦克的种类。在同一军衔中,每种属性分为三个级别,组合共形成9个级别。
7, 炮弹系统:a,燃烧弹 b,冰封炮弹 c,快速炮弹 d,穿甲炮弹
七.角色属性
1. 生命值:初始值100,生命值=100+10*级别。
2. 级别:初始值0,根据经验值来升级。100生到2级。每一级提升200%。
3. 防御:初始装甲100,通过获取装备来增强装甲值。
4. 攻击:基本炮弹1000发。通过提升装弹系统和获取高级炮弹来增强火力。发射速度由装弹系统决定。涉及发射速度和炮弹级别两个属性。
5. 速度:初始值10,由动力系统和履带系统共同决定。
6. 炮弹:基本炮弹附带1000发。其他炮弹可以通过购买或任务等方式获取,两个发射快捷键。
八.游戏操作(游戏开始可以设置)
1. 行走操作:默认值为a w s d
2. 对话操作:space
3. 攻击操作:第一炮弹j,第二炮弹k
4. 设置操作:Enter 进入设置界面,可以查看各种属性,更换炮弹。
5. 菜单操作:上下左右键 Enter确认
九.旧款游戏分析与算法改进
1. 以消灭坦克来推进关卡,没有情节的发展。主坦克没有自己的性格特点。这款游戏的设计变关卡为人物RPG的形式,赋予主坦克鲜活的人物性格。编写游戏剧情并设置舞台来展现主坦克的性格特点。
2. 旧款中主坦克行走没有速度的变化,新游戏中加入履带系统和动力系统,来形成速度的变化。
3. 旧款中主坦克的炮弹发射由数量决定,初始级别只能发射一发炮弹。新游戏中按发射装置实际的物理属性决定,形成发射速度的变化。
4. 旧款游戏中的敌人AI程度比较弱,他们不会主动寻址来攻击主坦克。新游戏中将按范围来进行搜寻,主动攻击主坦克。多个相近的坦克将形成联合作战,通过战术来攻击主坦克。
5. 旧款游戏中主坦克的自身属性比较少,新游戏中增加了攻击,防御,生命值,速度,炮弹等属性。
十.游戏流程
1, 开场:旧版坦克大战的音乐,加一些游戏说明。
2, 菜单:a,开始游戏 b,游戏说明 c,开发团队 d,结束游戏
3, 主流程:随任务推进情节,设置多种情节的分支。
4, 结束判断:如果主线任务失败或者角色生命值为0,游戏结束。
5, 结束:显示一些插图和制作团队,退出游戏。
游戏开发分工:
1,界面设计小组。2,音效设计小组。3,剧情设计小组。4,装备设计小组
6, 游戏开发小组:分模块进行开发,每个人开发一个或者数个模块