在过去的三个月里,我一直在做一款名为“Lunar Lander 3D”的小游戏。 开始这个项目的主要原因是了解创建游戏需要什么。 另外,我也希望以此来转移我学业上的压力。 虽然游戏小而简单,但我在开发过程中获得了很多有用的知识。 在本文中,Game Armory 将列出您在开发游戏时学到的一些重要知识。
在进入正题之前手机游戏 个人开发,我想说明一下,我不是专业人士。 我只是一个计算机极客,本文适用于想要尝试为自己创建游戏的业余程序员和爱好者。 所以本文的重点是如何完成一个游戏,而不是用华丽的技术制作一个半成品游戏。
你的游戏概念并不少见
如果你想完成一场比赛,你必须认识到这一点。 无论你多么重视自己和你的想法,你都有勇气放弃其中的大部分。 当我开始制作自己的游戏时,我充满了想要使用的想法。 我想在游戏世界中添加移动平台障碍、复杂的相机系统和许多其他元素。 但我知道,如果我想完成游戏,我将不得不改变我的大部分想法。 请记住,当您独自工作时,您无法处理需要专业团队一年多才能完成的项目。 虽然一年多对于职业战队来说不算长游戏图片,但对于业余选手来说却是个大问题。 根据自己的想法合理安排开发时间,比如控制在6个月以内。
游戏不是从头开始
如果您对编码知之甚少,那么您一开始就无法编写游戏。 这听起来很难下咽,但如果你真的没有一套你始终如一地使用的代码,你可能无法长期一致地编程。 如果你没有那么长的编程经验,那么你就不能幻想开发一款游戏。 当我开始制作自己的游戏时,我已经有了一个庞大的代码库。 我为一般窗口创建、输入管理、粒子效果、数学和各种其他用途编写代码。 有了代码,我就能够快速开始处理与游戏相关的内容。 另外,我不需要测试代码,因为我写的时候已经测试过了。 在开始创建自己的游戏之前,您不需要一段一段地编写代码。 只需花时间先做一些基础工作。 如果你觉得你仍然需要创建一个代码库,先写一个小的来测试它。 这就是我在处理粒子效果、输入管理和控制执行代码时所做的事情。 它可能不像制作游戏那样令人兴奋,但从长远来看它会对你有所帮助。
游戏需要借鉴
我想再次强调这个环节的重要性。 当您开始编写游戏时,不要害怕使用其他人的想法、库或工具。 尽可能多地使用它,因为它会让你的工作更轻松。 我在制作自己的游戏时借用了 Conor Stoke 的轴对齐边界框树、Paul Nettle 的碰撞检测文件和 id Software 的 Q3Radiant 关卡编辑器。 我为什么要使用别人的想法和工具来解决我自己可以解决的问题? 原因是它更容易——我使用这些不同的资源是因为它可以节省时间。 使用开箱即用的碰撞检测方法使我免于浪费时间测试自己的碰撞系统。 我根据自己的需要调整了 id Software 的地图编辑器,没有必要自己制作。 除此之外,id map 编辑器非常适合我,这让我省了很多力气。 不要坚持你的游戏必须有定制的工具和解决方案。 如果您精明,就会知道何时采用新想法以及何时使用已有的东西。
避免使用 3D 地形引擎
如果您正在制作引擎来创建游戏,您很可能会半途而废。 无论你多么努力,你都会发现自己一无所获。 根据我制作游戏的经验,编写自己的游戏时不需要引擎。 请记住,您是作为一个人而不是一家公司来编写游戏的。 您不需要一次又一次重复使用的引擎。 编写引擎的原因之一是代码重用3D素材,但您也可以在没有引擎的情况下做到这一点。 只要设计得当手机游戏 个人开发,您就可以在游戏中重复使用其他项目中的元素。 例如,我为游戏编写的新代码都不是我可以在其他项目中重复使用的特定于游戏的代码。 编写引擎以了解引擎本身及其背后的设计过程当然是可能的,但如果您正在制作游戏,请避免这样做。
不要在游戏美术上过度
当你制作自己的游戏时,不要添加不会让游戏变得更好的图形功能。 不要使用 GeForce20 的出色扩展,以及其他每像素、凹凸贴图、纹理动画、每像素深度阴影等元素,因为您根本不需要它们。 如果你把你的游戏定义为依赖图形来支撑场景的游戏,那么你很可能不懂游戏。 您正在制作的只是一个技术演示样本。 我在自己的游戏中使用的最复杂的图形功能是多纹理,但游戏正常运行并不是必需的。 我知道我不是 id Software 的会员,我不需要非常高端的硬件来支持我的简单游戏。 如果保持简单,不仅可以扩大游戏的受众群体,还可以专注于更重要的方面,例如游戏玩法。