下载 App

开发日志#2

修改于1 小时前3 浏览
一、本轮目标
沿线房屋上色,去掉通体惨白
单股道改双股道,配双站台、双列车
到终点后可倒车返回,并再次前进
修复终点弹窗无法退出的死锁
二、场景与世界
world/Platform.lua:导出双线横断面常量 AI_LANE_OFFSET=-5.6、CORRIDOR_CENTER_X=-2.8、TUNNEL_HALF_WIDTH=10.4;Get() 支持左侧站台
world/Track.lua:双股道所有构件合入原五组模板(轨头/轨底/道床/轨枕/扣件),不新增 drawables;补偿曲线外侧轨弧长
world/Tunnel.lua:隧道净宽 20.8m、中心 x=-2.8;新增第二站台、两侧棚顶与挡墙;两条接触线
world/Surface.lua:加宽桥面、地形与接触门架;新增 AI 接触线;房屋顶点色改为砖红/青绿/蓝/暖黄
world/TrainModel.lua:新增第 4 参 options { laneOffset, exteriorOnly, name } 与 SetDoorAmount(amount, side)
横断面:-13.2 墙 | -10.12…-7.12 AI站台 | -5.6 AI轨 | 0 玩家轨 | 1.52…4.52 玩家站台 | +7.6 墙
三、AI 列车(新增 world/Traffic.lua)
自动选用与玩家不同的已有车型,不新增美术素材
独立里程/速度/停站时序,不进入玩家奖励、存档、ATP、乘客系统
起点前方约 280m 对向驶来,逐站停靠、开门、关门、发车,两端折返
独立声源:电机脉冲 / 钢轨滚动 / 鸣笛,按观察点距离衰减 + 左右声像
玩家站序变化且距离 <100m 时排队一次招呼笛,带 12s 冷却与去重
接口:Step(dt, playerPhysics, playerStationIndex) 每仿真子步;UpdateView(…) 每渲染帧一次
四、往返驾驶
core/Journey.lua(新增):方向感知的站序与停车目标;ResetLeg 重置当前方向已服务站点;Continue 解除终点驾驶锁定
Game.lua:新增 ContinueDriving(reverse);GetNextStation / GetStopTarget 接入 Journey;开门对标独立用 _stationBegunDist;终点到达改为按方向端站判定;修正 missedStations 与运营里程口径
core/Signaling.lua:ATP/ATO 全链路方向化(允许速度、所需减速度、坡道分力、停车标、线路端点)
core/Boarding.lua:BeginStation(index, direction),终点/始发语义随行驶方向切换
core/TrainPhysics.lua:bodyDirectionSign —— 倒车只改牵引方向,不翻转整列编组
world/Passengers.lua:离站时清除旧候车队列并重置预载标记,修复返程到站后无法关门发车
五、终点弹窗修复(死锁根因)
原实现把「漏停站、任务未完成」也当成「保存失败」,两个按钮都反复重试同一份成绩,永远不关闭。
ui/ResultPanel.lua(新增):结果浮层独立模块;区分业务未达成与真实保存失败;三按钮 确认 / 倒车返回 / 返回主菜单;仅合法完整运营才提供独立「重试保存」;奖励领取失败不阻止导航
main.lua:结果显示期间冻结物理;ShowOverlay 成功后才置 _resultShown;结果弹窗期间屏蔽 ESC 叠层
ui/Common.lua:ShowOverlay 的 position=“fixed” 改为 absolute(Yoga 不识别 fixed,会排到 HUD 下方一屏),并使用实际 viewport 数值宽高
ui/DriveHud.lua:启动按钮改为 arrived and not freeDrive 才置灰,否则确认/倒车后手机端无法再次发车
原则:业务不合格不发奖励、不写盘,但可以关闭;只有真实完整运营而未保存,才提供单独重试。
六、类型修复(LSP Error 45 → 0)
core/Config.lua:LineDef 补 groundY / planRunSeconds,声明 SceneryConfig
world/Passengers.lua:补方法契约;分隔相邻 @class 块
world/Track.lua、world/Traffic.lua:分隔连续 @class 注释,恢复正确 self 推导
ui/Screens/Garage.lua、world/CameraRig.lua、core/Route.lua:补齐来源类型
未使用任何诊断禁用或大范围 any。
七、验收结果
quick(UI + AI + 房屋色 + 双站台几何):断言 65/65 通过,原始 runtime 通过,错误 0
连续真实 Game 往返驾驶:断言 19/19 通过,原始 runtime 失败仅 2 次帧尖刺,Lua/resource 错误 0
ui-extra(完整运营 + 保存失败 + 重试):断言 39/39 通过,原始 runtime 失败仅 4 个精确预期 Rename 错误,Lua/resource 错误 0
合计 123 项断言通过,LSP Error = 0,官方 build 成功。
往返驾驶实测数据:
连续 Game.Update(0.1) 共 20,438 次,正向 9 站 + 反向 8 站全部真实开门对标
反向最大对标误差 0.039 m,正向 0.054 m
返回始发站:里程 -0.0097 m、速度 0、门开、车内 0 人、门区无滞留
FinishRun 回调全程仅 1 次,无重复发奖
未覆盖 / 边界:
Linux 软件渲染存在已知 PBR shader link 异常(引擎侧),实际画面与音效听感需在设备预览确认
验收使用 -nosound,音频以源播放状态、gain、frequency(Hz) 断言,不代表听感
所有 Progress 真实 File 事务已隔离到 screenshots/rail-update/,未触碰玩家存档
验收脚本位于 scripts/validation/RailUpdateValidate.lua(非游戏运行时代码)#聚光灯gamejam开发者日志
别再烧积分了!从每次 2000 到每次 50 的血泪经验截图
别再烧积分了!从每次 2000 到每次 50 的血泪经验
适用场景:所有在用 TapTap Code 开发游戏的小白 难度:★☆☆☆☆ 背景最近群里总有人"炫耀"一次操作花了几千积分,说实话这不是值得高兴的事——这是在告诉所有人你的开发方式有根本性问题。我也走过这条弯路,所以来说说怎么改。 积分消耗的本质是什么积分 = AI 处理的 token 数量 = 你发给 AI 的内容 + AI 回给你的内容所以烧积分的本质只有两种: 你让 AI 做了大量无效/重
精华
74 赞
23 回复
开发者日志04截图
开发者日志04
开发者日志04 依旧同步一下我们的美术 已经到赛程中后期了,大家都在全力加速中啊,我们参赛版的文案设定已经完善得大差不差了。策划发力了! p1是新场景的道具 p2是新场景但是道具还没整完。。 美术的话我还是有很多场景和道具的灵感想画的,就是我搓得实在是太太太慢了。 希望我们最后的参赛版都能有我想呈现的场景。 还有就是造字给我造脑雾了。。 还有6天希望我们能做到! (昨天在xhs上发了忘记在
《梦之萌:壹》|我的梦境塔防做出原型截图
《梦之萌:壹》|我的梦境塔防做出原型
#开发日记 #塔防游戏 #原创游戏 一直很喜欢有氛围、有故事的塔防游戏,心里也悄悄构思了很久属于自己的小游戏。 我想打造一个独特的梦境世界,以梦境为舞台,那些细碎难言的情绪,都会化作闯入梦境的梦魇。玩家搭建防御塔守护的不止是游戏基地,更是一场纯粹又易碎的美梦。 为了把心里的画面落地,我在最开始创作时就用心打磨,初版就手写了一万多字的完整构想。从世界观剧情、关卡氛围,到美术风格、动画细节、
【重启绿洲】开发日志02|美术篇:荒漠植物图鉴解析截图
【重启绿洲】开发日志02|美术篇:荒漠植物图鉴解析
#聚光灯gamejam开发者日志 #发现好游戏 #游戏日常 各位新玩家好,欢迎来到荒漠。 书接上回:沙漠,只是因为缺水吗?我们会顺着这个问题,讲讲游戏里地块属性是怎么设计的;再带大家认全八种荒漠植物,说说它们各自的效果和用途;最后聊聊永远让人操心的天气与灾害。 一、沙漠,只是因为缺水吗? 很多人第一反应是:沙漠等于缺水。这个答案只对了一半。 降水稀少确实是荒漠的底色,但真正让生命寸步难行的,是缺
1 赞
03:06
为了不被斩杀,我只能做到这些了截图
为了不被斩杀,我只能做到这些了
之前一直申请不到计划3,之前说太花哨,后面说体量完成度不足,在我一番小作文下,编辑终于给了我解答,什么原生质感,玩家开局体验啥的。 本来计划2也够用,准备以后再优化了,结果计划2赠送的积分要砍半了,学生党实在消费不起,于是只能再冲一波计划3了 从周六中午到现在一天半时间,优化了一遍角色卡,战斗卡,还有抽卡界面,优化了新手教程,该说不说确实比之前要舒服些。 前半部分为新版,后半部分为旧版。 明天再次
44 赞
9 回复
【开发日志 6|存档系统:我踩过的坑】截图
【开发日志 6|存档系统:我踩过的坑】
养成游戏最怕什么?不是 bug,是玩家说一句"我的进度没了"。所以存档这块,我几乎是靠一次次线上问题堆出来的。 现在的架构是两层:本地双槽备份 + TapTap 云存档。游戏内任何资产变动(纸币、蛋、成鸟、鸟群配置)只发一个事件"标脏",由统一管理器做 0.35 秒防抖合并写盘,30 秒一个云端检查点,切后台、退出时立即补一次。目的是防两件事:频繁 IO,和在途写入被中断写坏。 听起来简单,实际翻
熬夜2个月游戏从0做到了1,又从1回到了0截图
熬夜2个月游戏从0做到了1,又从1回到了0
8月26日,我不懂编程,不懂设计,从0开始手搓一款回合制挂机游戏。 10月14日,快两个月了,功能全部实现。总算实现了从0-1的过程。 阶段手测还算正常,今天信心满满全栈手测,惊喜地发现,实现过程从1回到了0[表情_豹哭] 因为之前用AI配的底层数值写死了,所有装备和技能要推倒重做。 熬夜1-2个月,实现了从0-1-0的闭环。 看着屏幕,不知道是坚持还是放弃。 大家遇到这种努力全白费的情况,是怎么
1 赞
开发者日志,1截图
开发者日志,1
开发者日志 一、大厅界面调整 恢复原来的两行三列实景卡片布局,保留六个功能入口。 修复手机横屏下第二排卡片被底栏遮挡的问题,并适配安全区。 保留“继续上次”、地铁币余额、车库和任务等现有功能,没有更换界面风格。 二、地下隧道修复 修复隧道墙面和顶板朝向错误,避免从内部看到外部天空。 进入地下后关闭蓝天白云和天光,保留灯带及局部照明。 环境切换根据实际镜头位置判断,避免车头已经出洞、车尾镜头仍在地下
3 赞
2 回复
邹家谜案开发者日志3截图
邹家谜案开发者日志3
今日是真正的关关难过关关过,终于熬过了主美跑路的阵痛期,分享一下大佬画的人物图嘿嘿嘿嘿嘿嘿,其他的雷霆场景也在绘制中,我们根据组内美术生产力探索创新出了:ai概念图+场景初版线稿+修改+ai上色的工作流,可谓田忌赛马式的发挥优势,但让我画人物的凝柒画场景确实有够煎熬的 辛苦了🙏🏻组织不会忘记你的贡献 编剧和程序出完了第二幕剧本和程序原型,还有一章急急急急急急急急! 明天学校a测,希望能有些有意义的
开发日志2 玩法原型验证与方案调整《左轮牌:铸弹师》截图
开发日志2 玩法原型验证与方案调整《左轮牌:铸弹师》
设计内容简述 核心机制 元素反应规则 网格战场 原型边界 基于网格战场的UI交互(激活规则,相邻反应,各元素的特殊规则) 元素反应规则验证(4元素 数值的相克相生,相生的类型转化) 机制效果验证(4元素对应1机制) 设计目标 通过元素反应+网格战场的组合规则,涌现出有趣惊艳的策略组合,从而强化可玩性和设计创新程度 工作流程与产物 开发流程 使用WorkBuddy完善设计文档,并整合为交付包,补足