在开始编写游戏之前需要回答的三个问题

在决定编写新游戏时,有 3 个主要决定将推动您的整个开发过程

1) 弄清楚你想做什么。

首先,您必须想出一个好的游戏创意。这可能非常困难,也可能非常容易,这取决于您的创造力以及灵感是否来袭。一个典型的答案是:“我想写一个像 这样的游戏”。不幸的是,这不是一个好的答案。那个游戏已经存在,对那种类型的游戏感兴趣的人已经在玩它了。您可能不会比一家可以投入数百万美元进行开发的公司做得更好。即使您的唯一竞争对手是其他业余程序员,如果世界上已经有至少 3 个相同颜色的方块可以点击并使其消失的游戏,那么世界真的还需要另一个这样的游戏吗?(除非您正在制作一个 俄罗斯方块攻击 克隆游戏,那么答案是肯定的)。为了吸引注意力,您的游戏需要提供一些不同的东西——一些新颖的东西。您将带来什么前所未见/未做过的新东西?人们抵制改变,所以除非您能提供一些让他们愿意花时间弄清楚您的游戏的东西,否则您的游戏将可悲地(但并非出乎意料地)被忽视。

其次,您必须决定项目的范围。想大做强、志存高远是极其常见的。然而,在编程中,这通常恰恰是错误的想法,因为很可能在开发六个月后,您会因为进展缓慢而感到厌倦和沮丧,并决定放弃。目标应该是非常简单和模块化的东西,然后分层增加复杂性。您的目标应该是在几周内实现一个最低限度可玩的东西,即使它没有您想要的大部分功能,即使它完全不平衡。

2) 选择您的语言和平台。

C++ 真的适合您的项目吗?如果您有兴趣开发一款可以通过网络访问的轻量级游戏,那么 Flash 或 Java 可能更合适的选择。C++ 适用于将下载到用户机器上的游戏、需要快速运行的游戏以及需要执行复杂操作(如渲染 3D 场景)的游戏。

假设 C++ 确实是适合您的语言,那么您的目标平台是什么?您的游戏会是仅限 Windows 吗?仅限 Linux 吗?仅限 Mac 吗?如果您只为一个平台开发,您的开发工作会更容易,因为您可以使用特定于平台的工具和库,并且不必担心跨平台问题。然而,您也限制了您的受众。许多 Windows 程序员不屑 Linux 和 Mac 用户,因为他们数量不多——然而,这些平台上的用户可选择的软件也较少,这意味着您的游戏移植到这些平台可能会在那里获得更多关注。如果您正在编写一个 Roguelike 游戏,您会支持没有 GUI 的老式纯控制台工作站吗?幸运的是,现在许多流行的库都是跨平台的,如果您编写其余代码使其也跨平台,这将使您的开发工作更容易。

3) 您将使用哪些库?

核心 C++ 语言被故意设计得简洁且最小化——因此,它不包含创建大多数游戏所需的工具。为了处理图形、字体、鼠标操作、声音、音乐以及现代游戏需要的其他东西,您将不得不使用为此目的开发的附加库。

如果您的游戏是一款图形密集的 3D 游戏,最流行的选择是 OpenGL(非常适合跨平台使用)或 DirectX(Windows 专用)。或者可能是在其中一个之上的一层,例如 Ogre 3D

如果你想制作一个 2D 游戏,SDLAllegro 都能满足要求。SDL 还可以与 OpenGL 结合使用,这样你就可以混合 2D 和 3D。(Allegro 也可以,但我对 Allegro 不太熟悉)。

如果您有兴趣编写一个控制台 Roguelike 游戏,NcursesPDCurses 将允许您制作 ASCII 图形游戏。许多现代 Roguelike 游戏使用 SDL 或 Allegro 模拟控制台——这为您提供了控制台机器上没有的优势,例如能够访问更多颜色、使用不同的字体以及交换图形图块。

值得注意的是,可能可以使用多个库。例如,如果您的代码模块化程度足够高,您可以让它在旧的 Unix 控制台上使用 Ncurses,在 DOS 控制台上使用 PDCurses,并在 Windows 和 X-Windows 上通过 SDL 使用模拟控制台。通过这种方式,您可以覆盖具有不同功能的大量机器。

现在怎么办?

一旦你有了你的想法、你的平台目标和你的目标库,最简单的部分就完成了。;) 从这里开始,你所要做的就是设计你的游戏,并学习如何使用你手中的工具来实现它!

做两件事是值得的

  1. 在尝试实施之前,尽可能多地在纸上设计你的游戏。想法是你想在编码时尽可能地减少修改——因此在开始编码之前你固化的越多越好。在开发过程中越深入才进行修改,修改会产生的影响越大,实施所需的时间也越长。尽早做出主要决定,除非必要,否则尽量不要更改它们。
  2. 第一次实现一项新技术时,通常最好在一个单独的程序中(称为原型)测试您的想法。这个原型的目的是快速让一些东西运行起来,即使编码很糟糕,并且允许您在不必担心搞砸游戏的情况下进行尝试。一旦您熟悉该功能的工作原理,您就可以在游戏中正确/模块化地实现它。因为在开发原型时您会犯很多学习曲线错误,所以您将更好地了解如何在游戏中成功实现它而不会破坏任何其他东西。
guest
您的电子邮箱地址将不会被显示
发现错误?请在上方留言!
与勘误相关的评论在处理后将被删除,以帮助减少混乱。感谢您帮助使网站对每个人都更好!
来自 https://gravatar.com/ 的头像与您提供的电子邮箱地址相关联。
有回复时通知我:  
13 评论
最新
最早 最多投票
内联反馈
查看所有评论