基于Untiy3D的塔防单机小游戏设计

2020-03-02 08:45王克强
技术与市场 2020年3期
关键词:炮塔鼠标菜单

王克强

(仲恺农业工程学院自动化学院,广东 广州 510225)

0 引言

随着游戏的发展,人们对游戏的要求也越来越高,更多人希望玩到有趣的游戏的同时,体验到游戏的高品质画面和流畅性。3D游戏的游戏体验比2D游戏的游戏体验好很多,所以我们想要做这么一款3D游戏非常符合游戏产业发展的道路。而3D游戏如果能和手机端合体,那么带来的效益通常会出乎人们的意料。谈到手机端,人们自然会想到Android系统,本次设计就打算将运行平台锁定在PC端和Android端,让人们的游戏在Android端也可以畅玩。由于考虑到游戏的多平台性,故而选择Unity3D软件来制作本次设计。

1 游戏开发准备

1.1 Unity3D的简介

Unity3D是一个功能强大且非常专业的游戏引擎,它是由Unity Technologies开发得到的,而Unity Technologies开发其的目的是让所有使用者能够非常容易的创建一些3D的视频游戏、让建筑全方位可视化、3D动画实时播放等类型的互动内容,并且Unity3D还具有多平台性。和Director等软件一样,Unity3D非常注重其图像图形的渲染。Unity3D这款强大的游戏引擎能够运行在微软系统的电脑和苹果系统的电脑下,并且能够把游戏发布至超过5种常见的平台。更强大的是,Unity3D所开发的游戏可以利用Unity web player插件发布一些手机游戏或者网络游戏,它支持苹果系统的设备和微软系统的设备的网页浏览。

1.2 编程语言

Unity3D的项目设计可以用包括C#在内的三种脚本语言进行编写,而在本次设计中采用的是C#语言。因为就目前而言,Unity3D的项目设计有极大部分是采用C#脚本语言进行编写的。甚至在Unity3D官方给出的数据显示,有超过81%的项目是用C#语言编写的。考虑到参考和学习的方便,故而利用C#进行游戏开发。

2 游戏策划

2.1 游戏基础

这是一款在Unity3D软件上开发而出的塔防类型的单机益智类小游戏,游戏命名为《打死球球》。游戏难度适中,但具有一定挑战性,适合所有年龄段的玩家,且能够在电脑上和安卓端的手机上畅玩。

2.2 游戏规则

基地是一个立方体,并且不能被球状体的敌人触碰到。在每一关中,敌人一波一波地向基地移动靠近,每一波敌人都有几个,敌人的速度和生命值也会伴随着波数的增加而增加,整体难度也会变得越来越大。总共有3种类型的炮塔可供玩家选择,炮塔可以升级和拆卸,拆卸炮塔不会增加金钱。

游戏开始时给予玩家一定的金额购买和升级炮塔,当炮塔消灭敌人时金钱增加,消灭1个敌人增加的金钱数额在5~15。炮弹类型的炮塔拥有暴击属性,暴击率为30%,暴击伤害为普通伤害的1.5倍。

敌人是五颜六色的球球,如果这些球没有被及时毁灭掉,那么当其触碰到了方块,也就是终点的时候,会弹出游戏失败的菜单,这时可以选择继续玩或者直接回到一开始的界面菜单。当敌人全部被消灭时则游戏胜利,胜利时可以选择回到主菜单或者进入下一关。游戏的金币不会继存到下一关。

2.3 游戏操作

在电脑上,可以通过鼠键的结合来对游戏的视角进行调整,键盘可以控制水平上的平移,鼠标滚轮则是控制视角的远近。

开始游戏后,利用鼠标左键单击游戏界面右边的炮塔图标来选择炮塔,然后鼠标移动到游戏中的空白方格,当方格变红时可以左键单击方格建造炮塔。

用鼠标左键单击已经建造完毕的炮塔时,炮塔会弹出一个“升级”和 “拆”的按钮,点击升级则炮塔“升级”并且消耗金币,点击“拆”则拆卸该炮塔。

游戏过程中可以单击游戏界面右上角的暂停按钮暂停游戏,在暂停状态下可以进行炮塔的建造、升级和拆卸。

在Android端的游戏操作和PC端的类似,只是把鼠标点击换成是手指触摸点击。

2.4 游戏结构设计

在设计制作游戏时,把握全局,时时刻刻确保思绪通畅,抓住整个游戏的结构。把整个游戏看做是一个系统,那么这个系统可以用三个层面简单概括,这三个层相互之间并不会有所影响,而且将他们分隔开来有利于设计者追加游戏功能,这样的游戏设计大大降低了耦合度,在很大程度上给设计者留下可以修改或者改进的后路。采用图形解说的方法,把这个系统简单的概括出来。

3 游戏开发

3.1 场景建立

实践开发游戏第一步,建立空场景,然后将它储存起来。也可以选择利用键盘上面的快捷键Ctrl+N,储存场景(Scene)。场景可以理解为在做游戏时的左右手,没有它,创造不出这整个游戏世界。先创建了一个游戏场景,相当于提供了一个开发游戏的平台。

3.2 设计地形

首先考虑到游戏风格是有些接近像素类的风格,于是把游戏的地图尽量的简化,让玩家一目了然。在地图上建立1个Plane,然后把Plane的X轴和Z轴都改为300,Y轴为1,这样做是为了让背景足够大,大到看不到边。

3.3 敌人与敌人的产出

以直径为3的小球作为敌人,敌人随着颜色的变化,血量和速度将会越来越快。在脚本里面设置敌人的血量和速度为public类型的变量,这样一来就可以方便地修改敌人的参数。给敌人加上脚本,让敌人拥有“思想”。

3.4 炮塔数据

一共设置了三种炮塔,在Hierarchy面板上先预制好这三种炮塔,然后将这三种炮塔分别做成Prefab以便接下来的频繁使用。然后要做1个炮塔选择的界面,在这个界面上要显示出炮塔的类别和购买所需要的金钱。

3.5 游戏菜单

本次设计的游戏菜单也采用一目了然的形式,进入游戏后先进入游戏菜单。把游戏中的经典炮塔的Prefab单独拿出来,然后给它添加上动画效果,让它左右摆动,然后在炮塔上添加上开始游戏和退出的按钮。

4 结语

本文设计的3D塔防单机小游戏不仅能在PC端完美流畅运行,而且可以适配给Android端,在手机上也可以运行该游戏。然而这个游戏也还存在着很多的缺点,比较严重的缺点就是界面做得太过单调,界面渲染得不太好看。还有就是炮塔的类型太少了,玩起来不爽。游戏难度也适中,由于打死敌人有增加金钱,游戏难度被大幅度下降了。在手机端运行时,视角的变动也没有做到。所以还存在着很多提升的空间。

猜你喜欢
炮塔鼠标菜单
中国新年菜单
基于Unity引擎制作塔防游戏
莱茵金属公司将扩展德国“美洲狮”步兵战车性能
本月菜单
伊朗新型“克拉尔”KARRAR主战坦克在当地电视台出现
某型步兵战车炮塔结构瞬态动力学分析
鼠标折叠笔
一个“公海龟”的求偶菜单
45岁的鼠标
超能力鼠标