Coursera 笔记

Module 01 · From Game Player to Game Developer从游戏玩家到游戏开发者

Game Engines Overview游戏引擎:概述与Unity介绍

Coursera ↗


在本讲中,我们将讨论游戏引擎,它们是什么?我们为什么使用它们?并且详细介绍本课程中将使用的Unity游戏引擎。

游戏引擎的核心功能

所有的游戏都需要实现以下几个基本功能:

  • 加载与显示视觉资源:游戏需要能够加载并显示图片、视频等视觉资产。
  • 加载与播放音效:游戏中必须能播放音效,支持不同的音频格式。
  • 接收玩家输入:无论是键盘和鼠标,还是手柄、相机、麦克风等输入设备,游戏都需要能够处理这些输入。
  • 游戏逻辑:即将游戏的规则和机制转化为代码执行。
  • 独特的游戏资产:包括视觉效果、音效等,使得游戏具有独特的风格。


从零开始构建与使用游戏引擎

从零开始构建

如果我们从头开始构建游戏功能,可能需要编写大量的代码来处理上述功能。比如:

  • 图像加载:例如,我们要显示一个JPEG图片,需要编写代码来加载图像,解压,并将其渲染到屏幕上。
  • 音频、玩家输入:类似地,我们还需要为音频、玩家输入等功能分别编写相关的代码。

这种方式曾是游戏开发的常态,尤其在游戏早期。今天,这种从零开始的方式已经不再是主流,除非在一些特殊的情况下。

使用游戏引擎

如今,游戏开发普遍选择使用游戏引擎。游戏引擎提供了核心的功能模块,比如:

  • 图形渲染:支持不同的图形格式,帮助将游戏画面呈现出来。
  • 音频播放:处理音效、背景音乐等音频功能。
  • 玩家输入:支持各种输入设备的操作。
  • 物理模拟:支持游戏中的物理效果,如重力、碰撞等。

通过使用游戏引擎,我们可以专注于游戏的独特元素,例如游戏的玩法和内容,而不必为实现基本功能而烦恼。


游戏引擎的工作原理

游戏引擎实际上是游戏与操作系统和硬件之间的桥梁,通常位于以下位置:

  • 游戏平台:硬件和操作系统。
  • 游戏引擎:作为游戏与操作系统之间的接口。
  • 游戏特定代码:即游戏本身的内容和功能。

游戏引擎的另一个重要特点是,它允许你将游戏内容轻松迁移到不同的平台。例如,从Windows转移到Mac,从iOS转移到Android,甚至可能是从PC转到游戏主机。


Unity游戏引擎概述

什么是Unity?

Unity 是当前游戏行业、教育领域及业余游戏开发者中最常用的游戏引擎之一,它不仅是一个游戏引擎,还是一个功能强大的游戏编辑器。

Unity的优势

  • 跨游戏类型支持:Unity并不局限于某种类型的游戏,你可以开发2D游戏、3D游戏,甚至是各种类型的游戏机制。
  • 功能丰富:Unity提供了强大的图形渲染、粒子系统、音效引擎等功能,避免了开发者需要从零开始编写这些复杂的功能。
  • 易于学习:对于初学者来说,Unity相对容易上手,但它也足够深奥,可以随着你技能的提升而扩展,适应更复杂的项目。
  • 强大的资源管道:Unity的资源管道使得图形、音效等资源的导入变得更加顺畅和高效。
  • 完善的文档与社区支持:Unity提供了丰富的官方文档和活跃的社区支持,遇到问题时,可以很容易找到帮助。

支持迭代开发

Unity支持迭代开发,这意味着开发者可以快速进行游戏的测试和调整。与其他引擎相比,Unity的编译时间较短,极大地提高了开发效率。

多平台支持

Unity支持将游戏发布到多种平台,如:

  • Mac、Windows、Linux
  • WebGL
  • iOS、Android
  • 现代游戏主机
  • 虚拟现实(VR)与增强现实(AR)设备

这些平台的支持,使得开发者能够轻松将游戏移植到不同的设备上,并减少重新开发的工作量。

经济实惠的引擎

Unity提供了一个免费的版本,适合学生、业余开发者和独立开发者使用。同时,它也有一个专业版,虽然需要付费,但相对于其他游戏引擎来说,Unity的费用仍然非常实惠。

职业前景

由于Unity的广泛应用,许多企业正在寻找具有Unity技能的人才。因此,学习Unity不仅能提升你的开发能力,还有助于就业。


Unity的工具与外部支持

虽然Unity本身非常强大,但在游戏开发过程中,依然需要借助其他工具来完成某些任务:

  • 代码编辑器:Unity提供了Microsoft Visual Studio来编辑代码,但你也可以使用任何自己喜欢的代码编辑器。
  • 图像编辑器:Unity本身不具备图像编辑功能,你可以使用Photoshop、Illustrator等工具制作2D图像,使用Maya、3ds Max或Blender等工具创建3D内容。
  • 音频编辑器:创建音效和音乐时,你需要使用专门的音频编辑软件。

这些工具与Unity一起使用,可以使得开发过程更加高效和灵活。


总结

Unity是一个功能强大的游戏引擎,它不仅支持多种平台,还能够通过简洁的开发流程帮助开发者快速创建游戏。无论是初学者还是经验丰富的开发者,Unity都能为你提供所需的工具和资源,帮助你在游戏开发的道路上取得成功。