ITD3开发日志#1 正式公告 2023.2.19
现阶段的琐事
正如开发者(以下称我们或我)之前在Infinitode2的游戏内新闻中提到的,我们目前正忙于支持Infinitode2并准备在中国发布。同时Infinitode3锐意制作中,这篇博客是为了说明这一过程的一些情况。
距离Infinitode2的上一次更新已经过去很久了,但这事很快就会改变。如此漫长的等待原因很简单--如果我开始准备更新(1.9版本),国服(中文版)上线时间将再次被推迟,而我们已经在这方面消耗了几年时间。一旦它发布,我将开始准备Infinitode2下一次更新。(只能说国服快了哈哈)
但,言止于此,大伙都是来听我说ITD3开发的。
Infinitode3(这还不是最终的名称)
这是将尽我所能,利用所有积累的经验和玩家的反馈来创造更好的一个塔防游戏。
目前这个游戏仍处于早期开发阶段-你懂的,主要是技术性相关的东西,读起来不会那么有趣,但我仍然会写下它,让你感受到进展和即将推出的游戏的滋味。
但在我们开始之前,让我总结一下之前所讲的一切,并回答你们的一些问题。
为何选择了开发新游戏而不是周期性更新
我曾在游戏内部的新闻栏中写过关于这方面的东西,所以你可以跳过这一部分。(大伙可以去
https://tieba.baidu.com/p/7291603846?pn=2 74楼看以前开发者的解释)
这个决定是在准备Infinitode2 1.9.0更新时做出的,这个更新必须涵盖“社区地图”的功能的一些技术方面。在开发时,我发现Infinitode2的架构必须进行大量修改,这很有可能会引入许多新的bug和数据丢失-这过于冒险。对于这些问题的思考引出续作的原因如下:
- Infinitode2是一个完整且稳定的游戏,它已具备计划内的所有功能
- 新的大更新不会给原本就已经非常复杂的游戏带来太多(新鲜感或游戏性),反倒还很有可能破坏它/使其变得更加复杂
- 游戏架构以及底层代码并不是为了添加我们想的各种酷炫的新功能而设计的
- 我已经开发Infinitode2 5年多了,我们需要新的硬件和更加新潮的技术
硬件要求
我必须承认--我仍然在开发Infinitode的主要原因之一(如果不是最重要的原因的话)是因为我热爱开发的过程,几乎和玩成品游戏一样多,对我来说,让这个过程更加方便和愉快地继续下去是至关重要的。
Infinitode2的要求相当低--你可能可以在任何类型的PC或过去10年发布的任何Android设备上运行它。整个游戏仅用15MB的磁盘空间,可以在48MB的内存上运行,所以你可以想象开发的双手被这种级别的需求所限制,因为我不能简单地放弃对任何旧设备的支持,也不能让游戏的大小突然增长50MB。这实际上不是最好的措施,虽然我不会完全不考虑一个小规模和低硬件需求的想法,但整体标准需要提高一些。
请注意:这些不是最终的硬件要求,以下是这些设备的共同点:
- 至少有256MB内存
- PC端需要至少500MB的存储空间/移动端至少100MB
- 在PC上最好有独立的(或至少不是最差的集成)GPU/在移动上支持OpenGL ES 3.0(这里备注一下,PC端的独立/离散GPU是独显,别整太弱的集显或核显)
- 64位CPU,双核/1.6Ghz
- 多人游戏/比赛/云同步的互联网连接(玩单人模式不需要)
支持平台如下
- 安卓8及以上*
- 支持Java 17的Windows / Linux操作系统
- Steamdeck
*注意:我可以在一些便宜的设备运行安卓8.0,但这并不意味着该操作系统的所有功能都能正确实现。例如,根据官方信息,所有运行安卓5.0或更高版本的设备都应该支持OpenGL ES 3.1,但事实上,许多运行安卓10+的未经认证的低端设备都未能做到这一点。我将其解读为:安卓8.0并不保证Infinitode 3能在你的设备上运行。(我的理解是,国内非刷机的手机,只要在8以上的版本都能运行,但安卓模拟器得另说)
也许你已经发现,ITD3并不支持iOS或MacOS,解释如下:
正如我之前在游戏新闻中提到的,iOS从开发之初就不受支持,虽然在iOS上运行Infinitide3没有太多工作要做,但我不会专注于此。
如果你使用的是iOS设备,Infinitide2仍将为你带来欢乐,但恐怕你不用期待使用它玩下一代游戏。原因有很多:
- iOS上没有Java,因为苹果已经决定这样做——iOS不允许运行任何类型的虚拟机。Infinitide2的运行得益于RoboVM项目(该项目已经停止维护了一次),该项目基本上预编译了Java应用程序——这是一种完全不同的方法,并且缺乏Java的灵活性。RoboVM是一个折中的选择但我不想再被它束缚导致开发束手束脚
- LibGDX的一些重要功能没法在iOS上实现,由于未知的技术问题,我也未能实现它们。这意味着,如果我想将Infinitide3称为真正的跨平台游戏,我将无法在其他平台上使用它们
- iOS二进制文件是预编译的,这意味着无法在运行时包含Java库/动态字节码。Infiniotde3的一个主要特点是它的灵活性和对MOD的支持,这在iOS中将不复存在,同样也将不允许游戏支持多平台
- iOS(通过RoboVM)不支持OpenGL ES 3.0+,它只允许使用一套非常基本的OpenGL ES 2.0。此外,苹果公司已经停止了对OpenGL的支持,现在强制所有人使用Metal,这意味着图形也以一种令人难受的方式工作着
- 我不喜欢苹果,也不想以任何方式支持它。他们可能会出售一些不错的硬件设备,但我觉得我花了大价钱只是为了能够为他们制作一款游戏,以便他们能从游戏的收入中再抽出一部分。苹果公司所作一切都是为了钱(意思是没钱最好别和苹果打交道),我曾经过于天真,以至于用爱开发iOS项目,只是为了让更多人玩它。事实是,如果你想为苹果设备开发,你必须花钱支付他们的费用并购买他们的设备,这也意味着你必须通过你的应用以某种方式收回这笔钱,但这些想都别想(苹果平台的抽成非常大,B站的直播从不推荐在苹果上直接打赏即可窥出一二)
- 苹果强迫开发者使用它的技术,而这些技术是其他人都用不到的。Swift、Objective-C、Metal-我不知道也不想知道这些,对我来说,学习不被用作标准的东西似乎毫无意义
- iOS的开发者文档,好吧,过于简略。XCode过于臃肿了。我不喜欢苹果的键盘,讨厌他们的鼠标。还有很多很多的原因,一想到要摆脱iOS就会让我心情愉悦
如果你读到这里,谢谢你-我需要有人来倾听我的抱怨。总之,我想说的是--没有iOS版的Infinitode 3,因为iOS会导致游戏缺乏很多功能,我也不喜欢为它开发。
即将到来的新闻
在最近的文章中,我将阐述Infinitode3的一些相关的技术,并解释它们如何工作/为什么我选择使用它们。我不会讲述Infinitode 3的游戏设计,也不会介绍任何与游戏有关的功能,可能不会有很多爆炸性内容/游戏早期片段。它将只是一个冗长无聊的故事,讲述某人如何开发了又一个游戏引擎,因为这是我目前正在忙的事情。
如果你对这个博客有任何建议或要求,请在评论中写下来-我真的需要知道是否有人会对这样的内容感兴趣,或许它只是在浪费我的键盘的hp。(键盘耐久伏笔)