跳转到内容

使用gameplay3d进行跨平台游戏编程/入门

来自Wikibooks,开放世界中的开放书籍

什么是gameplay3d?

[编辑 | 编辑源代码]

gameplay3d项目是一个开源的、跨平台的3D框架,旨在支持想要开发桌面和移动游戏的独立游戏开发者。主要开发语言是C++,但也支持Lua脚本。

gameplay3d背后的主要动机是允许开发者在尽可能多的平台上发布他们的游戏。它仅在必要时才特定于平台,这最大限度地提高了跨不同平台代码重用的可能性。

gameplay3d还旨在允许快速迭代和原型设计,这使开发人员能够快速轻松地实现和测试想法。

先决条件

[编辑 | 编辑源代码]

您的硬件需要支持

  • OpenGL 3.2(桌面);或
  • OpenGL ES 2.0(移动)

要使用gameplay3d,需要牢固掌握C++,并了解3D图形原理。

一些关于OpenGL API和GLSL着色器语言的知识非常有用,尽管开始使用gameplay3d并非严格必要。

同样,如果希望使用gameplay3d的Lua脚本支持,熟悉Lua也很有帮助(尽管Lua脚本的使用完全是可选的)。

有关学习C++、3D图形、OpenGL和Lua的一些有用链接可以在其他有用资源链接中找到。

使用本书

[编辑 | 编辑源代码]

如果您完全不熟悉gameplay3d,我们建议您先阅读本书的前4章(即本章、游戏类概述gameplay3d设计概念创建场景),以了解gameplay3d的工作原理。之后,请随意跳过所需内容!

无论您使用哪个平台,您都首先需要获取gameplay3d存储库的副本,该存储库托管在https://github.com/blackberry/GamePlay

克隆gameplay3d存储库最简单的方法是

  • 点击gameplay3d GitHub页面上的“下载ZIP”图标;以及
  • 将文件解压缩到您选择的文件夹中。

或者,如果您已安装git并希望利用它提供的版本控制功能,则可以

第二步是安装gameplay3d依赖的外部依赖项。这是通过运行install.bat脚本完成的。

gameplay3d使用的依赖项如下

  • bullet - 用于物理
  • freetype2 - 用于字体转换
  • glew - 用于加载OpenGL扩展
  • lua - 用于脚本
  • oggvorbis - 用于压缩音频
  • openal - 用于位置音频
  • png - 用于图像解压缩
  • tinyxml2 - 用于XML解析
  • zlib - 用于数据解压缩

第三步是确保您已安装Visual Studio Express 2013 for Windows Desktop,该软件免费安装和使用。

克隆存储库、安装依赖项和安装VS2013后,您就可以打开gameplay解决方案(即gameplay.sln)。在您第一次运行任何示例之前,您需要构建gameplay3d库,这在VS2013中可以通过以下方式完成

  • 构建 > 构建解决方案 (F7)

请参阅互联网上有关如何在mac上安装gameplay3d的信息。让我们谷歌一下。它将很快在此处添加。

本节演示如何在Ubuntu Linux上安装gameplay3d。

首先,确保您已安装GIT。这可以通过Ubuntu软件中心或从终端键入以下内容来完成


sudo apt-get install git


其次,您需要安装许多其他软件包。要安装这些,请从终端键入以下内容


sudo apt-get install build-essential gcc cmake libglu1-mesa-dev libogg-dev libopenal-dev gtk-2.0-dev curl libpcrecpp0:i386


这将安装以下软件包(在它们尚未安装的情况下)

  • build-essential - 包含从源代码编译/构建软件所需的各种工具
  • gcc - GNU编译器集合
  • cmake - CMake,用于管理构建过程
  • libglu1-mesa-dev - OpenGL实用程序库开发文件;包括用于使用GLU编译程序的头文件和静态库
  • libogg-dev - Ogg比特流库开发文件(用于压缩音频)
  • libopenal-dev - OpenAL(音频)API软件实现的开发文件
  • gtk-2.0-dev - GTK+库的开发文件
  • curl - cURL,一个使用URL语法传输数据的命令行工具
  • libpcrecpp0:i386 - 支持正则表达式的函数的C++库

第三,如果您尚未这样做,请使用git将gameplay3d存储库克隆到您想要的位置。

第四,从gameplay3d存储库的顶层目录运行以下命令行,该命令将安装上面#Windows中列出的外部依赖项


./install.sh


此脚本需要curl。

第五,通过从gameplay3d存储库的顶层目录运行以下命令来构建gameplay3d库


mkdir build
cd build
cmake ..
make


Blackberry

[编辑 | 编辑源代码]

尝试示例

[编辑 | 编辑源代码]

Gameplay3d 带有大量示例。它们涵盖了 Gameplay3d 中的大多数概念和类。我们强烈建议您熟悉所有示例(特别是“samples-browser”示例),并在您自己的项目中借鉴/改编这些示例中的代码。

  • 右键单击您要运行的示例
  • 设置为启动项目
  • 调试 > 开始调试 (F5)

为了运行示例(此处使用“sample-browser”示例作为演示),请从 GamePlay 存储库的顶层目录运行以下命令:


cd build/samples/browser
./sample-browser


Blackberry

[编辑 | 编辑源代码]

创建您的第一个 Gameplay3d 项目

[编辑 | 编辑源代码]

所有平台

[编辑 | 编辑源代码]

要创建一个新的跨平台游戏项目,请从存储库根目录运行脚本 newproject

  • newproject.bat(在 Windows 上)
  • newproject.sh(在 Mac 或 Linux 上)。

以下是运行 newproject.bat 脚本的示例

  1. Enter a name for the new project.
  
   This name will be given to the project 
   executable and a folder with this name
   will be created to store all project files.
  
  Project name: test
  
  2. Enter a game title.
  
   On some platforms, this title is used to
   identify the game during installation and
   on shortcuts/icons.
  
  Title: Test
  
  3. Enter a short game description.
   
  Description: Test Game
  
  4. Enter a unique identifier for your project.
  
   This should be a human readable package name,
   containing at least two words separated by a
   period (eg. com.surname.gamename).
  
  Unique ID: org.gameplay3d.test
  
  5. Enter author name.
  
   On BlackBerry targets, this is used for
   signing and must match the developer name
   of your development certificate.
  
  Author: My Company
  
  6. Enter your game's main class name.
  
   Your initial game header and source file
   will be given this name and a class with
   this name will be created in these files.
  
  Class name: TestGame
  
  7. Enter the project path.
  
   This can be a relative path, absolute path,
   or empty for the current folder. Note that
   a project folder named test will also
   be created inside this folder.
  
  Path: samples
  
    1 file copied.
    ...

添加并运行新项目

[编辑 | 编辑源代码]
  • 将 Visual Studio 项目添加到现有的 gameplay.sln 解决方案中;
  • 将“gameplay”项目设置为依赖项(右键单击新项目,单击“项目依赖项…”,然后选择“gameplay”项目)
  • 构建并运行。
  • 打开终端并导航到新项目文件夹中的“build”文件夹。
  • 运行以下命令
cmake ..
make
  • 运行新创建的可执行文件,该文件位于[projectname]/build/bin/linux/中。

BlackBerry

[编辑 | 编辑源代码]
华夏公益教科书