2

我不只是指发布,而是从纯编码完成到发布第一个版本之间的几乎所有内容。例如,游戏如何使其保存文件隐藏/不可破解,它们如何在游戏中包含其资源而不是拥有包含所有精灵的资源文件等,它们是如何做到的有特殊的文件扩展名,如 .rect 和 .screen_mode 等等。

那么有没有人知道任何好的书籍、文章、网站等来解释从完成游戏的纯代码到发布它的过程?

4

7 回答 7

2

我不认为开发人员会付出太多努力来确保保存是隐藏的或不可破解的。PC游戏通常只是保存到一个文件夹中,每次保存一个文件,任何混淆都可能是使用二进制文件格式(需要一定程度的逆向工程)或没有意义的纯文本值的结果上下文,但不是故意试图规避黑客攻击。可能有大量的 PC 游戏附带了非常容易破解的文本或 XML 保存文件,但我从来都不是一个保存黑客,所以我没有任何具体的例子。在控制台上,保存文件将进入存储卡或控制台的硬盘驱动器,这使得它们本质上不方便访问,但除此之外,我认为控制台开发人员不会花费太多精力来加密或以其他方式混淆保存数据。

特殊文件扩展名来自仅使用您自己的扩展名和/或定义您自己的文件格式。您可以对任何文件使用任何扩展名,因此有大量“特殊”文件格式只是具有不同扩展名的文本文件,我自己已经做过很多次了。在其他情况下,如果他们定义了自己的二进制文件格式,这意味着他们也有自己的文件解析器来在运行时处理这些文件。

我不知道您想到的是什么平台,但对于 PC 和主机游戏,资源并未嵌入到可执行文件中。您通常会看到一个单独的可执行文件,然后是各种存档和配置文件。根据游戏的不同,它可能是单个资源包,也可能是一些相关资源包,如图形、声音、关卡数据等。作为一般观察,控制台游戏会更积极地存档(以最大限度地减少慢速光学上的文件操作媒体,也许是为了克服原生文件系统在更原始平台上的限制)。一些 PC 游戏的资产非常松散,甚至还有脚本文件公开。

于 2009-06-20T19:55:00.157 回答
1

如果您为 Windows 或 Xbox 360 开发,Microsoft 可能会在此处提供一些帮助。查看他们的Visual Studio C++ Express Edition游戏开发工具

于 2009-06-20T19:28:22.130 回答
1

如果您正在寻找书籍,Game Development Essentials系列应该可以回答您的问题。

于 2009-06-20T19:37:27.540 回答
0

为了规避保存文件的修改,您可以实现一个简单的加密算法,并使用它来加密保存的文件,然后在加载时解密。文件扩展名只是一个选择问题。

于 2009-06-20T19:23:34.697 回答
0

要在游戏中使用特殊文件扩展名,只需执行以下操作:

  1. 以您选择的具有该扩展名的格式创建一些文件,然后
  2. 编写一些知道如何读取该格式的代码,并将其指向这些文件。

文件扩展名是约定,仅此而已;他们没有什么神奇之处。

ETA:至于嵌入资源,有几种不同的方法可以解决这个问题。一种常见的技术是将所有资源捆绑在少量文件中 - 可能只有一个(激战采用这种方法)。

在另一个极端,您可以将资源分散在目录树中的许多文件中,可能采用需要特殊工具修改的自定义格式,也可能不需要。文明 4 就是这样做的,我熟悉的所有涡轮游戏也是如此。这是一个品味问题,无论哪种方式都不是很重要。

于 2009-06-20T19:30:15.323 回答
0

我认为更好的解决方案是将图像分成已知大小的图块,然后以随机顺序将它们背靠背连接到一个新文件中。这种随机顺序只有您自己知道,因此只有您知道如何打乱拼贴以获取原始图像。

该方法将是维护一维数组并维护其中瓷砖的位置。知道使用 MIDP 的裁剪功能来提取每个图块并将每个图块渲染回控制台。

如果您需要,我可以为您发布代码。

于 2009-06-20T19:39:36.303 回答
0

我建议查看 World of Goo(很棒的游戏)开发人员的演示文稿:http: //2dboy.com/public/eyawtkagibwata.pdf

于 2009-06-20T20:21:13.007 回答