我把女儿的作文改成了游戏
女儿的作文原稿第一页一、假期过半我翻到了那篇作文国庆假期过了一半。这几天女儿一直在赶作业我们也就没出去玩我想着总该看看进度了就让她把作业一样样摊开。奥数卷错了不少英语单词和句子抄得歪歪扭扭错漏不少语文卷子也做得潦草。我一边摇头叹气不太抱希望地翻到最后——是作文。题目叫《好斗的公鸡》。字写得一般方格纸的格线有点压不住她那笔字但一行行看下去我停住了。邻居家有一只大公鸡血红的鸡冠一身黄羽圆溜溜的眼睛站在鸡群里一眼就能认出来。它每天在院子里来回踱步神气极了。这鸡不光神气还特别好斗。还是小公鸡的时候就把邻居家所有的鸡挨个打了一遍而且都赢了因此逃脱了进锅里的命运。后来村里来了只野狗隔三差五吃鸡一天傍晚又叼走一只被这只鸡撞见了扑上去就打一直打到天黑才分出胜负——狗被打得站不起来鸡也好不到哪去抖了一地。主人回来二话不说给它包扎被叼走的那只鸡倒是一点事没有。再往后邻居听人说集市有斗鸡带它去试连赢十几场赚了一笔钱。从此它在邻居家的地位直线上升能上桌吃饭小孩天天给它抓蚂蚱剩肉都归它。它更骄傲了。骄傲到什么程度呢——有一次它在院子里踱步一辆农用三轮车差点碰到它吓了它一跳它就记恨上三轮车了以后每回看见都要上去啄两口。大人们当笑话看谁也没当回事。然后最后一页这鸡本来好好的有一次在院子里看见了一个开着的三轮车它上去就啄结果就安息了。全文 597 字作业要求500字以上勉强算完成了。我拿着本子觉得有点意思。前面铺垫那么久——打遍全村无敌手、斗赢野狗、被供上桌、连三轮车都不放在眼里——最后死在了自己天天追着啄的那辆三轮车底下。把前面所有的高光全收在这辆三轮车底下这个结尾收得太漂亮了不像个十二岁小孩憋得住的手笔。一个小孩写出了一出挺完整的悲剧。骄傲到了头就是那个下场。我承认那一刻我脑子里冒出来的不是这篇要扣几分而是这玩意儿可以做成什么会更有意思。作文原稿第二页——斗赢野狗、称霸集市、被供上桌一路都是高潮作文原稿第三页——597 字。最后那个安息我反复看了三遍二、反正账上有 2000 积分说起来还有个由头。我用 AI 工具有一阵了平时拿它处理些正经活。国庆期间没怎么用账上躺着 2000 积分再不用就过期了。放着也是放着。于是我琢磨拿这点积分试试能不能把这篇作文变成一个真的能玩的游戏不是什么大目标就是好奇。一个小孩的作文——有主角、有动机、有对手、有结局——这故事的骨架其实挺适合做游戏的公鸡好斗那就一路打过去公鸡骄傲那结局就栽在自己的骄傲上。关卡甚至不用我编顺着作文的情节往下捋就有了。说干就干。我把作文拍下来就开始了。三、第一步让 AI 把作文拆成游戏我做的第一件事是把作文原文丢给 AI让它先别急着写代码先想清楚这东西怎么玩先给个方案。结果它的方案——类型、画风、玩法循环一套全套。我当时盯着屏幕有点发毛我就是想玩一玩它给我整了份商业企划书。第一版创作方案——定位、画风、目标用户、商业化一套下来相当完整更让我意外的是它扩写的关卡。我本来以为就是把作文切成一段段结果它是真读懂了1.开场爷爷的农场一群鸡鸭鹅镜头推向红冠它给公鸡起了名字昂头啼叫。2.第一关前红冠在鸡群里脱颖而出开始挑战其他公鸡。3.第一关后其他鸡被打包卖掉农场安静下来。4.第二关前一群大鹅来抢地盘。5.第二关后红冠被装进笼子装上车带到斗鸡场晕头转向时看见一只独眼斗鸡。6.第三关后全胜得到奖金斗鸡场开启。7.第四关前城市市场汽车拐弯笼子掉落红冠头晕流浪猫围过来。8.第四关后红冠脚踩招财猫招财猫哭着给金币金币 1000。9.第五关前红冠被扔进动物园大笼子一群鸡围过来。10.第五关后一堆动物抱头趴地红冠趾高气昂站在前面。11.主界面分支结局 1 留在动物园 / 结局 2 回到农场 / 结局 3 城市流浪。斗鸡场那关它晕头转向时看见一只独眼斗鸡——这句我都想不出来。作文里明明没写斗鸡场里有什么对手它自己补了一个独眼一下子就有画面了。我意识到我可能不光是在做个小游戏更像是在给女儿的作文做一次续写。只不过续写的人换成了 AI它会做成什么呢有点小期待了。11 步剧情流程基本把作文的起承转合都覆盖了还自己续了三个结局四、第二步角色和场景一张张画出来方案定了接下来该看看角色都长什么样子了。这一步其实最费功夫。AI 不能凭空知道红冠该长什么样我得反复描述一只公鸡红冠黄羽漫画风要凶但不能丑——毕竟这是要给我女儿看的。来回改了几轮主角定了。我给它起了名字叫「红冠」还给它配了个形象拳头攥着腰上系着白布条一副要上场打擂台的架势。游戏 logo——红冠攥着拳头一副要上场的样子然后是场景。作文里那些地方——爷爷的农场、斗鸡场、城市街道、动物园——都得画出来。这些图现在看还挺有味道游戏首页——夕阳、谷仓、麦田还有那只站在最前面、眼神不太友好的公鸡剧情场景——戴草帽的爷爷站在谷仓前底下一行字幕爷爷的农场里养了几十只鸡热闹得整条巷子都能听见。可里头有一只不太一样的家伙——画到后来素材库里攒出了一整套东西主角公鸡、大鹅、独眼斗鸡、熊猫、猴子、狼、拖拉机、金币、药水、各种按钮图标还有农场、城市、动物园的场景背景。看着这个文件夹慢慢变满有点像个真的在做游戏的人了。美术素材库——rooster、cat、goose、panda、wolf、tractor……几十个文件一张张都是这么攒出来的五、第三步跑起来了但只能说能跑美术有了开始拼装。这一步是最枯燥的——把场景、角色、规则、数值全塞进去让它真的能动。中间踩的坑太多了多到我一度怀疑 2000 积分够不够用。改着改着一直到了晚上终于跑出了个能玩的样子。AI 给我出了份测试报告53 项全通过连跑 3 次稳定。我等不及了——这可是我女儿的作文变的游戏得第一时间让她试。53 项全通过——关卡通关率、平均耗时、平均剩血列得清清楚楚结果她拿过去玩了不到两分钟抬头问我爸爸为什么按攻击键没反应游戏能跑和游戏能玩中间差着十万八千里。这就是为什么后面还有第五步、第六步、第七步——我以为快结束了其实才刚开始。开发截图——左边是代码右边是开始战斗。那会儿我看着这画面还挺得意六、第四步修 bug 才是真正的重头戏我把问题一条条记下来攒够一批再一次性丢给 AI——后来发现这样效率最高零散地问它容易顾此失彼。那批一共七条今天翻出来看还是想笑。挑两条说摇杆往左推人往右转身敌人打过来你还背朝它还有就是两个手指同时按屏幕它就分不清哪根是摇杆、哪根是攻击键了。剩下几条都是些界面背景没显示出来布局错乱之类的毛病看着琐碎可每一条都是上手一玩就露馅的东西。AI 没急着改代码先把根因讲清楚了。比如朝向反了根因压根不在转向逻辑而在素材——公鸡的图是默认朝左画的代码里没做镜像。就这么一层窗户纸。改完它还顺手提了句模拟器比真机慢不少建议真机对比。这话后来帮了大忙。7 个问题逐条修复连每帧新建渐变导致卡顿这种性能问题都被揪出来了七、第五步走了一大段弯路现在回头看这一步是我整个假期踩的最大的坑也是最值得写的一段。问题的起点是我一开始选错了平台。我当时发的是微信小程序。选它的理由很朴素审核快、生态熟。结果真正一路走下来才发现这条路对小游戏根本不对劲——两边底层的玩法压根不是一回事。于是决定转从小程序转成小游戏。一换类型麻烦来了。我只是把 appid 换掉、目录挪了个位置编译直接失败。迁移记录——它列了 4 个编译失败的原因全被我踩中了AI 把根因列得很清楚四条全是我踩的坑配置文件里一个字段没改对、两个配置文件撞了车、分包里那个加载页小游戏根本不认、还有个私有配置把公共设置给盖了。最扎心的是最后那句界面已全部改为 canvas 绘制1892 行代码整体重写。我看到这行沉默了一下。等于是把界面推倒重来了一遍。那时候我确实有点上火心想早知道一开始就直接说明要做的是小游戏哪有这些事。但坑也不是白踩的。转完之后整个渲染都变成了 canvas反而更干净——该有的东西全在一张画布上行为可预测多了。所谓弯路有时候是绕远有时候只是必须走。小程序后台——当时填了一堆资料后来才发现平台选错了八、第六步终于有游戏的样子了转成小游戏、bug 修掉一批之后那个晚上它终于像样了。首页、关卡选择、剧情、战斗一整套界面出来了。关卡选择——五个关卡一字排开脱颖而出勇斗大鹅斗场战鸡都市乱象激战动物园。前三关已通第四关亮着后两关锁着战斗画面是这样——横版战斗——左边红冠右边独眼斗鸡血条、经验条、攻击药水、无畏 buff 都在右下角是攻击和闪避按钮看着确实像那么回事了。我那种这大半天没白忙的感觉大概就是从这一屏开始的。​不过还有个问题音乐。初版用的背景音乐是让 AI 生成的那叫一个难听于是找了个无版权音乐网站让 AI 去里面找音乐很快它就把音乐找好让我做了一些选择后总算才对味。九、第七步和 bug 的持久战后面这一段是最磨人的反复试玩、反复记问题、反复修。不知道过了几轮对话框里密密麻麻全是这种记录。有一次光一个批量就修了七条涉及朝向、触控、资源、性能、界面布局微信开发者工具印象最深的是卡顿那条。它查了半天最后定位到一个特别隐蔽的地方战斗里每命中一下都要重新生成一次光效一秒钟几十次加起来就掉帧。改成实心圆叠加之后视觉几乎没差别流畅度立刻上来。这种 bug 光看代码是看不出来的得真的玩、真的卡才有可能被发现。那一刻我理解了为什么游戏公司要养一批专门的测试员——自己做的游戏自己玩是会下意识迁就的。最后我实在没辙了对 AI 说我要去睡觉了你接着修改并测试改到能玩为止。十、第八步上传收工当我醒来后第一时间去看电脑虽然还不完美至少已经可以玩了。于是我便把这个版本传到平台上去然后继续微调。至此从拍下那张作文到点了上传AI 用了不到24小时太惊人了我的2000积分也基本用完。最终版首页——红冠站在夕阳下的农场前面上面是标题下面是开始游戏一个爸爸用假期和 AI把女儿的作文做成了一款真能玩的游戏那个成就感实在让人满足。城市流浪结局插画——红冠戴着墨镜金链子挂胸前脚下一地金币两边蹲满了猫。有点中二但特别对味十一、尾声上传完没多久女儿来提交作业我故作镇定地跟她说你试试这个。她拿起手机看了两秒认出来了这是我的作文然后她就坐在那儿玩一关一关往下打。我在旁边假装看手机其实一直在瞄她的表情。第三关通关的时候她哇了一声第五关打输了又重来认真又高兴。玩了差不多十来分钟终于全部通关她高兴的把手机一放跑回房间正当我疑惑时她举着好几本作文本一把拍在我面前特别认真地跟我说爸爸你能把这里面的作文都做成游戏吗我晕。那个等下次有空余积分再说吧……

相关新闻

Flask+Vue实战:构建轻量快递物流管理系统的设计与实现

Flask+Vue实战:构建轻量快递物流管理系统的设计与实现

不需要主标题,直接从二级标题开始,这里应该直接从“## 1.”这类章节开始。数百年来,物流公司的调度员坐在电话前,扯着嗓子核对一票货到底在哪个中转站,快递员拿着小本本一笔一划登记签收,客户打爆客服电话问…

2026/10/9 8:03:29 阅读更多 →
UE5模型鼠标点击选中边缘高亮:材质、射线与状态管理全解析

UE5模型鼠标点击选中边缘高亮:材质、射线与状态管理全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 8:03:29 阅读更多 →
React Native 鸿蒙跨平台实战:宠物应用开发踩坑与落地指南

React Native 鸿蒙跨平台实战:宠物应用开发踩坑与落地指南

做这套“React Native 鸿蒙跨平台”的宠物应用,说实话一开始心里是没有底的。团队手里有一个已经跑了两年的 React Native 项目,安卓和 iOS 两头都有线上版本,要新增对鸿蒙生态的支持,最怕的不是写代码,而是“以为能直…

2026/10/9 8:03:29 阅读更多 →

最新新闻

降AI痕迹实战指南:手动改写与工具测评的全面对比

降AI痕迹实战指南:手动改写与工具测评的全面对比

1. 先说结论:为什么要折腾“降AI”这件事 以前大家写东西,是怕自己写得不够像“人话”。现在反过来了,满屏都是AI生成的文字,大家又开始拼命往回拉,希望文字能多点“人味儿”。我见过太多人拿到AI初稿后直接复制粘贴&a…

2026/10/9 8:30:18 阅读更多 →
JSP+Servlet+MySQL博客系统:从部署到代码改造的完整指南

JSP+Servlet+MySQL博客系统:从部署到代码改造的完整指南

简介:基于JSP、Servlet与MySQL构建的博客系统网站源码,面向Java Web初学者和需要快速搭建博客平台的开发者,涵盖用户注册登录、文章发布编辑、评论互动、分类检索、权限管理等常用模块,可直接部署学习或二次开发。压缩包共327个文…

2026/10/9 8:30:18 阅读更多 →
从netstat到内核源码:TCP状态机排查CLOSE_WAIT与TIME_WAIT的实战思路

从netstat到内核源码:TCP状态机排查CLOSE_WAIT与TIME_WAIT的实战思路

线上有一台服务,端口连接数报警,我用 netstat 一看,满屏的 CLOSE_WAIT 和 TIME_WAIT,顺手把系统参数里的 tcp_tw_reuse、tcp_fin_timeout 调了一圈,看似平息了。但过两天换了个端口,同样的问题又冒出来&…

2026/10/9 8:30:18 阅读更多 →
用Pygame从零实现打砖块游戏:游戏循环与碰撞检测实战

用Pygame从零实现打砖块游戏:游戏循环与碰撞检测实战

1. 为什么选择Pygame作为第一个游戏开发库先聊个可能会劝退不少人的事实:做游戏这行,门槛看起来很高,但真正把你卡住的,往往不是“不会写代码”,而是“不知道从哪儿下手”。图形引擎一大堆,Unity、Unreal都…

2026/10/9 8:30:18 阅读更多 →
鸿蒙Flutter应用Emoji渲染适配:从Unicode解析到文本增强实践

鸿蒙Flutter应用Emoji渲染适配:从Unicode解析到文本增强实践

前阵子我在鸿蒙设备上调试一款社交类Flutter应用,消息列表里一串串emoji直接渲染成“豆腐块”,有的干脆显示成方框加问号。查了半天发现不是网络问题,也不是数据库编码问题,而是系统字体和当前Flutter引擎对Unicode新emoji的覆盖跟…

2026/10/9 8:30:18 阅读更多 →
前缀和与前缀积:从LeetCode 724和238看数组累积思想

前缀和与前缀积:从LeetCode 724和238看数组累积思想

1. 为什么要用“前缀和”解数组题这套题单把“寻找数组的中心下标”和“除自身以外数组的乘积”放在一起,编号分别是27和28,对应到LeetCode上就是第724题和第238题。两道题表面上一个在数组里找位置,一个在算乘积,乍看没啥关联&am…

2026/10/9 8:29:17 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →