网易首页 > 网易号 > 正文 申请入驻

一个人,两周,我用 Rust 和 AI 做了款游戏,上架 Windows 商店了

0
分享至

上个月,个人的独立游戏《九界 渡劫》悄悄登陆了 Windows 商店。没有团队,没有美术,只有我和一些 AI 工具。这篇文章想和大家聊聊这段经历。



先说结果

两个月前,我突然有个念头:我想做款游戏

不是那种换皮小游戏,而是真正能上架、能被陌生人下载玩到的游戏。

三个月后,它真的上架了:

  • 游戏大小:50MB
  • 代码行数:约 8000 行 Rust 代码
  • 开发工具:ifAI Editor + Midjourney
  • 上架平台:Windows 商店
  • 评分:暂无(因为刚上,还没人评价哈哈)

没有美术朋友帮忙,没有投资人给钱,就是我一个人,加一堆 AI 工具。

为什么是 Rust + Bevy?

说实话,这个选择挺冒险的。

Rust 虽然很火,但做游戏的人不多。Bevy 是个年轻的引擎,文档不完善,社区也不大。

朋友问我:为什么不直接用 Unity?

我的理由很朴素:

  1. 我不想学 C#—— 学生时代就是C#,实在不想回头再用它;Rust 的语法我熟悉,上个独立软件IfAI Editor 就是用它开发的,心里踏实
  2. Bevy 的 ECS 架构很优雅—— 数据和逻辑分离,代码清晰
  3. 性能真的很好—— 60FPS 稳定跑,低端电脑也不卡
  4. 打包体积小—— 50MB 是真的小,Unity 随便就几百 MB

当然,代价也很明显:很多坑只能自己踩

没有美术怎么办?用 AI 啊



这是我这个项目最关键的决策。

传统游戏开发,美术资源是大头。角色、场景、UI、特效……每样都要人画。

我没有人。但我有 AI。

角色怎么做?

我用 Midjourney 生成 3D 角色概念图,然后:

  1. 用提示词迭代几十次,直到满意
  2. 导出图片,在 Blender 里简单调整
  3. 写代码处理 AI 模型的"固有偏差"

AI 生成的模型朝向经常不对,我写了个补偿算法:

// AI 模型的朝向和游戏坐标系不一致,需要补偿const BIAS_COMPENSATION: f32 = std::f32::consts::PI / 2.0;let to_enemy = (enemy_pos - player_pos).normalize();let target_angle = to_enemy.y.atan2(to_enemy.x) + BIAS_COMPENSATION;

就这一行代码,解决了所有朝向问题。

特效怎么做?

游戏里最酷的"万剑归宗"技能,粒子效果全是代码生成的:

// 程序化生成水墨晕染贴图for y in 0..height {for x in 0..width {let dist = (dx*dx + dy*dy).sqrt() / 64.0;// 用噪声模拟墨迹的自然扩散let noise = (angle * 4.0).sin() * 0.12+ (angle * 7.0).cos() * 0.08;let alpha = (1.0 - dist * dist).powi(2);data[idx + 3] = (alpha * 255.0) as u8;}

不需要美术出图,改代码就能调效果。

万剑归宗:四相位,剑气纵横

这是我花最多时间打磨的技能。你可以把它想象成一场"飞剑表演":

第一阶段(0-20%):飞剑从虚空中"撕裂"而出,像被一股力量弹射上天第二阶段(20-45%):飞剑在空中排成三层螺旋,像巨大的剑轮在呼吸第三阶段(45-55%):突然一静,所有飞剑调头指向敌人第四阶段(55-100%):极速穿心,每把剑留下长长残影

核心是这段贝塞尔曲线代码:

// 第四阶段:飞剑沿着贝塞尔曲线突刺let p0 = current_pos;           // 起点let p1 = current_pos + tangent * 200.0;   // 控制点1let p2 = enemy_pos - tangent * 100.0;     // 控制点2let p3 = enemy_pos;             // 终点let t = (progress - 0.55) / 0.45;let pos = cubic_bezier(p0, p1, p2, p3, t);

简单的数学,震撼的效果。

AI 帮我写代码?是的

这里要坦诚:AI 帮了我大忙

我不是 Rust 大神,很多 Bevy 的 API 我不熟悉。但我学会了如何和 AI 配合:

  1. 我问得具体—— 不要问"怎么实现特效",要问"Bevy 里如何用 ECS 实现粒子系统"
  2. 我读每一行代码—— AI 生成的代码我会仔细看,不懂就追问
  3. 我写测试—— 17 个测试用例,确保 AI 写的代码没问题

比如那次 NaN Bug:

// AI 写的代码let delay = 0.06 - (i as f32 * 0.015);  // i=11 时 = -0.105,崩溃// 我加的防护let delay = (0.06 - (i as f32 * 0.015)).max(0.0);

AI 不是我的"代写",而是我的"高级搜索引擎"。它让我可以更快地尝试想法,但最终质量还是要靠我自己把控。



上架 Windows 商店:比想象中简单

我以为上架会很复杂,填一堆表,审好几轮。

实际上:

  1. 注册开发者账号—— 花 0元,现在windows开发者中心完全sg免费,审核 1-2 天
  2. 准备材料—— 图标(3 个尺寸)、截图(4-8 张)、隐私政策
  3. 打包上传—— 用 MSIX 打包,上传到 Partner Center
  4. 等待审核—— 大约 1~2 天

隐私政策我写得非常简单:

我们不收集任何个人数据。所有游戏进度、存档、设置均存储在您的本地设备上。

就这样,过了。

当然,也有小插曲。第一次提交被拒了,原因是我忘了声明"应用可能请求网络权限"(用于 DRM 验证)。改了隐私政策,重新提交,就过了。

那些踩过的坑

说说几个印象深刻的坑吧。

坑一:Commands 是延迟执行的

Bevy 的 commands.entity().despawn() 不会立即删除实体,只是把删除命令放入队列。

我一开始这样写:

// ❌ 错误if p.is_dead() {commands.entity(entity).despawn_recursive();// 下面的代码还在执行!transform.translation = Vec3::new(x, y, z);

结果就是已删除的实体还在更新 Transform,直接崩溃。

改成这样就好了:

// ✅ 正确if p.is_dead() {commands.entity(entity).despawn_recursive();continue;  // 立即跳出,别再碰这个实体}
坏二:浮点数 NaN 会传播

那个 NaN Bug 让我调试了一整天。教训是:永远不要假设计算结果在预期范围内

// 防御性编程let value = some_calculation();if !value.is_finite() {return;  // 直接返回,别让 NaN 传播}
坑三:Bevy 特性不能全开

一开始我直接 bevy = "0.15",结果编译出来体积大,性能也差。

后来改成精准控制:

bevy = { version = "0.15", default-features = false, features = ["bevy_render", "bevy_asset", "bevy_audio","multi_threaded", "png", "jpeg", "vorbis", "mp3"] }

体积减了一半,FPS 稳定 60。

这三个月,我学到了什么技术层面

  1. Rust + Bevy 真的可以做游戏—— 虽然小众,但完全可行
  2. ECS 架构很优雅—— 代码写多了会爱上这种风格
  3. 程序化生成是独立开发者的救星—— 省美术,省空间,省时间
非技术层面
  1. 完成比完美重要—— 先上架,再迭代
  2. AI 是杠杆—— 用好了能放大你的能力,用不好就是浪费时间
  3. 一个人也能做成事—— 但要选对工具,设定合理目标
给想尝试的朋友

如果你也想做款游戏,我的建议:

如果你...

建议

会 Rust

直接用 Bevy,文档少但社区友好

会 Python/JS

考虑 Godot,上手快

完全零基础

从小游戏开始,别一上来就想做 RPG

没有美术

学程序化生成,或者用 AI

想上架

先瞄准 Windows 商店,比 Steam 容易

这游戏到底好玩吗?

说实话,我不知道。

上架一周,下载量还没突破两位数(主要是自己下的哈哈)。

但这个过程本身就很爽了:

  • 我学会了 Bevy 引擎
  • 我写了一套粒子系统
  • 我的游戏真的在商店里能搜到
  • 有人(真的!)下载并给了反馈

这对我来说,已经值了。

后续计划

  • 等反馈,修 Bug
  • 加更多卡牌和技能
  • 尝试上架 Steam
  • 如果有人玩,就继续更新

这篇文章不是"教你做游戏"的教程,也不是想替AI传教,只是分享一段经历。

如果你读完觉得"我好像也能试试",那我的目的就达到了。

游戏下载:Windows 商店搜索"九界 渡劫"

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
固始新娘越扒越有!高中同学发声,曝新娘更多过往,刻薄并非偶然

固始新娘越扒越有!高中同学发声,曝新娘更多过往,刻薄并非偶然

奇思妙想草叶君
2026-02-05 22:37:25
深夜,全线大涨!道指飙升850点创新高,半导体大爆发,英伟达狂飙7%!中概股、黄金集体拉升

深夜,全线大涨!道指飙升850点创新高,半导体大爆发,英伟达狂飙7%!中概股、黄金集体拉升

每日经济新闻
2026-02-07 01:07:04
至少14人被拍到!女大学生从广州坐高铁回家,网友:看着看着就哭了

至少14人被拍到!女大学生从广州坐高铁回家,网友:看着看着就哭了

环球网资讯
2026-02-06 14:06:36
真爱还是接盘侠?41岁香港艳星现下嫁山东农村,曾不雅照片满天飞

真爱还是接盘侠?41岁香港艳星现下嫁山东农村,曾不雅照片满天飞

古事寻踪记
2026-02-04 07:10:54
赖清德:如果有人欣然接受九二共识,表示他是中国人,那就是促统

赖清德:如果有人欣然接受九二共识,表示他是中国人,那就是促统

我心纵横天地间
2026-02-06 19:59:30
揪心!谷爱凌脑出血休克,癫痫发作濒死边缘,母亲泪崩曝细节

揪心!谷爱凌脑出血休克,癫痫发作濒死边缘,母亲泪崩曝细节

古事寻踪记
2026-02-06 07:13:45
惊险!中国选手包揽斯诺克大赛4强,151年来第一次

惊险!中国选手包揽斯诺克大赛4强,151年来第一次

真理是我亲戚
2026-02-06 23:25:42
哈佛实验证明:衰老是一个被灌输的概念(强烈推荐)

哈佛实验证明:衰老是一个被灌输的概念(强烈推荐)

尚曦读史
2026-02-06 08:13:21
脊背发凉,萝莉岛与被叫停的跨国领养

脊背发凉,萝莉岛与被叫停的跨国领养

枫冷慕诗
2026-02-05 13:52:16
“价格太低,扰乱市场!”新西兰政府确认:这家中国企业倾销水果罐头,致本地产业受损!

“价格太低,扰乱市场!”新西兰政府确认:这家中国企业倾销水果罐头,致本地产业受损!

新西兰天维网
2026-02-06 06:36:18
百万粉丝汽车博主发布小米SU7与极氪007碰撞测试视频被逮捕,检方以损害商品声誉罪提起公诉,今日开庭

百万粉丝汽车博主发布小米SU7与极氪007碰撞测试视频被逮捕,检方以损害商品声誉罪提起公诉,今日开庭

大风新闻
2026-02-06 15:34:10
乌克兰公布最新数据,历经4年作战乌军死亡5.5万,俄军死亡76.3万

乌克兰公布最新数据,历经4年作战乌军死亡5.5万,俄军死亡76.3万

碳基生物关怀组织
2026-02-05 23:11:54
利空,全线暴跌!

利空,全线暴跌!

魏家东
2026-02-06 11:57:25
江苏省委常委、省委秘书长储永宏,当选新职

江苏省委常委、省委秘书长储永宏,当选新职

新京报政事儿
2026-02-06 16:44:48
黄子韬自曝卫生巾工厂现状:销售了1.5个亿,本金还没赚回来,工厂6个生产线各花了2000多万

黄子韬自曝卫生巾工厂现状:销售了1.5个亿,本金还没赚回来,工厂6个生产线各花了2000多万

台州交通广播
2026-02-06 19:15:42
巴拿马就喝西北风吧!中国反击打出“三板斧”,秘鲁迎来泼天富贵

巴拿马就喝西北风吧!中国反击打出“三板斧”,秘鲁迎来泼天富贵

阿晪美食
2026-02-06 17:33:07
中国的社保压力超乎想象。

中国的社保压力超乎想象。

流苏晚晴
2026-02-06 20:42:14
第一次和男友同住,我彻底懵了:原来男生私下这么“反差萌”!

第一次和男友同住,我彻底懵了:原来男生私下这么“反差萌”!

千秋历史
2026-02-06 21:27:29
乌克兰火烈鸟导弹击中俄罗斯卡普斯京亚尔基地!开启战略打击

乌克兰火烈鸟导弹击中俄罗斯卡普斯京亚尔基地!开启战略打击

项鹏飞
2026-02-06 17:14:24
搞特权谋求特殊待遇,利用信贷权力敛财,中纪委连打四“虎”

搞特权谋求特殊待遇,利用信贷权力敛财,中纪委连打四“虎”

南方都市报
2026-02-06 21:44:07
2026-02-07 05:51:00
侃故事的阿庆
侃故事的阿庆
几分钟看完一部影视剧,诙谐幽默的娓娓道来
343文章数 7547关注度
往期回顾 全部

科技要闻

独角兽版图巨变:SpaceX奔万亿 中美差在哪

头条要闻

电动车行业"老三"冲刺上市 分股东2亿克扣员工社保3亿

头条要闻

电动车行业"老三"冲刺上市 分股东2亿克扣员工社保3亿

体育要闻

西甲射手榜第2,身价不到姆巴佩1/40

娱乐要闻

微博之夜抢C风波 杨幂工作室9字讨说法

财经要闻

爱尔眼科董事长旗下7家精神病院骗保

汽车要闻

宝马"本命年"关键词:20款新车与"新世代"耐力赛

态度原创

本地
健康
艺术
游戏
公开课

本地新闻

围观了北京第一届黑色羽绒服大赛,我笑疯了

转头就晕的耳石症,能开车上班吗?

艺术要闻

过年,邻居家贴的对联,差点没把我笑死……

T2总裁回应GTA6争议:给他爱新DLC力证老作热度不减

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版