文章摘要
作者开发了一款名为“Thunder Lizard”的ASCII风格游戏,并尝试通过AI将其实时渲染为全动态图形。他通过将游戏帧输入图像生成模型,并将生成的图像替换原帧,实现了这一目标。这一过程面临的主要挑战是实时渲染所需的低延迟,促使作者深入研究了当前尖端的图像生成模型。
文章总结
标题:用AI实时渲染游戏
主要内容:
作者开发了一款名为“Thunder Lizard”的ASCII风格RPG游戏,游戏背景设定在一个史前岛屿上,恐龙们为争夺领地而战,同时一座活火山威胁着整个岛屿。作者尝试将这款游戏的ASCII画面通过AI实时转换为全动态图像,并分享了整个过程。
实时渲染的挑战: 实时AI渲染的主要限制是延迟。大多数游戏至少以每秒30帧(FPS)运行,这意味着每帧只有30毫秒的时间来完成以下步骤: - 连接并验证推理服务 - 传输提示(包括源图像数据) - 等待生成完成 - 接收新图像数据并显示
为了解决这个问题,作者使用了fal.ai提供的“闪电般快速推理能力”服务,特别是潜在一致性模型(LCM),这些模型的生成时间接近100毫秒。此外,fal.ai还提供了WebSocket连接,以消除后续请求中的连接和验证步骤,并支持以Base64编码数据流传输图像,以实现即时直接访问。
通过这些优化,作者能够以10 FPS的速度运行,延迟约为1秒。这与原游戏的帧率相同,因为ASCII视觉效果在这个帧率下表现最佳。虽然可以进一步提高帧率,但这样做可能会导致图像渲染顺序错乱。
模型选择: Fal.ai提供了超过300种图像生成模型,作者花费了大量时间了解不同模型的特性和能力,并生成了数百张图像进行测试。最终,作者根据以下硬性要求筛选了模型: - 生成速度非常快 - 源图像一致性 - 良好的视觉效果
布局一致性: 作者尝试了多种方法来确保输出图像与实际游戏帧对齐,包括使用ControlNet和图像到图像(i2i)模型。ControlNet通过提供额外的“指导”来控制生成图像的布局,但作者发现这种方法效果不佳。最终,作者选择了使用游戏图像作为源的i2i模型,这种方法在布局一致性上表现更好,但控制生成图像的视觉效果变得更加困难。
最终效果: 作者最终使用了fast-lcm-diffusion/image-to-image端点,结合StableDiffusion 1.5模型和提示“俯视视角,史前时代游戏地图,红色为熔岩,蓝色为水,绿色为草地/树木”来生成图像。尽管作者对视觉效果并不完全满意,但这是在当时条件下能得到的最佳结果。
LoRA风格迁移: 为了获得更好的视觉效果,作者尝试了几种“风格迁移”模型,并最终通过训练自定义LoRA权重来创建自己的“风格”。LoRA是一种轻量级且可移植的模型微调技术。作者使用FLUX LoRA Fast Training模型在fal.ai上进行了训练,整个过程只需几分钟,成本不到一美元。尽管这种版本的渲染延迟为四秒,无法用于实时游戏,但视觉效果明显更好。
整合与未来展望: 作者使用fal.ai提供的JavaScript SDK通过WebSocket连接将图像生成与游戏整合在一起。在游戏循环的每次渲染调用中,作者绘制了两个独立的画布,一个用于原始输出,另一个用于渲染512×512像素的块版本。然后,作者将第二个画布的图像数据作为Base64数据URL发送,并通过WebSocket连接接收生成的图像数据,最终将其渲染到第三个画布上。
尽管模型在帧与帧之间的一致性上表现相当稳定,但仍然存在“跳跃”差异,如树木变成岩石或草地。作者认为,使用“外绘”技术可能会提供更平滑的视觉体验,但目前尚无法在现有模型的延迟要求下实现。
总的来说,作者认为这次实验是成功的,并期待未来AI图像生成技术的发展。作者还认为,使用AI来增强或改变现有源以控制底层世界的一致性,可能是一种快速且轻松地实验多种不同风格的有力技术。
评论总结
评论内容主要围绕实时生成图像技术的优缺点、应用场景及其对游戏和艺术创作的影响展开。以下是总结:
对实时生成图像技术的批评:
- 评论1指出,实时版本存在颜色变化、对象大小不一致和数据解释不连贯的问题,导致游戏体验不佳。
- 引用:"The 'real-time' version looks awful with constantly shifting colors, inconsistently sized objects, and changing interpretations of the underlying data."
- 评论7质疑这种技术的实用性,认为生成游戏资产并运行在引擎中更为合理。
- 引用:"why not just generate game assets and run them in an engine?"
- 评论1指出,实时版本存在颜色变化、对象大小不一致和数据解释不连贯的问题,导致游戏体验不佳。
对ASCII/ANSI艺术的兴趣:
- 评论2表示,尝试将场景渲染为ASCII/ANSI风格,但AI模型难以理解这种艺术形式。
- 引用:"All the AI models I’ve tried only understand the concept of 'pixel art' and not ASCII/ANSI graphics."
- 评论2表示,尝试将场景渲染为ASCII/ANSI风格,但AI模型难以理解这种艺术形式。
技术实现的可行性与效率:
- 评论4认为,生成过程可以在中低端显卡上本地运行,节省网络和认证延迟。
- 引用:"I’m pretty sure the generation could easily run locally on a low-to-mid tier graphics card."
- 评论9提到现代游戏的功耗问题,建议使用烘焙全局照明等技术提高效率。
- 引用:"We need more things like baked GI in gaming."
- 评论4认为,生成过程可以在中低端显卡上本地运行,节省网络和认证延迟。
对实时生成图像技术的积极看法:
- 评论5分享了类似项目的成功经验,认为这种技术能带来独特的创意体验。
- 引用:"the setup produced one of the most original creative experiences I’d ever had."
- 评论15认为,这种技术在程序化生成地形和用户自定义属性方面具有潜力。
- 引用:"I can definitely see it delivering value, especially over with procedurally generated terrain."
- 评论5分享了类似项目的成功经验,认为这种技术能带来独特的创意体验。
对未来技术的展望与担忧:
- 评论6和评论13将这种技术与科幻小说《安德的游戏》中的“心灵游戏”相提并论,表达了对AI渲染游戏的期待。
- 引用:"This is a pre-cursor to a dystopian future where reality will be a game generated in realtime at 60 FPS and streamed to your brain over Neuralink."
- 评论14则对这种技术的实用性表示怀疑,认为它像通过滤镜看棋盘游戏。
- 引用:"This is like playing a boardgame while exclusively looking at the board through a snapchat filter."
- 评论6和评论13将这种技术与科幻小说《安德的游戏》中的“心灵游戏”相提并论,表达了对AI渲染游戏的期待。
总结:评论中对实时生成图像技术的看法褒贬不一,批评者认为其存在技术缺陷和实用性不足,支持者则看好其在创意体验和程序化生成方面的潜力。同时,部分评论者对这种技术的未来发展和能耗问题表示关注。