## 果汁:从游戏挑战到上海冒险
Esther Ward和她的朋友们接受了Hack Club的“果汁”挑战,要在100小时内制作一款30分钟以上的无语言游戏,完成即可获得上海之旅。他们的团队开发了“尘与黎明”,最初灵感来自《空洞骑士》,讲述了一个煤灰精灵修复被污染世界的故事。虽然语言限制带来了困难,迫使他们暂时搁置叙事,但他们成功地构建了核心游戏机制——移动、物品栏、任务,并将游戏从7分钟的演示扩展到完整的30分钟体验。
这项挑战最终促成了一次意想不到的上海之旅,与另外90位年轻开发者一同前往,远超最初计划的30人。他们花了一周时间合作、向公众展示他们的游戏(甚至克服语言障碍与一位玩家建立了联系),并向行业专业人士学习。
除了游戏开发之外,这次经历还凸显了跨文化交流的力量和学习语言的价值。Esther强调,“果汁”的真正成功之处不仅仅是制作了一款游戏,而是沿途的学习、成长和建立的全球联系,称之为“我人生中最棒的经历之一”。
## VRChat 中的 RISC-V 模拟器:深度解析
该项目详细介绍了在 VRChat 社交平台*内部*创建的、能够运行 Linux 内核的完整 RISC-V 模拟器。面对性能限制,作者利用 HLSL 像素着色器——VRChat 中唯一可行的代码执行方法——来模拟 CPU。
该模拟器将 CPU 状态和 RAM(64MiB)存储在 2048x2048 像素纹理中,并采用自定义渲染纹理和缓冲交换等巧妙技术来管理帧间数据。一个关键挑战是克服 VRChat 中缺乏计算着色器的问题,这导致了一个复杂的缓存和内联系统,以最大限度地提高性能。当前版本在 2080 Ti GPU 上实现了超过 200kHz 的速度。
调试是一个重大障碍,需要依赖 C 语言原型设计和细致的优化,以避免着色器编译器问题。该项目包括软件 MMU、中断处理以及对 Micropython 和 Rust payload 的支持。它可以通过一个专门的 VRChat 世界访问,允许用户体验 Linux 环境,甚至可以亲手调试系统。作者强调了该项目独特的挑战以及支持其开发的充满活力的 VRChat 创建者社区。完整代码可在 GitHub 上获取。
作者运营一个播客,该播客通过使用开源文本转语音(TTS)模型自动从博客文章生成——这是一个作者自我设定的挑战。在使用F5-TTS后,他们寻求升级,并参考了人工智能分析TTS排行榜。虽然Kokoro排名第一,但它缺乏语音克隆功能。
测试Fish Audio的S1-mini令人失望,开源版本功能有限,这反映了一种常见的策略,即吸引用户使用付费的、更高级的模型。Chatterbox最终成为最佳可行选择,但与其他开源TTS一样,存在局限性:字符限制较短(约1000-2000个),导致处理较长文本时出现幻觉或速度问题。
整个流程包括使用LLM生成稿件和摘要、分块、通过Modal容器使用Chatterbox进行并行处理,以及拼接音频。改进包括Spotify可用性和可点击的节目说明。尽管取得了进展,作者认为开源TTS在可靠性和控制方面仍然落后于专有系统,需要像逐句输入这样的解决方法。整个流程是开源的,并且可在GitHub上获取。