目录
第一章 前言 3
1.1 选题背景 3
1.2 选题意义 4
1.2.1 对用户的意义 4
1.2.2 对于技术推广的意义 4
1.2.3 对个人技术的意义 5
1.3 国内外研究现状 5
1.3.1 国内现状 5
1.3.2 国外现状 5
1.4 研究主要内容 6
1.4.1 研究方法及手段 6
1.4.2 研究内容 7
1.4.3 技术路线 7
1.5 需求分析 7
1.6 Unity3D 引擎的核心模块 7
1.7 Unity3D 引擎的开发框架 8
1.8 C#的介绍 9
1.9 确立开发环境 10
第 二 章.游戏开发整体结构设计 12
2.1 游戏框架结构关系及功能 12
2.2 游戏各级界面设计 13
第 三 章.游戏系统功能设计 15
3.1 游戏整体设计 15
3.2 游戏整体实现 15
3.2.1 3D 效果实现 15
3.2.2 关卡内容及操作逻辑 15
第四章.游戏系统功能实现 19
4.1 游戏设计逻辑 19
4.2 界面 20
4.3 玩家功能实现 23
4.3.1 摄像机控制 23
4.3.2 游戏中按钮的判定 23
4.3.3 游戏逻辑 24
4.3.3.3游戏条件判断逻辑 26
4.3.4 数据保存及传输判定 27
4.3.5 建筑物建造判定 28
4.4 游戏测试 28
4.4.1 功能测试 29
4.4.2 可玩性及游戏逻辑测试 29
4.4.3 内存测试 30
4.4.4 响应时间测试 30
第五章 总结与展望 32
致 谢 35
参考文献 36

第一章 前言
如今, 世界已经进入娱乐。电子游戏已成为世界公认的主要热门产业。它的兴起和迅速发展, 以及它在世界上的普遍性, 给人类生活带来了翻天覆地的变化。游戏开发引擎的开发也取得了巨大成就, 为电子游戏的发展提供了良好的技术支持。在此背景下, 统一3D 的发展已经突破。越来越多的基于 Unity 3D 引擎的游戏已经开发出来。因此, “基于 Unity-3d 的战略开发游戏设计与实施” 的毕业设计已经形成。目前, 大多数玩家更喜欢独立的 FPS 游戏, ACT 游戏, RPG 游戏, RTS 游戏, RAC 游戏和 SPG 游戏, 而 SIM 游戏和 SLG 游戏是越来越少的球员。但我们不得不否认, SIM 和 SLG 游戏需要逻辑思维和良好的前瞻性。游戏思维的难度远远高于主流游戏。本课题以 Unity 3D 为开发引擎, 以 sim CITY 为模板, 以简单的方式实现了良好的运行效果和视觉效果。这个游戏是一个 3 d 游戏, 具有众所周知的鼠标操作模式的游戏, 不需要键盘参与。作为3D 游戏引擎, 在 Unity 3D 中执行这些操作自然是失重的。需要简单的操作模式和强大的逻辑思维。这个游戏表明, 12岁以上的玩家, 具有一定的社会观和常识, 发展自己的城市, 同时体验为 “上帝”。
1.1 选题背景
战略游戏可根据其不同的操作模式大致分为两大类, 即国际象棋战略博弈 (SLG) 和实时战略游戏 (RTS)。游戏策略 (SLG) 类似于下棋的方式。这两个球员 (曼-马钦人) 依次行动, 这在中国比较流行。“大华西游记”、“西游记”、《奉献天地》、《问题》等游戏在国内市场上继续流行。实时策略 (RTS) 是指两个或两个以上玩家的同时操作。由维斯特伍德工作室开发的红色警报系列、暴雪开发的魔兽系列、《星际争霸》系列和微软开发的帝国时代是著名的代表性作品。
战略游戏注重思维, 关键是战略和操作, 机敏取胜, 一般从整体发展的考虑出发, 开始运作。培养游戏一般需要慢慢培养主角, 通过各种活动或练习, 使主角达到一定的能力水平, 完成具体任务。代表是清水宝贝, 心跳记忆和梦工厂的美丽女孩, 重点是培训和紧急情况。战略形成游戏整合了战略游戏和形成游戏的特点, 使玩家有了逻辑水平的策略, 使游戏的情节根据玩家的意愿发展。
2009年, Unity 引擎的注册用户数量达到 35, 000 人, 在2009年跻身前五名游戏引擎之列。2 0 1 0年, Unity 引擎开始支持 Android 平台, 其影响力继续蔓延。2011年, Unity 引擎开始支持 PS3 平台和 XBOX360 平台, 并基本完成了整个平台建设。Unity 3D 拥有大量的用户。全世界有超过100万人在使用 Unity 3D。其中30% 的人每月使用 Unity 3D。全球超过1.25亿人安装 Unity 3D 网络播放器。有了 Unity 3D, 每个人都可以制作自己的游戏, 有了足够的团队, 每个人都可以制作可以在各种平台上使用的游戏。
1.2 选题意义
1.2.1 对用户的意义
游戏是一个战略形成的游戏。其核心目标是培养运动员的逻辑能力。通过这个游戏, 不仅娱乐, 而且逻辑能力和工作效率都可以提高。
1.2.2 对于技术推广的意义
Unity 引擎是一个3D 游戏开发工具和游戏引擎套件, 其中包括图形, 音频, 物理, 网络和其他引擎支持, 并包含一个极其强大的编辑器, 以集成所有这些。Unity 最初是适用于 Mac、Windows 和 Linux 的游戏开发引擎套件。由于其出色的可操作性, 它已发展成为能够在 iPhone、iPad 和 Wii 上部署, 甚至在 Web 上部署。Unity 引擎使用 Mono 作为脚本引擎的虚拟机, 可以使用 C# 语言或类似于 JavaScript 的语言作为脚本语言, 这在游戏引擎编辑脚本语言中很少见 (另一个例子是第二生命也使用 Mono 作为脚本引擎和 C# 作为脚本语言)。Unity 引擎在游戏引擎脚本编辑语言中的应用也促进了 Mono 自身的进步, 包括 Mono。模拟代码, 这使得 Mono 或托管代码更适合游戏开发。
1.2.3 对个人技术的意义
游戏将在 PC 上运行, 这与我校四年的学习和研究方向是一致的。所涉及的技术是 C#, 它现在是最流行的 Unity 3D 开发技术。通过这个系统设计, 这些技术将被纳入自己的项目, 以加强自己对这些技术的使用和理解。
1.3 国内外研究现状
1.3.1 国内现状
腾讯等许多公司在这一领域都有发展。Unity 3d 非常年轻, 如果您可以直接导出文件进行闪存, 那么他的未来是光明的!目前, 该官员曾表示, Unity-3d 3.5 将支持闪存出口, 未来是非常好的, 即目前的信息太少, 两年内将有很多信息, 现在基本上是英文的。
1.3.2 国外现状
到目前为止, 跨平台游戏已经形成了一个全球气候, 并拥有很大的市场份额, Unity 3D 引擎在世界主要游戏制造商眼中的重要性是显而易见的。首先, 发动机在游戏场景、图片、脚本等方面具有较强的设计能力, 其图像效果在一定程度上不逊于公认的最佳引擎–幻象3引擎。其次, 其跨平台游戏的兼容机枪可以很容易地实现同一游戏在所有主要主流游戏平台上的无缝共存, 甚至跨平台对抗。在短短几年内, 已经有数以百计的 PC 兼容游戏开发与 Unity 3D 引擎在全球跨平台游戏领域。如果我们考虑到网络和 IOS 兼容平台上的游戏, 就会有将近数千种游戏。最可怕的是基于引擎的手机游戏的井喷增长。成千上万的 PC 兼容的游戏是在过去。
1.4 研究主要内容
1.4.1 研究方法及手段
1.4.1.1 用户需求分析
根据玩家的需要, 制定了游戏的生产计划, 并编制了初步需求分析手册。然后制作一个简单的游戏样本, 然后根据玩家的需要调整生产计划和需求分析手册, 修改样本, 最后确定游戏需要实现的功能和界面风格。
1.4.1.2 调研法
游戏的风格和内容布局可供流行的类似游戏参考。游戏是否完全延伸到现有的游戏模式, 如果没有不合理的使用, 如果没有如何改变游戏的结构将更加科学。只有通过研究, 我们才能满足大多数球员的需求。
1.4.1.3 由单个目标到整体世界创建
在游戏设计中, 每个目标和脚本都将逐步添加到世界中。当目标的独立脚本完成后, 新的关联脚本将逐步添加到整个世界。一步一步, 逻辑和可变性将逐渐丰富和严格。
1.4.1.4 注意事项
(1)统一扩展编辑器: 开发统一资源处理管道。
(2) Unity 引擎中的照明渲染包括控制光的强度, 快速呈现物体阴影, 突出照明和泛光灯的特性, 但其优缺点也很明显。它可以在材料中添加光和阴影效果, 并优化阴影。
(3) 通过导入模型, 脚本编辑器用于编写代码来控制和解释每个代码块的含义和功能。
(4) 找出记录问题和漏洞的原因, 找出解决漏洞的方法。。
1.4.2 研究内容
1.4.2.1 欢迎界面的建立
游戏的欢迎菜单使用最常见的树菜单模式, 即启动后, 主页上的选项可以操作基本的游戏功能。主要可创作产品目录包括: 开始游戏, 重新启动游戏, 游戏简介, 退出游戏。
1.4.2.2 游戏内的世界网络搭建
虽然游戏中的每个目标都有独立的脚本, 但每个目标肯定需要相互关联, 这需要整个世界的合理和逻辑脚本, 以最大限度地提高现实的程度。
1.4.3 技术路线
(1) 将模型导出到。FBX 或。obj 文件使用3DsMax 或 Maya, 并通过使用鼠标将该文件拖动到 unity3d 导入模型。
(2) 使用 C# 语言作为脚本语言, 实现脚本的创建和关联。
(3) 根据欢迎页面菜单创建合理的世界架构。
1.5 需求分析
游戏的核心目标是创造一个现实和逻辑的世界观, 优化程序, 并在虚拟放松和自我实现中体验现实。通过游戏, 玩家可以体验虚拟世界中在现实中无法体验的事件, 找到自我实现。此外, 由于每个脚本都针对一个目标, 因此可以在以后的维护中独立维护, 并且不需要修改整个脚本来修改不合理的漏洞, 因此可以节省大量的调用时间。这样, 我们就可以节省工作量, 提高工作效率。
1.6 Unity3D 引擎的核心模块
(1) 游戏对象模块: 每个游戏都由游戏对象组成。我们在游戏中看到或看不到的每一个像素都是游戏对象的体现。按钮、场景等都是游戏对象。Unity 3D 引擎可以将独立的代码脚本附加到每个对象。
(2) 事件处理模块: 玩家操作游戏, 其实是在游戏中完成一个又一个事件, 并通过人工操作基本改变现有对象的状态, 以实现游戏的发展。更改处理是通过此模块完成的。
(3) 相机模块: 顾名思义, 是一个巨大的视觉传输模块, 其概念是由3D 游戏生成的。这个模块允许玩家从所需的角度观察各种游戏对象, 玩家可以根据自己的愿望移动相机, 以获得所需的视角。此模块还由脚本代码控制。移动、开启、关闭等动作可以实现游戏的视觉转换。
(4) 渲染模块: 此模块是所有模块中最抽象但最重要的模块。玩家看到的图像由此模块呈现。该模块实时计算所有游戏对象的状态, 然后将图片输出到玩家相机的位置。其速度和效果是双重测试。它强大的功能直接决定了游戏的视觉质量。玩家在看完游戏后想要玩的第一印象通常是视觉效果。
1.7 Unity3D 引擎的开发框架
任何完整的 Unity 3D 引擎游戏都由信 (Sence)、游戏对象和组件 (组件) 组成。
游戏场景可以包含无限数量的游戏对象 (如果计算速度足够强), 并且游戏对象也可以由无限数量的游戏组件组成 (如果计算速度足够强)。这三个部分构成了 Unity 3D 引擎游戏的基本框架层。
塞森: 游戏场景是我们在游戏过程中通过显示器看到和听到的。天空、地面、建筑、山脉、水域、战斗音效等。在游戏过程中, 相机的移动、打开和关闭将允许玩家看到不同的游戏场景, 而场景中元素状态的变化将使玩家能够看到不同的图片效果。从理论上讲, 游戏中场景级元素的数量决定了游戏的视觉效果是否华丽, 但过多的场景或元素会大大降低游戏的加载速度, 降低游戏的运营效率。总之, 在设计和制作游戏时, 应根据需要适当控制场景和元素的数量。游戏对象: 玩家可以在游戏时查看和操作游戏对象。
从玩家的角度来看, 游戏的对象是游戏的最小单位。游戏对象的属性涵盖了从视觉表面映射到背景渲染效果的所有方面。每个对象都被赋予了不同的属性, 是一个全新的游戏元素。游戏脚本的添加还允许玩家操纵每个对象在各种属性之间切换, 以实现多样化的互动体验。
游戏组件: 游戏组件是玩家在游戏过程中看不到的存在。它的主要功能是向游戏对象添加一组相关属性。从本质上讲, 每个游戏组件都是类的表现。组件的存在是为了控制游戏对象。组件通过操作和脚本改变游戏对象的各种属性, 以实现最基本的人机交互。目前常见的游戏组件有多种: 渲染类型组件、音频类型组件、导航类型组件、网格类型组件、物理类型组件、特效类型组件、杂项选项等。 组件是添加到游戏对象中的相关属性, 并且本质上每个组件都是类的实例。组件存在的目的是控制游戏对象, 通过操作改变游戏对象的各种属性, 以便与玩家交互。游戏组件有多种类型: 渲染类型组件、音频类型组件、导航类型组件、网格类型组件、物理类型组件、特殊效果类型组件、杂项组件等。
1.8 C#的介绍
在 Unity 3D 引擎中, 脚本语言可以使用 JavaScript、c# 和 Boo。大多数商业游戏开发都使用 C# 作为脚本语言, 因此该游戏也选择 c# 作为游戏的开发和设计语言。
C# 语言是由 Microsoft 开发的面向对象的高级编程语言, 可以在其上运行。NET 框架。鉴于应用的普遍性。NET 框架在现有平台上, c# 语言可以快速编写各种程序的基础上。NET 框架平台。
C# 语言在语法方面与 JAVA 语言非常相似。与 JAVA 语言类似, c# 语言被转换为中间代码以再次运行, 其中包含许多方面, 如接口、继承等。但 c# 语言也不同于 JAVA 语言。这种差异是因为 c# 语言是由 Microsoft 开发的。NET 框架编辑的微软。NET 窗口网络框架由 COM (组件对象模型) 直接集成。它包含德尔福的特征。它是非常方便和普遍的。
C# 语言的定义主要继承其前身的 C 语言和 C++ 语言。在编码中, 我们可以深刻地认识到, 许多领域与 c c++ 语言是相同的。但是, 在可选项方面, c# 语言在继承了 csc++ 语言后得到了改进。它比 JAVA 语言有更多的可选项目, 也有自己的特点。C# 语言仍处于起步阶段, 需要在许多地方加以完善。目前, c# 语言类似于 JAVA 语言。开发人员没有对其进行相应的解释。因此, 在这个阶段, c# 语言是无法击败的, 它取代了 JAVA 语言。从开发人员的意图来看, c# 语言很有可能升级为可被编解码器广泛接受和使用的编程语言。然而, 考虑到 JAVA 语言开发人员在其外部报告中公布的 JAVA 语言的效率远远高于 C/C ++, Microsoft 作为世界上最大的技术制造商之一, 不必说太多, 只需启动 C#语言作为一种展示其力量的行动, 而这一行动给了业界一种感觉: c# 语言绝地反击。
一般来说, C# 语言功能非常明显、简洁、稳定和安全。它彻底继承了父 C/C ++ 语言的优点, 但同时也成功地摆脱了其复杂的缺点, 从规则出发, 避免了不必要的操作, 达到了更快、更强的目标。而由于他们继承了父母的语言, 具有 csc++ 语言编码基础的人可以在不复杂学习的情况下快速掌握语言, 这也是一个巨大的优势。
C# 语言作为一种在后期出现的编程语言, 实际上借鉴了许多编程语言的优势, 汇集了各国的优势, 不断提高语言本身, 如 JAVA 语言、VB 语言、帕斯卡语言等。C# 语言可以以 VB 语言的方式直观地运行, 并以 C++ 的身份高效运行。凭借简洁、稳定、安全的语言功能和微软的大力支持, 它已成为第一语言。NET 平台开发。在其他平台上, 如 IOS 和 ECMS, c# 语言已成为其标准规范, 其强大的功能是显而易见的。
鉴于 C# 语言在面向对象的编码设计中的巨大优势, 它很快成为编码各种组件的首选语言, 无论是系统级低级应用程序还是业务级高级计算对象, 都可以控制自由。由于微软在行业中的实力, 大多数平台最终都需要转换为自己的标准, 这样 c# 的简单语言结构就可以很容易地使用, 比如方便地将其转换为 XML 网络服务, 这样就可以在任何语言的操作系统上通过互联网调用。新网络标准的无缝适应性进一步增强了 c# 语言的优势。
1.9 确立开发环境
计算机型号 X86 兼容 台式电脑
操作系统 Windows 10 旗舰版 64 位 SP1 ( DirectX 11 )
处理器 英特尔 第二代酷睿 i7-2550K @ 3.40GHz 四核
主板 华硕 P8P67 LE (英特尔 P67 芯片组)
内存 8 GB ( 金邦 DDR3 1333MHz )
主硬盘 希捷 ST2000DM001-1CH164 ( 2 TB / 7200 转/分 )
显卡 Nvidia GeForce GTX 560 SE ( 1023 MB / 华硕 )
显示器 飞利浦 PHL084A Philips 190CW ( 18.6 英寸 )
光驱 华硕 DVD-E818A2 DVD 光驱
声卡 瑞昱 ALC892 @ 英特尔 6 Series Chipset 高保真音频
网卡 瑞昱 RTL8168E PCI-E Gigabit Ethernet NIC / 联想
软件:
Unity3D 3.5.5 , Autodesk 3ds Max 2010 32 位 , Autodesk Maya 2010

第 二 章.游戏开发整体结构设计
2.1 游戏框架结构关系及功能
这个游戏设计有三个主要页面: 游戏开始界面、游戏介绍界面和游戏界面。通过游戏的整体结构 (图 2-1), 可以理解游戏的框架和功能。启动界面是第一级界面, 其中包括四个按钮: “开始游戏”、“重新启动”、“播放简介” 和 “退出游戏”。游戏介绍界面是一个辅助界面, 在其中你可以观看游戏玩法以及如何确定升级。游戏界面也是一个两级界面, 可用于游戏操作、查看分数和当前级别、保存和退出游戏。

图 2-1 游戏整体结构图
当玩家开始运行游戏时, 他进入第一级界面 (启动界面)。玩家点击 “开始游戏” 或 “重新启动” 按钮, 进入辅助界面 (游戏界面) 开始游戏。点击 “播放简介” 进入另一个辅助界面 (游戏界面介绍), 阅读游戏介绍, 点击 “回到主菜单” 的界面将返回到第一级界面 (开始界面), 点击 "启动"游戏 "跳转到另一个辅助接口 (游戏接口) 开始游戏。在游戏界面中, 单击 “保存和退出” 按钮将保存游戏进度并关闭游戏程序。
2.2 游戏各级界面设计
本节是游戏的简明界面框架设计。它解释了所有级别接口的一般设计单元和内容, 如图 2-2 (a)、图 2-2 (b)、图 2-2 © 所示。

图 2-2(a) 开始界面图

图 2-2(b) 玩法介绍界面图

图 2-2© 游戏界面图

第 三 章.游戏系统功能设计
3.1 游戏整体设计
本场比赛是基于 Unity-3d 技术, 以实现城市建设为主线的游戏, 适合玩家合理的思维能力操作3D 游戏。
游戏玩法方法和设计原则: 玩家需要按照相应的水平在有限的空间内建设建筑和发展城市, 但他们需要注意经济价值和污染价值的变化, 同时不断地提高经济价值可以升级到通关, 但如果污染价值达到一定价值, 游戏就会失败。
玩家从开始进入游戏的顺序操作说明: 运行游戏, 进入开始界面, 点击 “启动游戏” 按钮进入游戏界面启动游戏 (此按钮可以继续游戏的进度之前的比赛继续进行)。如果玩家想放弃以前的游戏进度, 继续游戏, 他可以点击 “重新启动” 按钮进入游戏界面, 并开始一个新的游戏。如果玩家第一次进入游戏操作, 他可以点击 “游戏简介” 按钮阅读游戏, 然后点击 “开始游戏” 按钮在介绍界面上玩游戏或点击 “回到主菜单” 按钮 t别开始比赛了在游戏过程中, 玩家先点击土地, 然后点击相应的施工指令, 执行建筑施工。建筑建成后, 经济回报价值和污染价值将根据游戏设定的时间规则自动积累。当经济价值达到一定价值时, 游戏会自动升级并启动新的施工指令, 但如果污染值达到一定的值, 游戏就会失败并结束。玩家需要在退出后重新启动游戏或进入游戏, 并根据以前的存档继续游戏。
3.2 游戏整体实现
3.2.1 3D 效果实现
Unity 3D 是一款3d 游戏开发引擎, 因此在游戏中, 只需要设置好相机, 导入相应的三维模型就能达到三维效果, 非常方便。
3.2.2 关卡内容及操作逻辑
在这个游戏中, 没有明确的水平切换, 只是通过水平显示上面的游戏界面来判断游戏水平的进展, 玩家一直在同一个界面上玩。玩家在开始游戏后只能建造很少数量的建筑, 但随着水平的提高, 可以建造更多的建筑。没有建筑物建成后, 会根据规定的时间自动增加经济价值, 但也会积累污染价值, 这就要求玩家合理安排建筑物的数量和类型, 确保污染价值 "不会超过导致游戏结束的关键线。当游戏发展到一定水平时, 会增加相应的事件, 导致经济价值锐减或污染价值急剧增加。此时, 玩家需要使用自己的逻辑来恢复相应的分数。
游戏的得分规则如下: 工作只需要考虑经济得分和施工时间, 起始分数为 100, 污染得分为 0, 污染得分为 10, 000 分或游戏得分为 20, 000 分, 游戏结束。游戏内时间规则是: 实时 30秒 = 游戏时间1天。
随机灾害攻击和社会问题不能同时发生, 每次只随机触发, 时间间隔为40天。突发事件造成的经济价值低于等级最低经济价值的, 不得降低等级。
检查站 1: 可建造建筑: 住宅: 消费经济值30一次, 施工时间 3天, 污染增加 5, 收入10后完成, 污染增加每天 5;商场和工厂: 消费经济值一次 50个, 施工时间 7天, 污染增加 10, 收入每天30元建成后, 污染每天增加 15; 第二点: 经济价值积累到 5 0 0, 在至少建设3栋住宅、1个商场和工厂的前提下进入二级。
额外建筑: 地铁: 一次消费80种经济价值, 施工时间 10天, 污染增加15处, 竣工后每天收入40人, 每天污染增加30元。
3号检查站: 经济价值积累到 1500, 在至少建5栋住宅、2个商场、工厂、1座地铁的前提下进入第三层。
新增建筑物: 占经济价值 150余, 施工时间为 10天, 污染增加了 30天, 日收入完成后50元, 污染减少了150次。
第四门: 经济价值积累到 4500, 在至少建造10栋住宅、2个商场和工厂、2个地铁和2个公园的前提下进入第四门。
新增建筑物: 垃圾站: 一次性消费的经济价值为 200, 施工时间为 15天, 污染增加了 40, 日收入完成后50元。污染每天增加70点。
随机参与灾害攻击: 怪物: 经济价值暴跌 500;
火灾: 经济价值下降 300, 污染值增加 200;
洪水灾害: 经济价值下降 400, 污染值增加 100;
随机参与社会问题: 犯罪率上升: 经济价值暴跌 500;
污染: 污染增加了400。
检查站五: 经济价值累计达 9, 000 人, 在至少新建15栋住宅、3个商场和工厂、3个地铁、3个公园和1个垃圾场的前提下进入5级。
新增建筑物: 港口消费300元, 建设时间 25天, 污染增加, 污染增加 60天, 竣工后每日收入150余。污染每天减少300倍。
随机参与灾害攻击: 怪物: 经济价值下降了 1000;
火灾: 经济价值下降 600, 污染值增加 400;
洪水灾害: 经济价值下降 800, 污染值增加 200;
随意参与社会问题: 犯罪率上升: 经济价值下降 1000;
污染: 污染增加了800。
6号检查站: 经济价值积累到 12, 000, 在至少建造20栋住宅、5个商场和工厂、5个地铁、5个公园和2个垃圾场的前提下进入6级。
附加建筑物: 机场: 一次消费的经济价值为 500, 施工时间为 50天, 污染增加了 100天, 每天的收入增加了250元, 污染增加了200。
随机参与灾害攻击: 怪物: 2000年的经济价值暴跌;
火灾: 经济价值下降1200元, 污染值增加 800;
洪水灾害: 经济价值下降 1600, 污染值增加 400;
空难: 经济价值下降 1500, 污染值增加 500;
随机参与社会问题: 犯罪率上升: 2000年经济价值暴跌;
污染: 污染增加了1500。
经过多次计算, 数值在理论上符合法线逻辑, 能顺利进行。只要大楼处理得当, 就可以实现通关。

第四章.游戏系统功能实现
4.1 游戏设计逻辑
因为这个游戏是一个战略形成的游戏, 我们需要一个严格的逻辑思维, 以完成游戏逻辑的思考和许多实验。在创建过程中, 考虑到此类游戏所涉及的丰富内容, 在内容中创建了三个游戏数据、游戏逻辑 (管理脚本) 和构建状态。游戏数据是主体, 所有数据都应记录在其中。在游戏逻辑 (管理脚本) 中, 我们需要分别考虑游戏管理、UI 管理和级别管理。这三个逻辑内容必须相互关联, 以确保游戏的完整性和可玩性。而且一定要准确, 一旦出现逻辑判断错误, 就会导致整场比赛瘫痪, 这部分比赛是最重要的。最后, 对建筑的状态, 这部分建筑要控制建筑的类型和时间, 并确保每栋建筑都是相对独立的, 以便准确地计算游戏中的数据。具体逻辑如图4-1 所示:

图 4-1 策略养成类游戏逻辑图
4.2 界面
GUI 是图形用户界面的缩写, 即图形用户界面。
该游戏是在 Windows 系统下开发的 PC 平台游戏, 使用 Unity 3D 游戏引擎, 并结合 Visual Studio 2012 和 NUI 资源包。
这个游戏的 UI 框架是基于 Unity3D 本身提供的 NUI 插件。
NUI 插件是用 C# 编写的 Unity 引擎插件。它严格遵循 KISS 原则。由于其开源, NGUI 插件适用于 unity 3D 的专业版和免费版本。此插件本身可以提供强大的 UI 系统体系结构和事件通知框架。此插件的优点是代码简洁, 并且大多数类的代码不到200行, 这意味着操作员可以轻松地扩展 NUI 函数或调整现有函数。对于所有用户来说, 简化的编码代表了更高的性能、更高的兴趣和更低的难度, 这适用于大多数程序员。
NUI 插件使用与 unity 3D 引擎中的脚本编辑相同的方法。同样, 它使用 Widget 工具快速创建模板控件或将控件脚本直接添加到基本组件。它可以根据编码器的意愿随意复制代码, 并将编码器的窗口保存为预制件。它可以通过单击鼠标来完成。这是非常方便的。更方便的是, 当您需要编写代码以移动控件时, 只需选择系统中已存在的简单示例代码即可更改目标控件。例如, NUI 插件可以直接将目标控件转换为按钮、文本输入框, 甚至目标会根据事件更改颜色、播放声音、触发动画等。
NUI 插件功能:

  1. 您不需要单击传统的 “播放” 按钮即可预览效果。
  2. 你在相机中看到的引擎设计场景透视是什么, 你看到在游戏中, 当你使用封装的游戏 (所见即所得)。
  3. 基于组件的模块化: 如果程序员需要在接口中进行任何控制来执行任何操作或转换, 他们只需将相应的脚本附加到显示的对象, 而无需任何编码过程。
  4. 灵活的事件系统;
  5. 如果要修改纹理地图集, 可以直接在编辑器中创建、更新和修改纹理, 也可以直接从纹理包装程序导入纹理。
  6. 在光效处理方面, 支持光映射、正常贴图、折射等特点, 使您能够充分发挥自己的创造力;
  7. 支持灵活的尺寸表, 可自动排列控件。
  8. 内置本地化系统;
  9. 内置键盘和摇杆支持;
  10. 提供大量有用的辅助脚本, 从更改按钮的颜色到拖动对象;
  11. 简单的内置动画系统;
  12. 简单且高度优化的 C# 代码;
  13. 没有 DLL 和依赖于其他外部资源的 NGUI 的使用方式与 Unity 相同。

图 4-1(a) 一级界面

图 4-1(b) 二级界面

Logo

分享前沿Unity技术干货和开发经验,精彩的Unity活动和社区相关信息

更多推荐