最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何用C++制作游戏开发概述

旗下网站admin69浏览0评论

如何用C++制作游戏开发概述

如何用C++制作游戏开发概述

1:选择您的游戏库 

前言:除非您想为所有精细的图形/声音编程编写自己的库,否则您可能想要获得一个游戏库。 有很多游戏库,但是它们都提供 的相同基本功能。

库具有 :

加载和渲染图像的方法

一种加载和播放音频的方法

基本图像处理(旋转等)

原始绘图功能(圆,线,矩形,点等)

呈现文字的能力

 

跟踪时间并等待的能力

创建和控制线程的能力(很好,但不是必需的)

一些游戏库包括:

简单快速多媒体库(SFML)

简单DirectMedia层(SDL)

快板

OpenGL

DirectX(仅Windows)

Irrlicht(3D库)

2:定义概念 

首先,想出一个游戏的想法。 一旦有了一个简单的想法,请对其进行扩展。 例如,如果是棋盘游戏,那么目标是什么/您如何获胜? 规则是什么样的? 等等。

如果您的游戏中会有人物或故事,请创建它们。 确保您对游戏结束后的状态有一个明确定义的概念。 游戏越复杂,一开始就应该计划得越好,这样您在编写代码时就不必担心游戏本身。 请记住,您的游戏在创建时会不断发展。

3:规划引擎 

如果要制作棋盘游戏或等效的基本街机游戏,则可以完全跳过此过程,而只需编写游戏程序即可。 但是,对于更复杂的游戏,您可能需要研究使用预制引擎或编写自己的“引擎”。

 您问什么是游戏引擎? 尽管它们在结构和整体功能上千差万别,但您可以将游戏引擎视为提供强大功能(例如物理,资源处理和游戏实体管理)的超级功能库。

 可以说,是选择使用存在引擎还是创建自己的引擎,取决于您的实际情况,并且取决于您实际要执行多少编程。 使用预制引擎将大大简化您作为程序员编写游戏/事件脚本的工作。。

 首先专注于制作游戏,然后尝试创建可移植的模块。 如果您绝对必须编写有用且可重用的内容,那么资源管理器和其他各种实用程序类都是不错的起点。

 

4:编写您的引擎 (如果您要自己制作)

现在,是时候开始实际编写您的引擎了,前提是这是您选择的路线。 这并不一定意味着游戏本身,而是核心渲染,物理和文件处理。

 本质上是用于构建游戏的函数和类。 简单的游戏实际上并不需要太多的框架,而可以直接使用您的游戏库进行编程。 大型游戏中最重要,也是最被忽略的组件之一就是资源管理器。

如果你在学习C/C++的过程中遇到了问题,关注小编来加入小编的企鹅圈问小编哦~小编很热情的(●’◡’●)

 资源管理器(大概)是一个类,负责加载资源(考虑图形和声音),确保仅加载一次资源,并在不再需要时卸载资源。 

引擎/框架的另一个重要方面是界面。 当您编写游戏本身的逻辑时,在搜索数百个更新功能以试图找出真正需要的功能时,您无需花费4个小时就可以编写游戏的主循环。

 保持简洁明了。 如果您能够通过一个或两个函数调用来更新所有游戏逻辑,并通过一个或两个以上的函数来渲染场景,那么您将走上正确的道路。 

以面向对象的原则,例如继承和纯虚基类(认为优点接口 )是制造以良好的结构的框架的好方法。

例如,可以这样定义所有游戏对象的基类:

class GameObject

{public:virtual~GameObject()=0;virtual Vector2f getPosition();virtual bool interact(Object* o);virtual void draw();};

步骤5:媒体(音频和图形)

到目前为止,您希望至少已经考虑过您想要游戏真正的外观,也许您已经有了一套可以使用的媒体。Audacity和GIMP是用于编辑您获得或创建的任何内容的必不可少的工具。

步骤6:编写游戏

一旦选择了引擎或使用了自己的框架,就可以真正编写游戏逻辑。 您的框架应提供一个基础结构,该结构可构造对象交互(但不一定定义对象交互)并处理所有渲染和其他低级细节,例如物理。 

 

游戏逻辑本身将定义对象交互(例如,通过定义GameObject的子类),游戏规则(例如,构成赢或输的内容),游戏的初始状态(首先加载哪个地图,您以什么开始,等),并将包含主游戏循环 。游戏的主要循环到底是什么?

 简而言之:这是一个循环,主循环。 想想在玩游戏时不断重复的内容,这些就是这个神秘循环中包含的内容。 例如,游戏的每次迭代都应更新所有对象,然后将它们全部绘制到屏幕上。 除了更新和绘制外,主循环还可能负责计时。

步骤7:打包和分发 

完成所有这些工作后, 将所有必需的文件打包为zip文件,压缩档案或可执行安装程序。

发布评论

评论列表(0)

  1. 暂无评论