下载 App

【#开发日记】从UI到内存的深度优化记录

09/1417 浏览
各位好,这是一篇开发日记,记录一下最近这段时间我们在底层做的几件事。
一、当前进度
项目已实装唐朝篇的核心系统:具名人物档案、师徒羁绊、天下学宫榜、季节轮转、情绪化UI、案头文书、科举三层、田产经营等。当前版本 v0.4.25,可完整试玩。
二、这段时间主要干了三件事
1. 把移动端交互重新做了一遍
之前积累了一批操作问题:命名界面点不动、键盘弹起后按钮被吞、刘海屏挡按钮、快速连点界面会剧烈抖动。逐一排查后发现原因各不相同:
· 命名界面是流程状态机漏了一个赋值,导致“下一步”点完只在原地重建。
· 键盘弹起时,按钮的点击事件被“点击空白收键盘”的逻辑抢先了。解决方案是让按钮在 pointer-down 阶段就执行,不等失焦流程。
· 刘海屏遮挡是因为安全区适配只改了固定按钮,没管临时浮层。现在所有浮层都挂到安全区容器内。
· 界面抖动是多个 UI 重建请求同帧打架,加上气泡尺寸不固定导致的。加了同帧合并、300ms 点击冷却、气泡固定尺寸,基本解决。
2. 修复了一系列深层 Bug
顺手挖出来好几个玩家不一定能碰到、但迟早会炸的问题:
· “光学钱”事件读档后数据损坏,选项数组变空。
· 行动结果面板队列没入档,读档后只能看到第一条。
· 榜单数据读取的是开局快照,和主界面不一致。
· 同帧多条提示互相覆盖,只剩最后一条显示。
· 天下学宫榜前三名奖牌独占一列,把生源列挤出了可视区。
· 新建存档后立刻读档,因为文件系统还没刷新,提示“空存档位”。
3. 拆代码 + 定位了一个引擎层的内存问题
main.lua 原来有1497行,拆成了5个模块(启动/会话/菜单/调度/入口),现在最大文件不到1200行,加载依赖无环。
然后做内存排查时发现一个硬骨头:反复重建界面,每次大约有100KB的堆增长。用二分法一层层排除,最后定位到是引擎UI库在渲染“短文本Label”时,每次实例化会累积约4.2KB的文本度量数据。长文本不触发,短文本触发。
这个属于引擎内部行为,项目层改不了。我们试过定宽、改对齐方式、包容器,全部无效。目前采取的缓解措施是:合并同帧重建、加点击冷却、去掉气泡过期后的无效重建,把重建次数压到最低。同时已把这个问题反馈给了引擎方。
三、后续计划
下一步做“校舍自由营造”,让玩家能亲手建造讲堂、斋舍、膳堂、藏书阁等设施,并实现设施之间的联动。
四、附
· 项目当前可试玩,包含完整的开局流程、回合推进、科举、事件和存档。
· 已产出五时代版本规划卷轴海报、UI重构对比图、人物档案卡及放榜弹窗截图。
感谢阅读,会继续更新。
【新游上线】末日100天截图
【新游上线】末日100天
大家好,我们是《末日100天》的开发者Paul~ 这是一款围绕「生存-经营-轮回」展开的废土策略小游戏:白天分配 3 点行动力经营据点,夜里迎接十天一循环的尸潮,每张地图第 100 天还有一场首领战等着你。五张地图、五大区域机制、可继承的轮回遗产,以及钻石商城里的抽奖机——我们希望每次重开都有一点点新意。 以下是游戏简单介绍: 1.游戏背景 废土历元年,未知病毒席卷全球,城市化为死地。幸存者们退守
9 赞
6 回复
别再烧积分了!从每次 2000 到每次 50 的血泪经验截图
别再烧积分了!从每次 2000 到每次 50 的血泪经验
适用场景:所有在用 TapTap Code 开发游戏的小白 难度:★☆☆☆☆ 背景最近群里总有人"炫耀"一次操作花了几千积分,说实话这不是值得高兴的事——这是在告诉所有人你的开发方式有根本性问题。我也走过这条弯路,所以来说说怎么改。 积分消耗的本质是什么积分 = AI 处理的 token 数量 = 你发给 AI 的内容 + AI 回给你的内容所以烧积分的本质只有两种: 你让 AI 做了大量无效/重
精华
69 赞
21 回复
[开发者日志Day1]截图
[开发者日志Day1]
#聚光灯gamejam开发者日志 #TapTap聚光灯独立游戏 #发现好游戏 大家好,我是《乱世酒楼》的开发者滚滚 本次聚光灯 GameJam,我们团队立项开发一款无固定剧本、纯涌现叙事的乱世酒楼经营游戏。 我们准备制作一款乱世之下的模拟经营类游戏,没有想到仅一天的工作能有这么大的进展 一、今日会议结论 涌现型游戏设计理念 世界观与背景设定 核心玩法与系统设计 美术风格与开发工具 后续工作计划
3 赞
1 回复
03:06
为了不被斩杀,我只能做到这些了截图
为了不被斩杀,我只能做到这些了
之前一直申请不到计划3,之前说太花哨,后面说体量完成度不足,在我一番小作文下,编辑终于给了我解答,什么原生质感,玩家开局体验啥的。 本来计划2也够用,准备以后再优化了,结果计划2赠送的积分要砍半了,学生党实在消费不起,于是只能再冲一波计划3了 从周六中午到现在一天半时间,优化了一遍角色卡,战斗卡,还有抽卡界面,优化了新手教程,该说不说确实比之前要舒服些。 前半部分为新版,后半部分为旧版。 明天再次
45 赞
9 回复
02:58
《安全区之外》大更新!截图
《安全区之外》大更新!
本次更新增加了很多内容。 1.天赋系统:玩家可以抽取一个天赋,每个玩家都发放10个天赋石,可以重新抽取天赋。 2.玩家模型:四个职业有不同的形态。 3.职业被动:战士普攻概率重击并击退周围敌人,概率获得护盾,护盾被打碎或消失会击退周围敌人;刺客普攻概率闪现到敌人面前攻击后再闪现回原来位置,概率原地留下影分身,影分身持续短暂时间后向周围劈砍;弓手:普攻概率2连发,概率3连发,概率穿透敌人,对直线上的
4 赞
【水穷处·开发日志01】Day 1:先修一条被落石截断的路截图
【水穷处·开发日志01】Day 1:先修一条被落石截断的路
21 天挑战开工了。 游戏叫《水穷处》名字取自王维那句"行到水穷处,坐看云起时"——路走到尽头,反而是另一段故事的起点。这句诗,就是我们这一整局的样子。 【这一局讲什么?】 一天的迁徙,六个灾时。河东村出发,山道被落石截断;渡口运力有限,同行的人与行装都在等你拿主意。改走哪条路、先做什么、暂缓什么——没有标准答案,但你排下的每一步先后,都会长出属于你这一局的结果。 【为什么这算"涌现"?】 本届主
3 赞
开发心得-界面布局心得截图
开发心得-界面布局心得
大家好,我正在用 TapTap 制造制作一款2D 治愈林间徒步旅行游戏《徒步荒野》。 我分享一下我的开发心得,希望能有用,下面是一些界面布局的心得。 第一步:定版式、操作 先确定游戏是横版还是竖版、需要哪些操作按钮,敲定整体玩法思路。 我的玩法灵感参考《边境之旅》,主打散步看风景、沿途触发随机事件。 原版是 3D,考虑到自己是新手,选择2D 横版街机式来做,制作更简单、好上手。 第二步:敲定全局美
6 赞
3 回复
《狗狗家园建设者》 一款治愈又上头的放置经营游戏,现已上线!截图
《狗狗家园建设者》 一款治愈又上头的放置经营游戏,现已上线!
你是否也幻想过——如果狗狗有自己的世界,会是什么样子? 是热闹的小狗窝,是香气四溢的大食堂,还是摇着尾巴上课的狗狗学院? 现在,这一切都在我的新作 《狗狗家园建设者》 里变成了现实!🎉👉 一款治愈又上头的放置经营游戏,现已免费上线! 🦴 点击→建造→繁荣:零门槛的快乐循环游戏从一根骨头开始。点击屏幕上的大骨头,积累资源,建造第一座「小狗窝」——它会自动为你产出骨头。很快,你会解锁训练场、狩猎小队、
2 赞
1 回复
【作品分享】做了款《心动恋综模拟器》截图
【作品分享】做了款《心动恋综模拟器》
大家好,我是秋夜海棠,最近一个人在用 TapTap Maker 做《心动恋综模拟器》。折腾了好一阵,来论坛交一份作业,也想找些同样喜欢恋综和剧情游戏的朋友聊聊。 游戏从搬进海岛小屋开始。一起吃饭、聊天、约会,晚上再想想,那条心动短信究竟要发给谁。十三天相处下来,有人会越来越近,也有人聊得很好,最后还是没走到一起。 目前可以选择不同的男女主角体验。除了主线剧情,也能换穿搭、在小岛上找人单独相处,发朋
TapTap制造新手攻略③截图
TapTap制造新手攻略③
✨系列攻略: ①零基础入门,快速做出第一个Demo ②提示词写法、节约额度、基础预览使用 ③【本期】游戏立项规划,拒绝项目烂尾 ④预告:UI设计与美术素材工作流 很多小伙伴看完前两期,已经可以用嗒啦啦生成游戏界面。 但绝大多数人都会遇到同一个难题:脑子里想法天马行空,一股脑丢给AI全部生成。到最后系统堆得杂乱臃肿,BUG越修越多,项目直接烂尾搁置。 本期不讲报错、不教改代码,聊聊动手做游戏
6 赞