返回首页
最新
我有两个孩子,分别是7岁和12岁。他们对Roblox,尤其是Rivals,情有独钟。
和许多父母一样,我们并不喜欢这个游戏。我们尝试了常见的方法:屏蔽、限制、设定时间限制。结果变成了每日的斗争,双方都不满意。
于是我改变了思路。
与其抵抗他们喜欢的东西,我决定顺应他们的兴趣,但要加点新意。
为什么不一起构建一个第一人称射击游戏(FPS)呢?
我的孩子们成了项目经理(PM),而我和Claude则成了他们的工程师。
我惊讶于我们的进展之快。我们选了个名字,叫“Cooked”,然后开始构建。
进来吧。锁定。开始制作!
在头3个小时内,我们就制作出了一个可以在浏览器中一起玩的实际FPS。
第二天,我邀请了我朋友的两个孩子过来。突然间,我有了四个项目经理。
我们有3台笔记本电脑、1台iPad和1部iPhone。
所以在30分钟内,我们增加了移动支持,五个人可以一起玩了。
孩子们会提出功能需求:
“我们能不能有一个能把人从地图上打下去的火箭发射器?”
“刀子在握住的时候应该刺得更快。”
我对FPS设计几乎一无所知,所以他们成了专家。他们解释了他们想要的东西。我们把这些转化为指令,Claude负责实现。
我们会刷新页面,10分钟后就能玩。
这是我多年里最开心的编程经历。我的孩子们对此感到非常自豪。
# Cooked的构建过程
架构
- 这只是一个网页。使用TypeScript和Three.js。
- 没有游戏服务器。多人游戏通过P2P WebRTC网络运行。
- Supabase仅作为匹配器,处理用户在线状态和WebRTC握手。
- 运行成本非常低。静态网站加上少量Cloudflare边缘函数用于TURN中继。
- 机器人填补空房间。每个机器人都有随机的装备和玩法风格。
# 有效的地方与无效的地方
我已经编写软件20年了。在过去的9年里,作为Krisp.ai的首席执行官,我几乎没有时间自己编程。我很怀念这个过程。
Claude改变了这一切。在过去的2-3周里,我对这个副项目非常着迷。
首先,和孩子们一起构建项目是增进感情的好方法。这让我们有了共同的兴趣和真正的优质时间。
其次,我想了解Claude今天的能力极限,以及我们如何将其应用于Krisp。这帮助我保持脚踏实地。
Opus 4.8在架构应用系统、研究参考资料和实现算法方面表现极佳。
我会告诉它诸如“研究Roblox、Diablo、Fortnite中的武器系统设计,并提出在Cooked中实现这一点的方案”之类的话。它会给出令人印象深刻的待办事项列表,我只需说“开始”。
它在用户界面设计方面却非常薄弱,根本无法发现明显的设计问题。
我尝试与游戏设计师代理、UI设计师和系统架构师进行循环合作。尽管研究和推理都很出色,但由于设计品味差以及无法正确识别图像和发现问题,系统最终失败了。
有趣的是,当我挑战它设计和绘制“手”来握住武器时,它真的失败得很惨。我在构建合适的地图时也遇到过困难。它缺乏想象力,即使在提供大量指导后也无法成功。
另一个有趣的事实是,今天早上,我把“绘制手”的同样问题交给了Fable,它一次性就为所有武器绘制出来了,令人印象深刻。
# 我分享这个的原因
有两个原因。
第一:如果你是一个正在与屏幕时间斗争的父母,考虑一下改变思路。与孩子们一起构建他们喜欢的东西,把冲突的源头变成一个共同的创意项目。我的12岁孩子现在懂得功能范围的定义,而我的7岁孩子对爆炸的大小有着强烈的看法。
第二:人工智能编码工具已经跨越了一条界限。一个不是游戏开发者的爸爸,和四个孩子一起,构建了一个真正的多人浏览器FPS,连他们的朋友都在玩。