我在立体模型和毛毡风 Steam 游戏中犯的六个错误,以及一个我避免的错误
[我在立体模型和毛毡风 Steam 游戏中犯的六个错误,以及一个我避免的错误 2025年3月13日]
我仍在制作我的立体模型风格的点击解谜游戏。
通常,你在网上看到的那些手工艺视频,都是那些已经做了多年的人制作的。他们不会犯错,或者即使犯了错,也不会展示给你看。 我做这些手工制作的时间并不长。 所以我犯了很多错误,我想展示给你看,这样你就不会觉得这很容易。
在继续阅读之前:请在 Steam 上将 High Mountain Abbey 加入愿望单。
1. 挂毯
机器编织的挂毯(我用作地毯)分辨率非常低——14ppi(以我的比例来说,是每英尺 14 像素,这不是很真实,但可能是可以原谅的)。 它们的工作方式非常巧妙(但需要一些预先计划):它们有六种颜色的纱线:红色、绿色、黄色、蓝色、白色和黑色。 根据图像中每个像素的颜色,最终会有一种不同的颜色出现在顶部。 我希望我能提前知道这一点,这样我就可以设计我的图像来进行我自己的抖动处理,但这似乎不是我找到的那些服务所支持的操作模式。 我猜调色板像素工作是一门正在消亡的艺术。
2. Git 托管
我很快意识到 git
托管会是一笔开销。 我从 Gitlab
的免费套餐开始,但它有 10GB 的限制。 我很想给他们钱,但他们额外存储的定价是每月每 GB 0.50 美元,这太离谱了——S3
收取每月每 GB 0.023 美元,不到其价格的二十分之一。 我假设 Gitlab
收取如此高的价格是为了支付数据传输成本,但我的数据基本上是只写的,所以这对我很不利。
到目前为止,已经拍摄了七个房间,我的仓库现在是 53 GB,因为我存储了每个焦点堆栈的所有照片,以及每个镜头的原始 (xcf) 版本,这样我就可以在不重复 JPEG
压缩的情况下进行编辑和色彩校正。 我最终只是在便宜的 Hetzner VPS
上运行我自己的 Gitlab
,这很容易设置,而且不是很贵。 它可能比 Gitlab
的服务可靠性差,但我有 Hetzner
的备份,也有我自己的桌面备份,所以我不太担心。
3. 动画
Yossi 警告过我,但我没听:AI
实际上并不擅长补间动画。 当我只是让羊毛粗纱移动时,它工作得非常好:
一个奇怪的机器的视频:在右边,一个青铜色的圆形框架有一个由蓝色羊毛粗纱制成的内圈。 框架周围有三个旋钮。 当点击一个旋钮时,羊毛粗纱会围绕圆圈收缩,然后再长回原来的形状。 在圆圈内,有七个点在移动,在左边是一个带有十一个红色羊毛球的料斗。 当羊毛动画运行时,一个球会落入两个木箱中的一个。
但后来我尝试用它来补间一个旋转 60 度的实体:
一个黄绿色针毡表盘在灰色毛毡背景上转动。 存在模糊和扭曲。
这出乎意料地糟糕。 但我想:也许只是旋转效果不好? 所以我尝试了一个向下滑动的门。 实际上我尝试了一个向上滑动的门,但我没有保存结果,然后当我去为这篇博文重新创建它时,图像最终以相反的顺序排列,所以我猜它现在正在向下滑动。 我不把这算作我的六个错误之一——你免费得到一个。
一个由水平滑块组成的门向上滑动。 存在明显的模糊。
诚然,门上的运动有点不稳定(这就是定格动画的乐趣),但我本以为会更好。 我猜羊毛之所以起作用只是因为它已经是羊毛状的。 所以我将不得不忍受我大部分动画的低帧率。
我有时可以使用一些技巧来提高帧率。 对于旋转物体的动画,我实际做的是让 Godot
旋转每一帧,同时淡入下一帧。 我仍然有一些定格动画的外观,因为物体移动不均匀(而且它是用毛毡制成的,所以它也会摆动)。 而且我仍然有不错的阴影,因为关键帧是在原位拍摄的,具有正确的光线。
4. 在狭小空间内拍摄
我曾以为我可以把相机放在立体模型里面来完成所有的拍摄。 但对于狭窄的走廊来说,这是行不通的——相机会离墙太近,无法获得足够宽的镜头。
所以我最终做了一些有点奇怪的事情:我在墙上挖了洞,然后从外面通过洞拍摄侧视图。 然后,为了使内部看起来正确,我在洞上放了绘画或灯或其他装饰品。
那个洞可以容纳相机镜头——我仍然受到相机窄视角的困扰,但至少你可以看到门。 当我从立体模型内部拍摄时,我会将一盏灯放入孔中,你永远不会知道它在那里。
5. Steam 营销
我发布了我的上一篇博文,这在 Hacker News
上获得了一些关注。 太棒了,我想,每个人都会想买我的游戏! 但我忘记了一个步骤:首先,人们必须了解这款游戏,而不是关注我博客的 17 个人。 事实证明,做到这一点的方法是让很多人在 Steam
上将这款游戏加入愿望单。
所以我应该做的是:首先,创建游戏的 Steam
页面,然后发布第一篇博文。 好吧,亡羊补牢,为时未晚:请将游戏加入愿望单。 越多的人把它加入愿望单,Steam
就会在发布时更多地推荐它,就会有更多的人购买它。
6. 薄木片
然后我开始制作 Steam
页面。 Steam
需要九个图形,每个图形都有不同的宽高比。 正常人会在 Photoshop
或 Illustrator
中制作这些图形。 但 High Mountain Abbey
不是一款普通的游戏;它由实体对象制成。 所以,当然,Steam
图形也必须由实体对象制成。 我从一块胡桃木瘤薄木片开始。 薄木片应该是平的,但瘤木具有狂野的纹理,所以当我尝试将该块粘下来时,它会疯狂地弯曲。 也许我应该用夹子把它夹紧,而不是只是在上面扔一块板子并抱有希望。 或者使用非水性胶水。
哦,好吧,它增加了特色,我告诉自己。
一个我没有犯的错误
我喜欢 Rust
的想法:大型抽象,安全,性能。 即使我真的很喜欢用 C
编程,但在 2025 年,我对非内存安全的语言感到不安。 但用 Rust
构建 High Mountain Abbey
将会是一个错误。 总是有一种为任何游戏制作自定义引擎的诱惑。 但对于这款游戏来说,Godot
就足够了,我认为我甚至后悔构建了少量奇怪的自定义内容来避免处理 Godot
的资源格式。
结论
High Mountain Abbey
将于 2026 年发布。 我迫不及待地想让你玩它。
上一篇文章:使用真实引擎构建游戏