怎么编程做一个小游戏 如何设计游戏

关于游戏开发,你需要了解开发一款游戏从开始到结束的大致流程 。一般来说,它不是一个完整的,一步一步的指令的结果 。你还需要自己找出相当多的东西来进行游戏 。
第一步:选择游戏库
游戏库的功能:
一种加载和呈现图像的方法一种加载和播放音频的方法基本图像处理(旋转等)原始绘图功能(圆、线、矩形、点等)渲染文本的能力跟踪时间和等待的能力创建和控制线程的能力(但不是必需的)
第二步:定义概念——创造力
所有的游戏都从这里开始,只是一个人脑子里的想法 。
首先,想出一个游戏的创意 。一旦你有了一个简单的想法,扩展它 。
比如,如果是桌游,目标是什么/怎么赢?规则会是什么样的?等等,如果你的游戏中会有角色或故事,那就去创造吧 。确保你对游戏结束后你的游戏会是什么有一个相当清楚的想法 。越复杂的游戏,越应该在一开始就规划好,这样在编码的时候就不用担心游戏本身了 。记住,你的游戏会随着你的创造而进化 。
第三步:规划你的引擎 。
如果你正在制作一个棋盘游戏或者一个基本的街机游戏,你可以完全跳过这个游戏,只需要为你的游戏编程 。但是,对于更复杂的游戏,你可能要考虑使用一个预制的引擎,或者编写自己的“引擎” 。
游戏引擎到底是什么?虽然在结构和整体功能上有很大不同,但都是提供物理、资源处理、游戏实体管理等更高级功能的超级函数库 。
根据您实际想要做的编程量,选择是使用呈现引擎还是创建您自己的引擎 。使用预制的引擎会简化你作为程序员的工作,写游戏/事件脚本比什么都简单 。
为什么我要说计划而不是选择?很有可能你不会制作下一个旧卷轴,因此,你可以创造你自己的“引擎” 。记住,你不会创建下一个虚幻引擎,你写的、打算复用的大部分代码(就像引擎的关键点一样)最终都会和你的游戏逻辑交织在一起,所以不能轻易复用 。考虑到这一点,如果你的“引擎”部分依赖于游戏的具体代码,就不用担心会出现这种情况 。不要专注于构建一个完全可重用和超级健壮的框架,要确保代码是可读的、有组织的和功能性的 。先专注做游戏,再尝试打造便携模块 。如果您必须编写一些有用的和可重用的东西,那么资源管理器和各种其他实用程序类是一个很好的起点 。
第四步:编写引擎(如果你自己做的话)
现在是时候开始写引擎了,前提是这是你选的路线 。这不一定是指游戏本身,而是核心的渲染、物理和文件处理;本质上,它们是用来构建游戏的函数和类 。
简单的游戏不需要太多框架,直接用游戏库编程就可以了 。大型游戏中最重要也是最容易被忽视的组件之一是资源管理器 。资源管理器是一个类,负责加载资源(考虑图形和声音),确保资源只加载一次,当不再需要资源时卸载资源 。
引擎/框架的另一个重要方面是接口 。当你写游戏本身的逻辑时,写游戏主循环不用花4个小时,因为你搜索了上百个更新的函数,试图找出哪些是你实际需要的 。保持简单 。如果你能用一两个函数调用更新所有的游戏逻辑,然后用一两个函数渲染场景,那么你就走对了 。使用面向对象的原则,如继承和纯虚拟基类(虚接口),是创建结构良好的框架的好方法 。
第五步:媒体(音频和图形)
到现在为止,你至少已经考虑了你希望这个游戏是什么样子,并且有了一套可以使用的媒体 。大量免费的图形和音效只是谷歌搜索的地方 。Audacity和GIMP是编辑您获得或创建的任何东西不可或缺的工具 。
第六步:写一个游戏 。
一旦你选择了一个引擎或者使用了自己的框架,你实际上就可以自己编写游戏逻辑了 。理想情况下,在花费无数个小时之前,你已经完整地阅读了至少一篇文章,你将永远不会回到创建一个“引擎”的过程 。这个“引擎”已经超越了它的作用,几乎不能使用,但要独立运行还不够 。你的框架应该为构建对象交互提供一个基础(但不一定要定义它),并处理所有的渲染和其他底层细节,比如物理 。游戏逻辑本身会定义对象交互(比如通过定义GameObject的子类),游戏的规则(比如什么构成输赢),游戏的初始状态(先加载哪个地图,从哪个项目开始等等 。),并包含游戏主循环 。
游戏的主循环是什么?简单来说:这是一个循环,主循环 。想想看,玩游戏的时候,会不断重复什么 。这些都是这个神秘循环中包含的东西 。比如游戏的每一次迭代都要更新所有的对象,然后把它们都画在屏幕上 。除了更新和绘制,主循环可能还负责计时 。对于用户来说,更新太多游戏看起来非常快,可能太难了 。以光速思考乒乓球 。理想情况下,这个循环将使用您之前创建的框架,并且非常简单 。
第七步:从里面拿东西 。
创建一个独立于游戏逻辑的框架,主要是为了让你学会写可重用的代码 。
新手放弃项目的一个主要原因是,他们花费大量的时间和精力试图为他们的游戏“编写一个引擎”,但他们仍然不知道一个好的引擎甚至包括什么,或者一个结构/接口是否真的可以工作 。在浪费了所有的时间之后,他们没有什么可以展示的,然后就灰心丧气,不干了 。
通过先写游戏,再写可重用的代码,理想情况下,你会得到你能看到的东西 。这是对你努力的有形回报,也是你继续努力的理由 。
考虑将这些添加到游戏中:
可以尝试用游戏代码做便携模块 。
编写一个伟大的浏览器或优秀的类来处理键盘输入,并使它们完全可移植 。第八步:包装和分发
【怎么编程做一个小游戏 如何设计游戏】把所有需要的文件打包成一个压缩文件,压缩存档或者可执行安装程序,发给大家!

    推荐阅读