周三下午三点,一个程序员在终端敲下 make build-ios,把自家庆祝夏至的疯狂小游戏塞进了 iPhone 里。这不是什么大厂大作,只是一场六月份的游戏制作活动,主题是仲夏节。作者的想法很直白:既然手里有锤子,看什么都像钉子。于是 Flutter 框架这柄锤子挥下去,一个能跑在 iOS 上的完整应用就砸了出来。

项目的目的很简单——复现瑞典仲夏节的神秘氛围,顺便赶在臭鲱鱼罐头季献上一份“移动版”仪式感。之前作者已经折腾过网页版和安卓版,这一次用 Xcode 配合 Flutter 把整套代码编译成了 iOS 应用,还顺手修了几个摇杆的 bug。

打开网易新闻 查看精彩图片

游戏真正的狠活藏在关卡设计里,五张地图每一关都像瑞典社会观察切片,透着一股“我就爱吐槽”的气息:

第一关,宜家仓库。你面对的是一群抱着平板包装、朝你猛扔盒子的购物者。拥挤、杂乱、飞来的家具组件,完美复刻每个人在迷宫货架间的狼狈记忆。

第二关,Systembolaget 酒局——那是瑞典国营的卖酒商店。画面里全是醉醺醺的瑞典人踉踉跄跄,朝你扔绿色啤酒瓶。酒精管制与集体买醉的场景被做成弹幕弹幕的投掷物,讽刺感拉满。

第三关,Lördagsgodis 糖果星期六。瑞典家庭传统每周六才给孩子买糖,于是画风突变,一群过度亢奋的小孩疯狂投喂糖果弹幕,你要在糖分冲击波里求生存。

第四关,瑞典酒吧。Frank Zappa 的粉丝们大合唱《Bobby Brown》,一边吼叫一边发射发光的字母 B、O、B、B、Y。音浪和字母弹幕搅在一起,关卡变成了一场混乱的卡拉 OK。

第五关,沃尔沃高速公路。这是一个需要横穿马路的生存关卡,作者留下了一句悬念:“我的越橘正在成熟——开工吧。”越橘还没摘完,路还要继续闯。

怎么把这东西部署到 iPhone 上?前提是一台近年的 Mac,装好 Xcode 和 Flutter。项目里附带了 Makefile,make build-ios 即可编译出无签名的 iOS 应用。整套环境看着就像任何一位独立开发者的日常:~/midsommer-flutter 目录下躺着源码,终端里 make help 打印出所有可用命令——开发、编译、安装、清理,甚至还有个 logcat 监控日志。没有花哨的 CI,没有复杂的证书,粗暴直接。

一个从网页游戏长出来的小玩意儿,经历了安卓版本,最终在 Flutter 里成型,穿上 iOS 的外衣。它不准备改变世界,只是用宜家购物者、酒鬼和糖果小孩把瑞典夏至的味道塞进手机。你想吐槽关卡设计过于接地气,却又忍不住想试试在 Systembolaget 的啤酒瓶雨中能撑几秒。这大概就是独立开发最痛快的时刻:把本地梗做成游戏,然后扔到应用列表里,等某个同好在瑞典的极昼里笑得停不下来。