乡村飙车竞技类游戏的设计与实现

2018-12-23 19:54:31
无线互联科技 2018年7期
关键词:管理器赛车消息

杨 宁

(湖南科技学院 电子与信息工程学院,湖南 永州 425199)

1 赛车游戏概述

赛车距今已有超过100年的历史。最早的赛车比赛是在城市间的公路上进行的。由于公路赛道的危险性比较大,所以专业比赛的赛道应运而生。第一场赛车比赛于1887年在巴黎举行。后来,赛车运动分为了场地赛车和非场地赛车。赛车类游戏是一种非常棒的游戏,吸引着很大一部分玩家。

2 游戏的背景及功能概述

2.1 背景概述

城市间的飙车虽然不被官方认可,但是还是有许多年轻人喜欢这项刺激的运动。乡村飙车游戏就是以乡村为竞技场景的飙车游戏,在游戏中玩家可以驾驶着汽车在乡间公路上尽情地飙车。

当然途中会有一些障碍物,如果是本分的驾驶员,那就绕行。如果已经厌烦了生活中本本分分的开车习惯,玩家完全可以将障碍物视为无物,直接将其撞飞。不过游戏归游戏,生活中还是要本本分分地驾驶。

2.2 功能简介

虽然本游戏是一款竞技类游戏,但操作并不是很难。游戏中玩家可以用键盘的上、下、左、右键控制赛车的行驶方向,键盘的Q键能切换视角,M键能打开或者收起小地图,玩家可以根据自己的喜好用S键控制汽车仪表盘是否显示。如果手机没有键盘,笔者从方便玩家的角度充分考虑了游戏的可玩性。

玩家可以选择传感器操控,这时候屏幕上的上、下按键控制汽车的前进、后退,通过手机的左、右按键控制汽车左转、右转,屏幕上的图标Q用来切换视角,图标M用来打开或者收起小地图,图标S控制汽车仪表盘是否显示。

3 游戏的策划和准备工作

3.1 游戏的策划

随着网络的不断发展,越来越多的玩家开始喜欢竞技游戏,此类游戏可以单机对战,可以联网对战,竞争激烈、酷炫多彩。“乡村飙车”作为一款竞技类赛车游戏,很好地再现了赛车类游戏的精彩。有了这款游戏,只要带着手机,玩家便可以随时随地进行虚拟的飙车竞技,享受挑战极限及刷新记录带来的游戏快感,满足玩家对游戏娱乐性的要求。

3.2 Android平台下游戏的准备工作

游戏的准备工作通常是根据游戏的策划来制作游戏所用的图片、声音等。本游戏主要的图片包括:广告牌、交通指示牌、小地图、菜单、山地、路边、交通信号灯、水面、天空等。本游戏主要的声音包括:刹车、获得物品、汽车加速、发车倒数、碰撞声等。

4 游戏的架构

4.1 游戏中用到的主要技术

该游戏为竞技类3D赛车游戏,对于技术的运用很多。

树木绘制的排序技术,根据树木与摄像机的距离,先绘制离摄像机越远的树木,这样可以避免树木渲染时出现的遮挡问题。

可碰撞物体碰撞效果技术,可碰撞物体分为两种:一种可以分为拥有静止状态和飞行状态的碰撞物,如交通锥等,使用线程监控其当前状态,当被赛车碰撞时,可碰撞物体由静止状态变为飞行状态,实现碰撞效果;另一种为可控制赛车的上下限速度,如加减速弹簧,被赛车碰到时或增加速度上限或减少速度上限,然后消失。

传感器技术,通过Android系统中姿态传感器的应用,将手机当前yaw,pitch,row轴的方向映射到3D场景中,以实现对汽车的方向控制。几何图形OpenGL ES实现技术。该技术实现了球、圆环、圆锥等基本部件的构造,以及部件之间的组装,比如场景中的飞艇、农舍、楼房、隧道、交通指示牌等部件。天空穹技术,实现了游戏中的天空和远山场景。水面波动技术,运用三角函数换帧实现水面的波动效果,增加游戏场景的真实性。

仪表板技术,通过恢复矩阵使速度表、虚拟按钮、迷你地图等部件固定于手机屏幕,并对其进行视角绑定。游戏时间同步记录技术,通过对手机系统时间的记录,根据记录时间的差值在手机屏幕上显示游戏所用的时间。地图拼接技术,该技术实现了迷你地图及赛道的生成,其中迷你地图显示了整幅地图的路线,以及赛车在地图中的位置。

3Ds Max生成物体加载技术,本游戏中的汽车是用3Ds Max设计的,其在游戏场景中的渲染是通过加载技术实现的,该技术可以根据3Ds Max生成物体的obj文件自动在OpenGL ES中加载,并自动计算顶点的平均法向量。2D界面的触控技术,重写触控方法,在设定的触控区域实现不同的触控效果。Mipmap技术,实现纹理贴图的重复填充,大大节省内存,山地、大楼等的绘制均使用了该技术。多键监听技术,首先将方向键规定为16进制数l,2,4,8,通过位移计算实现该技术。该技术实现了赛车行驶方向和行驶速度的控制。

声音实现技术,通过MediaPlayer和SoundPool实现游戏中背景音乐和音效,背景音乐重复播放,音乐池中音效分为按向下键时的刹车声音,按向上键时的加速声音,赛车碰撞的声音,赛车减油的声音。混合的实现,通过改变目标因子和源因子的值,设定不同的混合,其中水面、树的绘制运用到了混合技术。光照技术,在绘制赛车时开启光照,赛车的颜色是由光照实现的。多点触控技术,虚拟按键可以同时触控,互不影响,各自产生其设定效果。

4.2 游戏的框架

(1)游戏开始后,首先进入Activity_GL_Racing.java类,该类为应用程序运行的开始。在该类中将对一些量进行初始化。如声音的初始化、传感器的应用初始化等。

(2)在Activity_GL Racing.java类中执行了跳转语句后,游戏进入游戏开始界面。

(3)游戏开始界面结束后,游戏进入声音选择界面,当玩家选择了开启或者关闭后,将游戏声音状态设置为玩家选择的状态并发送消息到Activity_GL_Racing.java类中的消息处理器,请求切换界面,游戏进入主菜单界面。

(4)在主菜单界面中,单击不同的菜单项,将向Activity_GL_ Racing.java类中的消息管理器发送不同的消息,进入相应的界面。如单击帮助菜单,则向消息管理器发送跳转到帮助菜单界面的消息,进入帮助界面。

(5)当单击竞技模式菜单项时,先向Activity_GL Racing.java类中的消息管理器发送消息,跳转到游戏选择界面,在该界面中,可以选择进入游戏或者查看玩家记录。通过选择,将向Activity_GL Racing.java类中的消息管理器发送消息,并跳转到对应的界面中。

(6)当玩家选择的是进入历史记录界面,将向Activity_GL_Racing.java类中的消息管理器发送消息,跳转到该界面,在该界面中,可以通过屏幕触控事件来查看玩家历史记录。

(7)当玩家选择的是进入游戏,将向Activity_GL Racing.java类中的消息管理器发送消息,跳转到游戏加载界面,在该界面中将调用初始化游戏部件的方法,进行游戏的加载。

(8)游戏加载成功后,进入游戏界面。在游戏中,首先调用ThreadCamera.java类,进行场景浏览,结束后开启声音播放并调用DrawCountdown.java类对象,进行游戏前倒计时,在倒计时结束之前,游戏不可控,在游戏倒计时结束后,游戏恢复为可控制状态。

5 关键技术设计

5.1 汽车与公路部件的碰撞检测

汽车与公路部件的碰撞检测较为复杂,总共分为两个阶段。第1个阶段是粗测阶段,主要检测汽车是否位于当前检测的地图单元中,如果没有位于该地图单元中,则停止检测;如果位于该地图单元中,则进行第2阶段的碰撞检测。第2阶段是细测阶段,检测汽车与当前地图单元中公路护栏的具体碰撞。

5.2 汽车行驶圈数的判定

在赛车游戏中,对汽车行驶圈数的判定至关重要。只有正确合理的计圈方法才能确保游戏的公平性、真实性和可玩性。下面阐述在本游戏中计圈的判定规则。

(1)行驶够了半圈;(2)行驶到终点时行驶方向是驶向终点;(3)若出现不符合上述两点的行驶情况,半圈标志清零;(4)圈数加1后,半圈标志清零。

5.3 汽车与可碰撞部件的碰撞检测及其动画实现

在游戏中还存在可碰撞部件,包括加减速弹簧、路障牌和交通锥筒等。具体在实现时要注意碰撞物体的控制方法及其可碰撞物体动画实现线程。

6 游戏的优化与改进

6.1 过关奖励及犯罪追击

每完成一次任务,或者结束一次挑战为游戏添加相应的奖励,如金钱奖励制度、荣誉制度等,玩家可以根据自己持有的金钱和荣誉度购买更高级的赛车,挑战更高级的对手。当然,为了展现游戏的真实度,可以给玩家指定犯罪值,当玩家破坏一定量的公共设施或者对警方挑衅的时候,生成相应的警车对玩家进行追赶逮捕。相应地进行上述优化后,游戏的可玩度会得到更进一步的提高。

6.2 游戏中可以增加多辆赛车,赛车之间可以互相碰撞

在现实的赛车比赛中,赛道上不仅仅只有一辆赛车,如果没有控制好赛车,可能发生撞车事件。在游戏中同样可以模拟该类事件,赛车数量增加后可以大大增加游戏的难度和可玩性,吸引更多的玩家。

6.3 碰撞效果改进

赛车行进过程中碰到路边时不直接停下,而是将速度由标量变为向量,并实现碰撞、擦火的效果,以增加游戏的可玩性。

6.4 增设地形

可以增设地形种类,地形可以是有起伏的赛道,增加赛道难度,游戏的可玩性也能大大提高。

[参考文献]

[1]吴亚峰.Android 3D游戏开发技术详解与典型案例[M].北京:电子工业出版社,2012.

[2]涂正宏,李瑜庆.基于Android系统的射击游戏APP开发与设计[J].电子世界,2018(1):20-22.

[3]陈漫雪,薛雪.基于Android新版“吃豆人”游戏的设计与实现[J].计算机应用与软件,2017(6):106-112.

猜你喜欢
管理器赛车消息
赛车
幼儿画刊(2023年11期)2024-01-15 10:00:32
应急状态启动磁盘管理器
一张图看5G消息
云上赛车
Windows文件缓冲处理技术概述
数码世界(2018年2期)2018-12-21 21:23:46
加油吧,赛车!
我家的小赛车
高集成度2.5A备份电源管理器简化锂离子电池备份系统
消息
中国卫生(2014年12期)2014-11-12 13:12:26
消息
中国卫生(2014年8期)2014-11-12 13:00:50