在经历了复杂的API和基本上让我筋疲力尽的zip文件之后,我在打包资源方面仍然遇到问题,我以为我也可以将游戏用人眼可见的资源打包在一个简单的文件夹中。
那会不专业吗?就个人而言,我什至从未见过游戏能够做到这一点,这基本上意味着玩家可以编辑游戏中他想要的任何东西,例如进入map1.txt并在某处添加X来创建墙或更改玩家精灵。到MS PAINT中的小马。
sound.dat
。使用具有数百个文件的未压缩文件夹会使(卸载)安装变得很烦人。
在经历了复杂的API和基本上让我筋疲力尽的zip文件之后,我在打包资源方面仍然遇到问题,我以为我也可以将游戏用人眼可见的资源打包在一个简单的文件夹中。
那会不专业吗?就个人而言,我什至从未见过游戏能够做到这一点,这基本上意味着玩家可以编辑游戏中他想要的任何东西,例如进入map1.txt并在某处添加X来创建墙或更改玩家精灵。到MS PAINT中的小马。
sound.dat
。使用具有数百个文件的未压缩文件夹会使(卸载)安装变得很烦人。
Answers:
不,不是,改变游戏数据被称为“修改”,这是一种常见的做法,通常被视为积极的效果。保持游戏数据尽可能透明,并尽可能轻松地进行编辑实际上是一件好事。如果您要选择更多“高级”玩家作为目标受众,那就更是如此。
之所以找不到很多使用普通文件夹结构存储数据的AAA游戏,是因为它们使用了定制的优化存档格式来缩短加载时间。缺点是透明度降低和工具链中所需的其他工具。但是,对于较小的2D游戏,这两个方面通常比改进的加载时间更有价值。
只要确保人们看到的不仅仅是一团糟:)将文件放入适当的文件夹结构中即可。
除了其他答案,您还应该考虑两个重要问题:
破坏惊喜
假设我在游戏进行到一半时,发现“视频”文件夹。很好奇,我单击一个,碰巧看到了游戏的最终过场动画。
失去挑战
同样的情况,但是我发现保存的游戏格式具有“黄金”值。我将其从250更改为999999999,并且可以使用。突然,您精心制作的难度曲线(使游戏的乐趣最大化)消失了。
两者都可能导致某人对游戏失去兴趣,部分甚至不是全部。最终可能会降低游戏的整体印象(不公平,但事实如此)。
从目标受众的角度考虑这些问题-年轻球员尤其容易在不真正了解自己正在做的事情的情况下破坏自己的乐趣。
即使您希望鼓励改装,您仍可能希望保护用户避免“偶然”破坏他们自己的游戏体验。
也许不专业是错误的词。真正取决于游戏是否让文件暴露是一件坏事。
对于简单的单人游戏,玩家和改装者会爱上你。您将使他们能够轻松更改游戏并做他们想要的事情。请记住,无论游戏多么小,总是会有游戏的修改者。如果很难进行改装,许多游戏玩家会感到无所适从,毕竟,他们购买了您的游戏,他们应该能够在其中做任何想做的事情。
另一方面,容易编辑游戏资产对于多人游戏不利,因为它被认为是作弊行为。恶意玩家可以替换内容以使敌人更引人注目,透明的墙壁等。尽管您的游戏代码应确实强制要求资产没有被篡改,但“资产打包”方法的好处是有助于阻止这种活动(通过朦胧)。
它有一个简单的修复方法。您可以使用以下命令在命令提示符中简单地对扩展名进行批量重命名
rename *.txt *.map
然后将它们放在\ map文件夹中
您可以从运行cmd的Windows访问命令提示符
这不会阻止那些知道自己想修改游戏的修改者,并且只会给那些只想玩游戏而又没有所有内容徘徊的人留下草率的印象。
是的,它仍然是可编辑的。人们只会很少注意到它。
回答埃里克·罗伯逊的评论
如果您希望对玩家正确隐藏游戏内容,则可以在这些文本文件上使用RSA加密,并在使用时将它们合并为一个文本文件。尽管我认为这超出了解决的范围,但这应该不会造成太大的麻烦。
如果它不是专业的,那就可能不再了。早期,游戏使用其自己的包装格式,主要是为了保留其知识产权(IP)。
通过将所有资源打包到单个存档中,可以克服一些限制,例如碎片化和底层本机文件系统的不必要的函数调用。这使得在客户端PC上部署程序包时发生碎片事件的可能性较小。
在最坏的情况下,您最终可能会在硬盘扇区周围散布着很小的单个文件资源。(随着SSD的到来,这一点常常变得毫无意义)
但是所有这些好处也可以通过免费的(Unix)年代久远的.tar
存档格式获得。
此外,通过使用自己的包格式,您可以克服一些限制,例如缺少版本控制,文件哈希,文件内的编码和指针/链接等。
最后,除非您明确需要保护自己的IP,否则我主张在独立开发中保持透明。
至于以下方面提出的要点MGOwen
:为了防止出现意外情况,可以重命名文件扩展名,更改文件属性,使用不常见的媒体格式,删除媒体头并将其存储在其他位置,等等。为了防止丢失挑战,请使用二进制序列化编写器来存储您的游戏状态,并在必要时提供其他加密和诱骗变量。
免责声明:我不是游戏开发商。仅以这篇文章为起点...