本月发布,独立开发完成。未使用Unity或Godot——iOS端用SwiftUI,Android端用Kotlin/Compose,两套原生代码库加一个Lambda后端。
这是《战舰》的飞机变体,很多人学生时代在方格纸上玩过:10x10网格中藏有三架飞机,每架只有一个驾驶舱格子。击中机身能判断飞机朝向;击中驾驶舱则整架飞机一击毙命,无论剩余部分还有多少。
我严重低估了实时对战(而非回合制)的实现难度。双方玩家同时身处网格并随时开火,没有明确的回合界限来分配裁决权。两发子弹可能在同一帧落地。中途重连、玩家将应用切到后台、尚未超时的死套接字——所有情况都必须坍缩成一个公认的棋盘状态,否则对局不同步,双方玩家都会退出。只有"服务器权威+客户端预测"的方案能扛住。我重写了三遍。
另一个错误:我先做了单人模式,之后才硬塞进多人功能。千万别这么做。数据模型全程都在跟你作对。
设计、规则以及场生成与计分背后的数学原理均为我原创。美术和音乐由人类完成。在应用代码的部分环节,我确实使用了AI作为编程助手——事先说明,因为这里总被问起。
如果还有人在做移动端实时对战,欢迎在评论区讨论网络代码。免费下载(iOS和Android):https://bomberzboard.com
评论 (0)