一、概述
1.1 游戏简介
《战狼:出击》是一款动作射击类游戏。玩家需要在游戏中合理运用道具武器,打倒游戏中的一个个敌人,从而获得胜利。
1.2 游戏设计背景
游戏创意来源:游戏的创意主要来源于魂斗罗以及最近火遍全国的《战狼》系列电影。本游戏的设计思路就是营造一个炮火纷飞的战场不仅可以让人体验在战场上纵情生死的感觉,也可以让同学们发泄自己在学习生活中积累的压力。
游戏用户分析
项目 |
具体信息 |
|||||
年龄 |
12-18 |
12-18 |
19-24 |
19-24 |
25-30 |
25-30 |
性别 |
男 |
女 |
男 |
女 |
男 |
女 |
职业 |
学生 |
学生 |
学生 |
学生 |
职员 |
职员 |
学历 |
初中、高中 |
初中、高中 |
大学 |
大学 |
大学以上 |
大学以上 |
收入来源 |
父母 |
父母 |
打工或父母 |
打工或父母 |
工资 |
工资 |
玩家占有率 |
40% |
40% |
40% |
40% |
20% |
20% |
游戏可行性分析:调查表明,在各种游戏中玩家主要是在校大学生,而紧张刺激的动作射击类游戏则更是游戏中的主流。其极高的游戏性和参与度是吸引了诸多游戏爱好者。本游戏正是基于这一点,让大家感受到不同于日常生活的战斗体验。
1.3 游戏关键词与特点
游戏为“幻想”“幽默”的风格
在游戏场景、敌人设计以及各种音效中都体现了这一点。
参考资料
【1】窦万峰.软件工程方法与实践.北京:机械工业出版社,2009.
1.4 版本信息
修改编号 |
修改日期 |
修改后版本 |
修改位置 |
修改内容概述 |
暂无 |
暂无 |
暂无 |
暂无 |
暂无 |
二、总体设计
2.1 需求概述
游戏设置:设置基本参数,包括游戏音效和游戏音乐的有无。
游戏准备:选择游戏模式,如人数,难度以及角色。
游戏操作:游戏内部具体的操作。
2.2 软件结构
三、程序描述
3.1 游戏帮助模块
3.1.1模块基本信息
输入:想要查看的帮助信息
输出:游戏简介、游戏规则、人物简介、操作帮助、武器简介等信息
功能:帮助玩家熟悉、了解游戏内容及玩法
3.1.2 算法
单击想要查看的帮助信息---显示帮助文字
3.1.3 程序逻辑
3.1.4 接口
无
3.1.5 测试要点
只需测试帮助模块是否显示,是否显示错误文字。
3.2 游戏商城模块
3.2.1模块基本信息
道具出售模块:
输入:目标道具信息(名称,编号)
输出:玩家/角色获得道具后的增益信息
功能:实现玩家购买道具,修改玩家角色前后信息,重置系统时钟
3.2.2 算法
道具模块:
消耗玩家金币--商店出售道具---交换角色信息----重置系统时钟
3.2.3 程序逻辑
游戏商店模块的程序逻辑如图1。
图 1
3.2.4 接口
整个游戏内容模块需要知道用户(玩家)信息,角色信息,角色工作的当前累计时间与系统时钟当前时间息息相关。
鼠标与键盘的控制权在操作角色时需要进行接口异常检测和处理。
3.2.5 测试要点
每个步骤和算法的输入输出接口是否正确,以及游戏内容子模块(武器角色等等)之前的关系,模块内部调用关系是否正确等都是测试要点。
3.3 游戏内容模块
3.3.1模块基本信息
成就解锁模块:
输入:目标成就信息(名称,编号)
输出:玩家获得的成就信息
功能:记录玩家基础属性和信息,与商店成就系统对比,实现成就解锁,重置系统时钟
武器交换模块:
输入:目标武器信息(名称)
输出:玩家获取该武器后角色的武器信息
功能:实现武器购买,修改角色武器前后信息,重置系统时钟
3.3.2 算法
成就模块:
记录玩家当前基础属性和信息---查看成就系统要求的信息---决定是否获得成就--交换玩家前后信息---重置系统时钟
武器模块:
消耗玩家金币数量---商店为玩家提供武器交换---交换角色前后信息---重置系统时钟
3.3.3 程序逻辑
游戏商店模块的程序逻辑如图2。
图 2
3.3.4 接口
整个游戏内容模块需要知道用户(玩家)信息,角色信息,角色工作的当前累计时间与系统时钟当前时间息息相关。
鼠标与键盘的控制权在操作角色时需要进行接口异常检测和处理。
3.3.5 测试要点
每个步骤和算法的输入输出接口是否正确,以及游戏内容子模块(武器角色等等)之前的关系,模块内部调用关系是否正确等都是测试要点。
3.4 游戏控制模块
3.1.1模块基本信息
走路动画:
输入:A or D
输出:角色朝当前方向行进一个动画周期
功能:更新鼠标、键盘控制权,更新角色坐标,实现角色x轴的左右移动
跳跃动画:
输入:k
输出:角色向上跳跃一个动画周期
功能:更新鼠标、键盘控制权,更新角色坐标,实现角色y轴的向上移动
射击动画:
输入:J
输出:朝角色当前方向加载一次子弹动画
功能:更新鼠标、键盘控制权,实现角色与武器的交互
子弹碰撞动画:
输入:无
输出:子弹与怪物的碰撞动画
功能:更新鼠标、键盘控制权,更新怪物血量,实现子弹与怪物的交互
怪物碰撞动画:
输入:无
输出:怪物与角色的碰撞动画
功能:更新鼠标、键盘控制权,更新人物血量,实现怪物与角色的交互
菜单界面:
输入:ESC
输出:切换至菜单界面
功能:更新鼠标、键盘控制权,实现游戏的暂停、继续,查看当前信息
3.1.2 算法
游戏控制模块分别调用如下算法模块实现功能:
走路:更新鼠标和键盘控制权--调用前进动画--更新角色坐标
跳跃:更新鼠标和键盘控制权--调用跳跃动画--更新角色坐标
射击:更新鼠标和键盘控制权--调用子弹动画--更新子弹坐标
子弹碰撞:子弹与怪物碰撞判定--更新怪物血量
怪物碰撞:人物与怪物碰撞判定--更新人物血量
菜单:调用菜单界面--暂停系统时钟
3.1.3 程序逻辑
无
3.1.4 接口
整个游戏控制模块需要知道用户(玩家)信息,角色信息,角色的当前坐标,怪物的当前坐标,子弹的当前坐标与系统时钟当前时间息息相关。
鼠标与键盘的控制权在操作角色时需要进行接口异常检测和处理。
外部接口主要涉及鼠标、键盘、音响。
内部接口,与游戏内容接口,数据接口有关。
3.1.5 测试要点
每个步骤和算法的输入输出接口是否正确,以及游戏内容子模块(武器角色等等)之前的关系,模块内部调用关系是否正确等都是测试要点。
四、开发环境
5.1 Unity3D介绍
Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac 所支持。
5.2 Gamemaker介绍
GameMaker是一款拥有图形界面,可灵活编程,以2D游戏设计为主的游戏开发软件。由MarkOvermars使用Delphi语言开发,于1999年11月发布了首个公开版本,在4.3版之后转为部分功能收费软件。后由英国公司Yoyogames收购,大力推动了欧美乃至全世界独立游戏界的发展。目前最新版本为GameMaker : Studio 2。GameMaker 为那些从未接触过编程,但热爱游戏的玩家,迈入游戏编程世界,提供了一个特别便捷有力的途径。
5.3 开发环境选择
我们最终选择了使用unity3d作为我们的游戏开发环境。
五、UI界面设计
4.1 文字
无
4.2 音效
登陆界面背景音乐:
Are You OK ,雷军;
Brave Heart ,宫崎步;
舒克和贝塔主题曲 ,金复载;
植物大战僵尸bgm;
马里奥bgm;
Victory ,two steps of hell(战歌);
Breath and life;
Go Time。
个人认为678更符合游戏画风但12345更加欢快,具体选择将在下次会议决定。
按钮点击音效:
http://jsdx.sc.chinaz.com/Files/DownLoad/sound1/201804/10010.mp3
http://fjdx.sc.chinaz.com/files/download/sound/huang/cd8/wav/1145.mp3
游戏背景音乐:
植物大战僵尸
土耳其进行曲
小松鼠进行曲
北伐进行曲
黑暗森林进行曲
射击音效:
http://aspx.sc.chinaz.com/query.aspx?keyword=射击&classID=14
死亡音效:
http://aspx.sc.chinaz.com/query.aspx?keyword=死亡
通关音效:
http://sc.chinaz.com/yinxiao/140912482551.htm#down
音效参考自:站长素材网,网易云音乐等。
4.3 图形
地图1
地图2
地图3
人物
怪物
界面