下载 App

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

7 小时前7 浏览综合
各位好,这是一篇开发日记,记录一下最近这段时间我们在底层做的几件事。
一、当前进度
项目已实装唐朝篇的核心系统:具名人物档案、师徒羁绊、天下学宫榜、季节轮转、情绪化UI、案头文书、科举三层、田产经营等。当前版本 v0.4.25,可完整试玩。
二、这段时间主要干了三件事
1. 把移动端交互重新做了一遍
之前积累了一批操作问题:命名界面点不动、键盘弹起后按钮被吞、刘海屏挡按钮、快速连点界面会剧烈抖动。逐一排查后发现原因各不相同:
· 命名界面是流程状态机漏了一个赋值,导致“下一步”点完只在原地重建。
· 键盘弹起时,按钮的点击事件被“点击空白收键盘”的逻辑抢先了。解决方案是让按钮在 pointer-down 阶段就执行,不等失焦流程。
· 刘海屏遮挡是因为安全区适配只改了固定按钮,没管临时浮层。现在所有浮层都挂到安全区容器内。
· 界面抖动是多个 UI 重建请求同帧打架,加上气泡尺寸不固定导致的。加了同帧合并、300ms 点击冷却、气泡固定尺寸,基本解决。
2. 修复了一系列深层 Bug
顺手挖出来好几个玩家不一定能碰到、但迟早会炸的问题:
· “光学钱”事件读档后数据损坏,选项数组变空。
· 行动结果面板队列没入档,读档后只能看到第一条。
· 榜单数据读取的是开局快照,和主界面不一致。
· 同帧多条提示互相覆盖,只剩最后一条显示。
· 天下学宫榜前三名奖牌独占一列,把生源列挤出了可视区。
· 新建存档后立刻读档,因为文件系统还没刷新,提示“空存档位”。
3. 拆代码 + 定位了一个引擎层的内存问题
main.lua 原来有1497行,拆成了5个模块(启动/会话/菜单/调度/入口),现在最大文件不到1200行,加载依赖无环。
然后做内存排查时发现一个硬骨头:反复重建界面,每次大约有100KB的堆增长。用二分法一层层排除,最后定位到是引擎UI库在渲染“短文本Label”时,每次实例化会累积约4.2KB的文本度量数据。长文本不触发,短文本触发。
这个属于引擎内部行为,项目层改不了。我们试过定宽、改对齐方式、包容器,全部无效。目前采取的缓解措施是:合并同帧重建、加点击冷却、去掉气泡过期后的无效重建,把重建次数压到最低。同时已把这个问题反馈给了引擎方。
三、后续计划
下一步做“校舍自由营造”,让玩家能亲手建造讲堂、斋舍、膳堂、藏书阁等设施,并实现设施之间的联动。
四、附
· 项目当前可试玩,包含完整的开局流程、回合推进、科举、事件和存档。
· 已产出五时代版本规划卷轴海报、UI重构对比图、人物档案卡及放榜弹窗截图。
感谢阅读,会继续更新。
别再烧积分了!从每次 2000 到每次 50 的血泪经验截图
别再烧积分了!从每次 2000 到每次 50 的血泪经验
适用场景:所有在用 TapTap Code 开发游戏的小白 难度:★☆☆☆☆ 背景最近群里总有人"炫耀"一次操作花了几千积分,说实话这不是值得高兴的事——这是在告诉所有人你的开发方式有根本性问题。我也走过这条弯路,所以来说说怎么改。 积分消耗的本质是什么积分 = AI 处理的 token 数量 = 你发给 AI 的内容 + AI 回给你的内容所以烧积分的本质只有两种: 你让 AI 做了大量无效/重
精华
68 赞
21 回复
零基础做游戏⑨商店简介+开发者的话怎么写截图
零基础做游戏⑨商店简介+开发者的话怎么写
同样的游戏,有的人简介看完直接下载,有的人看完直接退出。 前面1‑8期我们已经搞定:从零做游戏、修BUG、省积分、规避侵权、上架过审、封面截图优化,掌握了TapTap自然流量基础。 本期第九期:商店简介&开发者的话,决定玩家会不会点下载按钮。 很多开发者踩坑:封面截图已经做好,但是商店文案写得一塌糊涂。 玩家点进商店页,扫一眼简介,3秒内没抓住亮点,直接划走,再好的画面也白费。 两
1 赞
创作资源申请,荒岛避难所截图
创作资源申请,荒岛避难所
申请积分计划三。末日荒岛避难类型的,玩家需要自己求生,攒了资源循环修起来后,可以收留更多幸存者,派遣幸存者种植,采集,探索,做菜等等。还有很多需要完善的功能,修bug维护需要积分。 https://maker.taptap.cn/shares/q1e62v
5 赞
1 回复
《狗狗家园建设者》 一款治愈又上头的放置经营游戏,现已上线!截图
《狗狗家园建设者》 一款治愈又上头的放置经营游戏,现已上线!
你是否也幻想过——如果狗狗有自己的世界,会是什么样子? 是热闹的小狗窝,是香气四溢的大食堂,还是摇着尾巴上课的狗狗学院? 现在,这一切都在我的新作 《狗狗家园建设者》 里变成了现实!🎉👉 一款治愈又上头的放置经营游戏,现已免费上线! 🦴 点击→建造→繁荣:零门槛的快乐循环游戏从一根骨头开始。点击屏幕上的大骨头,积累资源,建造第一座「小狗窝」——它会自动为你产出骨头。很快,你会解锁训练场、狩猎小队、
2 赞
1 回复
【游戏上新】赛博忍刃切水果截图
【游戏上新】赛博忍刃切水果
赛博忍刃 / Cyber Slash 在霓虹闪烁的赛博空间中,用指尖划破黑暗,切割飞舞的数据体,成为最强数据黑客。 游戏简介 赛博忍刃是一款赛博朋克风格的 3D 切割动作游戏。玩家在深邃的数字空间中,通过滑动手指或鼠标切割从屏幕底部抛射而出的各类数据体——它们沿切割方向分裂为两半,带来极致的爽快手感与视觉冲击。 游戏拥有 12 种造型各异的数据体、需要 5 刀才能击碎的大型 MegaMelon、以
5 赞
1 回复
【游戏上新】——宅男打丧尸截图
【游戏上新】——宅男打丧尸
这是一款横向俯视角射击生存游戏,主打"轻松上手、越玩越爽"的爽快体验。游戏目前已包含: 四种核心模式:挑战、防守、生存、无尽,满足不同玩家口味 多种枪械,从手枪到重型火力,打出自己的风格 地雷,手雷,枪架多种不同军火自由选择,给敌人造成最大伤害 完整的成长体系:角色等级、军火系统、被动技能,越肝越强 丰富的敌人设计:普通丧尸到多种 Boss,战斗层次感明显 未来会制作更多不同的角色,天赋,军火,玩
4 赞
12 回复
如何提升你游戏中的UI美术水平截图
如何提升你游戏中的UI美术水平
一、请为你的游戏挑选一款合适的字体 很多开发者没有注意到其实UI界面中最重要的元素是字体,一款合适的字体能给整个游戏的界面感官带来蜕变。 请看案例 那么如何挑选适合自己的字体呢? 我总结出了一些小经验可供参考: 黑体:通用 宋体:古风、武侠、修仙 楷体:古风、武侠、修仙 圆体:卡通、动漫、Q版 科技:科幻、未来、电子 顺手分享一个免费可商用字体网站: 当然 如果你不知道自己的游戏适合什么风格
精华
123 赞
44 回复
03:06
为了不被斩杀,我只能做到这些了截图
为了不被斩杀,我只能做到这些了
之前一直申请不到计划3,之前说太花哨,后面说体量完成度不足,在我一番小作文下,编辑终于给了我解答,什么原生质感,玩家开局体验啥的。 本来计划2也够用,准备以后再优化了,结果计划2赠送的积分要砍半了,学生党实在消费不起,于是只能再冲一波计划3了 从周六中午到现在一天半时间,优化了一遍角色卡,战斗卡,还有抽卡界面,优化了新手教程,该说不说确实比之前要舒服些。 前半部分为新版,后半部分为旧版。 明天再次
37 赞
6 回复
开发心得-界面布局心得截图
开发心得-界面布局心得
大家好,我正在用 TapTap 制造制作一款2D 治愈林间徒步旅行游戏《徒步荒野》。 我分享一下我的开发心得,希望能有用,下面是一些界面布局的心得。 第一步:定版式、操作 先确定游戏是横版还是竖版、需要哪些操作按钮,敲定整体玩法思路。 我的玩法灵感参考《边境之旅》,主打散步看风景、沿途触发随机事件。 原版是 3D,考虑到自己是新手,选择2D 横版街机式来做,制作更简单、好上手。 第二步:敲定全局美
6 赞
3 回复
第一款嘎啦给木《星辰之约》现已上线截图
第一款嘎啦给木《星辰之约》现已上线
游戏介绍 在大学图书馆里,你偶然发现邻座女生用课本遮着手机偷偷打音游。 她叫苏晚 曾经的 maimai 全国前十、KOP 赛区第三,一个因为腱鞘炎被迫隐退的传奇玩家。 从街机厅的并肩打歌到天台的星空对话,你将走进她的世界:热血的 KOP 赛事记忆、VUP 直播的全新可能、虚拟歌姬的浪漫旋律……每一次选择都会改变她的命运。 是陪她重返赛场,还是一起寻找音游之外的答案? 7 章剧情 · 7 次抉择 ·
5 赞
1 回复