我们刚刚发布了一款早期demo,这款游戏是我们工作室最近一段时间一直在工作的游戏。我们非常希望你能试玩一下,并告诉我们你的想法。它被称为 Fieldmade。
游戏概览
在这个顶视角2D角色扮演游戏中,你扮演一个艺术家,自己被困在一个小镇外面一个古老的田野里。清空周围的区域并设置一个临时营地后,你开始遇见镇上的一些有帮助的人……并开始在田野里建立新的家园。
这里的关键点是像素艺术制作。你在游戏中通过绘制工具来创建工具。任何你绘制的东西都会成为游戏中的一个实体,能够放在任何地方,卖掉或使用。随着游戏的进行,你会解锁更多的制作站点,给你更大的像素艺术画布,你需要在田野里种植和处理收获以获得彩色染料,以便在你的艺术中使用新颜色。
demo现在已经发布,我们仍然有很多内容需要建造,但我们希望获得一些反馈,所以我们把游戏的开始部分分享给大家。目前有约一个小时的引导式游戏内容,在你自己探索游戏中的深层制作系统之前。更多内容将在不久的将来添加。
游戏链接: https://chromagolem.itch.io/fieldmade
技术细节
- 几乎所有的游戏代码都是由Opus 5、Fable和Gemini 3.7 Flash组合编写的。我们通常使用:
- Fable进行高级架构和项目设置,包括规划新功能和它们与其他系统的交互。
- Gemini进行任何视觉方面的工作,似乎它擅长于HUD/UI、动画、粒子系统等。
- Opus 5进行底层工作,写代码后我们会对设计方案和实施细节进行最终确认。
- 所有静态精灵(除了角色)都是在Unity中使用Gemini 2.5 Flash Image生成的(便宜、快速和一致)。
- 所有动态精灵(包括角色)实际上都是由Gemini生成的代码生成的;生成像素精确的精灵图(并且在PPU一致性上保持精确性)对于使用模糊像素的图像模型来说是很难的,尤其是当它们经过重大小和重样式时。
- 来解决这个设计限制,我们将角色部分(头发、眼睛、胡须、手臂、腿等)都从代码中生成出来([snippet](https://gist.github.com/drusepth/a8ce9926cfa456abdfa844fb7bd9c2f4)),这确保了每个像素都是硬边缘的像素,并且让我们可以从数据而不是图像中驱动动画(这使得重样式角色更加可维护)。然后我们可以定义角色作为一组部分(包括动画的部分,同样是从代码中生成的)来定义角色。
我们在游戏中有两种制作方式。开始时,你会被告知要绘制什么,并且如果你能够绘制它,你就会被奖励。后来,你可以绘制任何你想的东西,并且新的可用的游戏项目将被生成为你绘制的项目。
对于“你绘制的这个项目是不是这个项目”:
- 你遇到的NPC通常会要求你绘制某个特定的项目。
- 我们使用Gemini来批量生成一些“提示”模板,用于每个项目,基本上告诉你如何绘制它,如果你需要这个提示。绘制完后,我们只是进行一个基本的相似性检查“你的绘制和模板有多少像素不同”。
- 如果你足够接近,我们可以跳过这里的所有有趣的AI工作,并直接给你项目。这样可以减少等待时间、令牌花费等,并且避免了玩家可能会遵循模板并且仍然被告知他们绘制的不是实际项目的问题。
- 如果你“脱离了轨道”并且绘制了自己的解释,我们将绘制的像素画布转换为图像并将其传递到Gemini 2.5 Flash Image,问“这是一个XYZ的图像吗?”来使用AI来分类你是否完成了目标。如果你完成了,你就会得到相同的项目,正如你绘制了一个预期的模板一样。
对于“你可以绘制任何项目”:
- 你的制作台有一个全画布,你可以绘制任何东西。
- 当你提交一个绘制时,我们会将画布转换为图像并将其传递到Gemini 2.5 Flash Image,问“这是一幅什么样的绘画?”它会告诉我们它是一幅 茶壶(例如)。
- 当我们得到一个结果时,我们会将其传递到Gemini 2.5 Flash Image,并说,“这里是我们世界中所有可组合系统的描述。请为一个功能性的 茶壶生成项目数据。”
- 与#3并行(以最小化等待时间),我们也会提示Gemini 2.5 Flash Image生成一个 茶壶,与游戏项目的样式一致。
- 当我们有了游戏数据和精灵图时,我们会将它们写入项目数据库并在游戏中创建新的项目,然后奖励它给玩家作为他们刚刚制作的项目。
6.-existing系统在游戏中会承担新的项目的功能。例如,你可能可以用生成的茶壶来浇灌你的作物,因为它可能会继承来自基础浇水壶的功能。或者,如果你制作了一个Mega火炬,它可能会继承来自基础火炬的功能,但具有更高的亮度值。或者,如果你制作了一个发光茶壶,你可能会得到一个工具可以浇灌作物,但也会给你一些额外的光环,并且可以放置在你的农场中以提供永久光源。 - 或者你可能只是画了一个小小的椅子和桌子,你想用它来装饰你的农场。
关于游戏的一点其他注意事项:我们使用农场系统,让玩家可以收获植物,然后将它们转换为不同的颜色染料,以便在绘画时使用,农场系统会反馈到你可以使用的颜色中,颜色也会影响AI如何解释你的绘画(好好试着画一个湿的东西吧,没有蓝色染料!)。
最后,我们也有一些开放性的 收获(使用工具在游戏中的对象)。你制作的工具不仅仅继承了现有的系统功能。每当你使用任何工具在游戏中的对象时,我们会询问数据库是否有一个已知的recipe来描述发生了什么样的东西,例如,你使用铲子在树上。
如果有一个recipe已经存在,你会直接获得项目(简单)。
如果一个recipe 不存在,我们会进入一个多步生成过程:
- 我们会问Gemini 2.5 Flash “当你使用 工具 在 对象 上时会发生什么?”来将其分类为不同的交互:修改 对象,修改 工具,收获资源,以及/或触发其他游戏效果。
- 根据类型,我们会将其传递到Gemini 2.5 Flash,并说,“基于我们的现有预编码系统来生成该交互的数据。”
- 例如,使用铲子在树上可能会将树设置为燃烧状态,并将其转换为燃烧树。这个会添加一个大光环到树上,并且由于这是一个新的对象,所以会有新的recipe可以找到(例如,使用斧子在树上可能会得到燃烧的木头,或者使用你的浇水壶在树上可能会将树恢复为正常树)。
- 其他例子:铲子在树上可能会收获虫子,你可以将虫子用铲子在泥土上转换成肥料,然后再用铲子在肥料上收获肥料等等。
评论 (0)