《Unity 3.x游戏开发实例》——2.11节《Artillery Live!》

简介:

本节书摘来自异步社区《Unity 3.x游戏开发实例》一书中的第2章,第2.11节《Artillery Live!》,作者 【加】Ryan Henson Creighton,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.11 《Artillery Live!》
《Artillery Live! 》(http://www.gamebrew.com/game/artillery-live/play)是标准的炮术游戏机制的一种迭代(见图2.4),从电子游戏出现起就存在这种游戏机制了。可以在Flash中制作它,但是没有任何理由不使用Unity内置的3D坦克模型和一些超炫的爆炸粒子效果来制作。


98d53ea00ebbb31c2c4c7785d5b6823e2bb89604

核心机制:炮术游戏的共同机制是,玩家设置射击的轨迹和力度来摧毁敌人的坦克。该版本也有影响坦克炮弹在风中轨迹的风速功能。随着时间的推移,该游戏机制演变成了模仿弹弓的拉回和打出体验。其他版本拥有根据鼠标自动调整角度的炮塔,玩家按住鼠标按钮即可增大射击的能量。

主题:《Gamebrew》是一款标准的坦克山游戏,是20世纪70年代的游戏开发先驱设计的第一款炮术游戏。这些游戏从纯文本标题转化为拥有像素化坦克的原始说明游戏。一个明显的备选主题是将坦克换成持弓箭的战士(参考《弓箭手》(Bowman)在线游戏系列)。

近些年最有意思的炮术主题是《百战天虫》(Worms)系列和在线多人游戏:《坦克宝贝》(GunBound)。《百战天虫》中用全副武装、一心想搞破坏的蠕虫代替坦克,《坦克宝贝》中则是玩家驾驶着大型车辆投入战斗。除了坦克之外,《坦克宝贝》还将动物和神秘生物投入混战中(见图2.5)。


672dd05d41ed0c2920de243b043b6bd42440a2d0

功能集:除了核心机制、通用功能和电脑控制的玩家外,《Gamebrew》炮术游戏还提供了回合制多人游戏。多人游戏是一个很大的主题,值得单独说明。Unity确实可以制作多人游戏。Unity可以使用SmartFoxServer或ElectroServer这类开箱即用的套接字服务器解决方案,也可以使用自己编写的服务器。但是多人游戏超出了本书的范围。如果你从来没有编写过多人游戏,那么你只需要知道它们会带来很多让人头疼的问题就行了!如果你才刚开始,那么最好先解决单机游戏。

多人游戏的真相:越来越多的游戏从个人的业余爱好变成人们团体(无论是在真实还是网络环境下)的消遣。一旦你跨出单机游戏体验,游戏的制作就需要花费更多的时间、金钱和脑力。下面是以高成本到低成本、最复杂到最简单的顺序排列的多人游戏功能列表。

实时多人联机游戏:想一下《雷神之锤》(Quake)这类动作游戏,所有人都在同时跑动和射击。实时的开发是成本最高的,因为你需要确保电脑同时“看到”相同的内容。如果电脑掉线或者比别的电脑慢会怎么样呢?
同步回合制多人联机游戏:《Boggle》、《超级战舰》(Battleship)和各种纸牌室内游戏都属于这类游戏。因为你不必担心电脑每秒多次发送、接收相同的信息,所以这种游戏相对简单。
异步回合制多人联机游戏:玩家不是同时在玩的,而是通过Facebook消息或E-mail来发送他们的最新情况。允许玩家在移动过程中变老和死亡确实减轻了消息传送压力。《填字游戏》(Words With Friends)就是一个好例子。
人机对战多人游戏:这是一个高成本的选项,因为你必须编写代码,让计算机玩家拥有足以打败人类玩家的“智力”。这种改变的难度取决于游戏的类型。《四子棋》(Connect Four)人工智能的编写要比《象棋》(Chess)简单得多。
一台电脑上的人人对战多人游戏:这是最容易实现的。不需要在电脑之间传送复杂的消息,也不需要为电脑玩家编写人工智能。然而,和制作单机游戏相比,仍然需要付出更多努力,而且也不可能让大家都挤在一台电脑前玩游戏。(iPad这类设备可能更容易实现这类玩法。)
可能的附加功能:《百战天虫》系列通过一系列附加功能的添加,为炮术概念做了很多迭代工作。

武器库(包括标准的火箭筒、不怎么标准的超级绵羊和圣手榴弹);
有限的或可收藏的弹药;
有等待时间限制的团队游戏;
地雷、油桶和物品空投等场景附加用品;
移动和跳跃;
拥有忍者绳索的物理平台;
过场动画;
可命名的角色;
单人游戏关卡;
可以解锁的附加用品。
《百战天虫》系列就是一个非常好的例子,它说明了如何选取一个简单有趣的机制、创造性地设置主题,并为其卓越的功能而发狂。但是,最重要的是从制作炮术,而不是《百战天虫》开始。

低成本,高效益

到目前为止,功能开发的终极目标是找到快速、低成本制作,却能给玩家带来巨大快乐的功能。为你的《百战天虫》团队命名提供了无限乐趣。我还记得花了很长时间制作其中一个版本的蠕虫爆破时的自定义音效。没有开发人员不能制作的功能,我花在定制团队上的时间,远多于玩这款游戏的时间。

制作一款游戏,买一栋房子?

如果你认为玩家只会注意到那些百人团队制作的大制作游戏,那么炮术游戏就会给你一个教训。iPhone开发者Ethan Nicholas发布了一款用于iPhone平台的炮术游戏,到目前为止,已经赚了$600 000。小游戏也很有可能会成功。

相关文章
|
3月前
|
vr&ar 开发工具 图形学
Unity引擎:收费模式和服务升级,为游戏开发带来更多可能性
Unity引擎:收费模式和服务升级,为游戏开发带来更多可能性
|
9月前
|
图形学
Unity构造器注入+配置文件小实例
Unity构造器注入+配置文件小实例
|
4月前
|
人工智能 图形学
Unity——游戏AI实例
Unity——游戏AI实例
|
6月前
|
vr&ar 开发工具 图形学
Unity引擎:收费模式和服务升级,为游戏开发带来更多可能性
Unity引擎:收费模式和服务升级,为游戏开发带来更多可能性
|
8月前
|
图形学
Unity基础-Vector3.Lerp的使用给一个简单的实例
Unity基础-Vector3.Lerp的使用给一个简单的实例
|
10月前
|
存储 图形学 Android开发
【游戏开发】使用unity创建2D游戏
Unity是一种非常强大的游戏引擎,可以帮助你创建各种类型的游戏,包括2D游戏。在本文中,我们将教你如何使用Unity创建2D游戏。首先,你需要确保你已经下载并安装了最新版本的Unity。如果你还没有安装Unity,可以从官方网站下载免费的Unity Hub来管理你的Unity版本。
388 0
|
10月前
|
图形学
【游戏开发】unity透明特效的制作方法
Unity是一种强大的游戏开发引擎,它支持许多不同的特效和图形效果。其中一种常用的特效是透明特效,它可以使游戏中的材质变得半透明或完全透明。在本文中,我们将介绍如何使用Unity创建透明特效。
513 0
|
10月前
|
JavaScript 前端开发 vr&ar
【游戏开发】unity入门教程
Unity是一款非常受欢迎的游戏引擎,它可以用于开发2D和3D游戏以及虚拟现实和增强现实应用程序。如果你是一个刚开始接触Unity的开发者,这篇教程将为你提供一些有用的指导。
218 0
|
存储 C# 开发工具
C#编程的构成要素(结合unity做实例分析)
C#编程的构成要素(结合unity做实例分析)
C#编程的构成要素(结合unity做实例分析)
|
人工智能 图形学
游戏开发初级之游戏对象和组件关系(Unity3D)
Unity是一个基于组件的游戏引擎。本文将解释这是什么以及如何有效地使用它。