使用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并希望利用它提供的版本控制功能,则可以
- 在您选择的文件夹中打开git bash;以及
- 运行命令
$ git clone https://github.com/blackberry/GamePlay.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
Gameplay3d 带有大量示例。它们涵盖了 Gameplay3d 中的大多数概念和类。我们强烈建议您熟悉所有示例(特别是“samples-browser”示例),并在您自己的项目中借鉴/改编这些示例中的代码。
- 右键单击您要运行的示例
- 设置为启动项目
- 调试 > 开始调试 (F5)
为了运行示例(此处使用“sample-browser”示例作为演示),请从 GamePlay 存储库的顶层目录运行以下命令:
cd build/samples/browser
./sample-browser
要创建一个新的跨平台游戏项目,请从存储库根目录运行脚本 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/
中。