TLDR:别担心做事的正确方式。玩家不会关注后端。

我有一个城市建造者游戏的想法,放在我要做的事情的列表里已经很久了,但我一直担心自己不知道如何将复杂的系统组合起来使它工作。具体来说,保存和加载让我感到极度恐惧。

直到目前为止,我最接近的保存和加载系统是检查一个保存的布尔值是否被切换为“是”或“否”的级别解锁系统。我不需要太多,因为我以前的游戏中,玩家最长的游戏会话时间约为8分钟,可以从头开始玩游戏而没有太多的摩擦。

城市建造者与我以前做过的任何东西都不同。玩家很可能会沉迷于他们的游戏过程中数小时,而不会理解如果他们的城市在他们离开电脑时被清除。为了使城市建造者可玩,我需要跟踪人口、资源、解锁、事件和最重要的是,什么样的建筑在地图上以及它们的位置。为了使城市建造者可玩,我需要保存整个场景状态,这在Unity中看起来基本上是不可能的。

我完全不知道如何做到这一点,但我知道如何保存字符串,也就是说,文本行。

所以,我在每个建筑上构建了一个编码器。每个建筑放置在场景中都会添加自己的两个字母和18个数字的代码到保存的字符串中。

我也构建了一个主解码器,当玩家重新加载屏幕时,它就会激活。它会将代码分解成各个部分,然后根据前两个字母代码实例化特定类型的建筑,根据前9个数字在地图上放置它们,并根据下9个数字设置其旋转。两个代码块之间,整个城市都会在玩家重新加载时被拆散并重新组装。

我想这可能是很傻、不稳定和过于复杂的方法来做它,但它确实有效,我希望我早就有足够的信心只做事而不做它们的“正确方式”之前。这样我就可以在多年前就完成这个游戏。

总之,感谢阅读我的乱七八糟的文章。如果你因为不准备好而推迟了一种想法,不要这样做。用错误的方式做它,今天就做它。