飞船建设部分的设计草案

像异星工厂、缺氧、边缘世界都有大量的 mod 。可以通过大改游戏机制,把本体游戏改造成完全体验不同的游戏。这些好玩的 mod 几乎都是一个人完成的。所以我觉得,固然游戏的外层玩法决定了整体体验,但其实开发的总工作量并不大。而且,一旦玩法不满意,也容易修改。

我的游戏开发计划是先完成一些底层基础系统,再考虑完整游戏的全貌。没有上层玩法支撑,光有底层系统玩起来一定寡淡无味,但我认为它们是设计和开发中最重要的一环。

在进一步实现 demo 之前,我设计了一下飞船的建造系统。

游戏世界中的物质分为三种:建筑,零件,原料。

摆放在场景中(飞船)的是建筑,墙体、门、机器、家具这些属于建筑,一旦修建出来就不可任意移动位置。建筑是由零件构成,拆毁建筑会 100% 返还零件。建筑修建是可逆的。

零件是由原料在机器中合成出来,这部分和异星工厂相同。并不一定存在逆向的合成配方。例如,铁板可以合成铁丝,但铁丝并不一定存在变回铁板的方法。所以和建筑不同,加工零件可能是一个不可逆的过程。

飞船(场景)是由四边形网格构成。每个格子永远只能容纳一种物质,要么是建筑的一部分,要么是一种零件。而原料无法直接存在于场景格中,它们必须存在于容器里。建筑和工人都可以是容器。

工人可以在场景格的过道中移动,工人之间不设阻挡。没有建筑的格天然称为过道,部分建筑会占据场景格,成为障碍物。有些建筑将所占据的部分场景格保留为过道。例如门。

每种零件在同一场景格内有一堆叠上限,超过上限就无法容纳在同一格内。有些建筑拥有容器格,容器格和场景格相同,但不存在于场景中(只附属于建筑或工人)。容器还可以存放原料。

每次建设建筑的时候:

把所占场景格清空。 把所需零件堆在所占用的场景格上。 工人在建组所占格的建设邻接位(每个格子有 8 个建设邻接位)工作。 工人必须通过过道接近建筑蓝图,工人在过道中只能以四个邻接向移动。

注:由多种零件构成的建筑,所占格的数量必须大于等于零件种类。换句话说,如果一格建筑是 1x1 格大小,它就只可能由一种零件构成。

当拆建筑时,也需要工人站在建筑所占格的建设邻接位工作。建筑拆卸后,完全返还零件,置于所占空地。

有些建筑带有不只一格的容器,例如货架,这类建筑会扩展场景的收纳能力。但,拆卸这种建筑必须先排空容器,才能进入拆卸环节。一旦建筑损坏,容器内的物品就不可取出。

加工机器通常带有几格容器,用于保存原料和产品。

工人可以在场景中移动,工人身上带有一或多个容器格。用于建设建筑和安装配件。配件是一种特殊的建筑,存在于工人行动层之外,例如电线和管道,它们可以和建筑同个场景格,拆卸不会回到场景格内,而是进入工人身上的容器中。

游戏的建设部分会类似异星工厂和边缘世界的混合体。和异星工厂不同,建设需要把零件运送到场景格上,并由工人消耗工时修建。一旦修好,不可以在场景上移动位置,但可以无损拆卸。零件加工又比较像异星工厂的加工机制,由合成配方决定了生产过程。但又不允许原料直接放在地板上。

我的设计思路是:游戏里的东西尽量具象化,每个东西就是一个视觉上可见的东西,而不是表单上的一个数字。自动化像矮人要塞或缺氧那样,由工人的工作系统驱动完成。不排除后面加上传送带和自动装卸机,但可能把传送带机制和流体管道合并成同一机制(类似缺氧)。

文章来源:

Author:云风
link:https://blog.codingnow.com/2024/07/building_system.html