首页 › games › 《littlekt》WebGPU早班车,Kotlin给你留座

先说清楚它踩在哪条时间线上。WebGPU是浏览器新一代图形接口,2023年起Chrome率先默认启用,Firefox和Safari随后跟上,到今天主流浏览器基本铺完。这事对普通人是新闻,对做网页游戏的人是换季:过去十年“网页游戏=廉价小游戏”的等式,是被WebGL的性能天花板焊死的;现在天花板掀了,谁先把2D工作流搬到WebGPU上,谁吃到画质和性能的第一波红利。littlekt就是那个提前打包行李的人——而且是以个人开发者之力打包的。

仓库档案

先划清一个界限:本栏目之前写过Java跨平台引擎LGame,那条故事是“一个人扛了十几年”;littlekt是另一个物种——它不背历史包袱,直接押注WebGPU这个新变量,赌的是“下一代网页游戏需要下一代地基”。两篇文章读下来你会发现,跨平台这门生意的答案在换:上一代拼的是“哪里都能跑”,这一代拼的是“新平台上别人还没跑”。

这游戏是什么

littlekt本身不是游戏,是2D游戏的“整车架”:发动机(WebGPU渲染)、轮子(精灵批处理)、方向盘(输入抽象)、仪表盘(场景管理)都装好了,你往上装什么车身——横版闯关、弹幕射击、跑步者、塔防——随你。所以要理解它能承载什么,最好的办法是想象用它做出的一款典型街机小游戏,看玩家的核心循环长什么样:

flowchart TD
    A["开局:一局60到180秒"] --> B["操作:移动 跳跃 射击"]
    B --> C["系统反馈:碰撞 粒子 屏幕震动"]
    C --> D{"碰撞判定"}
    D -->|"存活"| E["积分 掉落 难度抬升"]
    E --> B
    D -->|"中弹"| F["一击死 结算分数"]
    F --> G{"破纪录了没?"}
    G -->|"就差一点"| H["再来一局"]
    G -->|"破了"| H

这个循环图里每一格,littlekt都有对应零件:B格是输入抽象——键盘、鼠标、触屏统一成一套事件;C格是精灵批渲染加粒子加补间动画,打击感的视觉层全在这;E格是场景管理和资源异步加载,难度曲线和掉落物只是你写的几行配置;F格一击死之后的结算界面,本质是几个UI控件加一个存档读写。框架的存在意义就是让你把时间全部花在“这条曲线怎么爬、掉落表怎么配”这种真正影响上头感的决策上,而不是花在“为什么我的精灵闪烁了”这种渲染底层bug上。

为什么上头

2D街机类是被验证了四十年的上头机器,从街机厅到手机端从未失手。拆开看是五个开关,逐个对应到实现成本——这才是重点:每个开关的实现成本,都被框架压到了个人开发者能独立承受的量级。

第一,帧级即时反馈。街机手感的本质是输入到画面的反馈延迟压在几十毫秒内,跳跃落地的那一帧就要有尘土粒子。这是纯技术活:精灵批渲染把同纹理的绘制合并成一次提交,粒子系统直接给现成的。手感不是玄学,是渲染管线的能力,框架替你打了底。

第二,一击死的张力。血条清零才死是RPG的逻辑,街机的逻辑是“一次失误就结束”。死亡威胁越锋利,玩家对每一次操作的专注度越高。实现成本约等于一个碰撞判定加一个场景重置函数——而场景重置快不快,直接决定“再来一局”的转化率。这就是为什么框架层要把场景生命周期设计干净:重开一局如果是五秒加载,玩家就走了;如果是半秒淡入,玩家根本来不及起退出念头。

第三,分数攀比。结算画面上放三个数:本局分数、历史最高、好友或全球榜。前两个是本地存档一行代码的事,第三个接个轻量后端。攀比不一定需要联网,本地排行榜照样让人跟自己较劲——“就差300分”是街机品类最值钱的一句话,它直接出现在H格通往A格的路上。

第四,随机掉落。击杀敌人掉什么,掉率多少,是变率奖励的街机版:下一把可能出稀有武器。掉落表是纯数据,配表就行,但它是让玩家把“操作游戏”玩成“抽卡游戏”的关键一层。

第五,难度爬升与短局设计。单局压在两三分钟内,难度随时间抬升,死亡时玩家刚好处于“我摸清了规律、下一把能撑更久”的心理窗口。这个窗口是算出来的:太短学不到东西,太长挫败感攒满。框架给你tween和时间轴工具,难度曲线就是几条可调的函数。

把这五个开关叠起来你会发现:街机品类的上头感,八成来自结构和节奏设计,两成才来自美术。而结构恰好是框架能承包的部分。

技术拆解

栈是Kotlin Multiplatform + WebGPU。这个组合的每一个词都值钱,分开说。

Kotlin多平台是“一套逻辑,多端出货”的正经方案。同一份Kotlin代码,编译到Kotlin/JS跑在浏览器,编译到Kotlin/JVM跑在安卓和桌面,编译到Kotlin/Native碰iOS。对个人开发者这意味着:写一次玩法逻辑,网页版挂门户吃广告,安卓包上商店吃内购,桌面版上Steam——三个变现渠道共享一套核心代码。注意本栏目写过“一套代码跑五端”的LGame,思路同源,但littlekt的差异化在下一层。

WebGPU是真正的时代变量。WebGL时代的2D渲染,几千个精灵同屏就开始喘;WebGPU的设计目标是从头重写图形接口,draw call的开销模型变了,2D场景能堆的粒子、光影、同屏实体数量上了一个台阶。落到产品语言:同样的玩法,网页版的“卖相”可以做到接近原生游戏。卖相决定什么?决定门户编辑愿不愿意给你首页位,决定玩家前五秒留不留下。前端圈追WebGPU的文章一大堆,但把它装进“2D游戏工作流”并开源成框架的,个人开发者里先做到的人不多——这就是399颗星背后的稀缺性:不为星光,为卡位。

架构上分三层看(具体模块划分以仓库文档为准):

可直接复用的组件清单:WebGPU精灵批渲染器、多分辨率屏幕适配、补间动画系统、键鼠/触屏统一输入、存档读写、资源异步加载管线、粒子系统。这份清单拆出来不只服务游戏——任何“网页上要跑高性能2D图形”的场景,数据可视化大屏、交互式图表、营销页动画——都能吃这套底层。

技术路线一句话连起来:

flowchart LR
    S["装JDK和Kotlin"] --> T["clone跑通示例"]
    T --> W["只写玩法逻辑"]
    W --> E["多平台导出:网页/安卓/桌面"]
    E --> M["门户分成或商店内购"]

变现观察

第一条:网页游戏门户分成,当前性价比最高。Poki、CrazyGames这类网页游戏门户的模式是公开的:你的游戏挂上去,广告收入按比例分成,开发者零服务器成本、零上架审核成本。这个渠道过去的问题恰恰是“网页游戏卖相廉价”,WebGPU直接改善这个根因。一个卖相超过门户均值的WebGPU游戏,在推荐位竞争里就是降维打击——门户还是WebGL的海洋,你是一尾WebGPU的鱼。个人开发者从这条路走出来的现金流案例这两年持续出现,属于“闷声但真实”的活水。

第二条:安卓商店。Kotlin是安卓官方语言,这意味着全世界的安卓应用开发者——一个庞大到不需要形容词的群体——转做游戏的语言成本是零。用熟悉的IDE、熟悉的语言、可复用的业务代码写一款休闲手游,导出APK上Play商店,变现走插屏广告加内购皮肤。对安卓开发者群体,littlekt是他们离“第一款上架游戏”最近的路径之一。

第三条:Steam桌面端。JVM系做商业独立游戏,有现成的教科书案例:Slay the Spire,两人团队,LibGDX(Java)开发,百万级销量,公开访谈里讲得清清楚楚。这个案例证明的不是“Java能做游戏”,而是“JVM系技术栈做回合制/策略向独立游戏在商业上完全成立”——Kotlin与Java同源同生态,这个证明直接继承。WebGPU对桌面版是锦上添花,真正的资产是那套跨平台共享的玩法代码。

三条路共享同一个成本结构:一套玩法代码,三处分发,边际成本趋近于零。这是个人开发者利润率的全部来源——你的时间只花一次。

给我的灵感

三个可直接执行的点子,按工作量从小到大排。

点子一:把经典玩法搬上WebGPU门户。挑一个公有领域玩法的2D街机——弹幕、跑步者、打砖块变体都行——用littlekt做成WebGPU网页版,画质和粒子拉到门户均值之上,提交给Poki、CrazyGames吃分成。核心逻辑不是玩法创新,是代差套利:门户内容以WebGL为主,你的“新一代网页小游戏”在首页位竞争里自带新鲜感溢价。MVP两到三周,变现走门户广告分成,零成本启动。这是三条路里回款最快的一条。

点子二:安卓开发者的首桶金。如果你本来写安卓,别学新语言了。用Kotlin加littlekt做一款休闲小游戏,输入层直接按触屏设计,导出安卓包上Play,插屏广告加内购皮肤变现。差异化不在玩法在于:你的开发体验是“用上班那套工具做副业”,心理成本和上手成本都是最低的。MVP一个月,重点打磨前三十秒的留存体验——休闲手游广告收入的天花板由次留率决定,而次留率由开头的爽感密度决定。

点子三:造一个“玩法专用引擎”卖模板。顺着它"build your own engine on top"的思路走到底:把某个细分玩法——比如竖版弹幕或横版跑步者——封装成你自己的小引擎加模板,美术位留空、数值表外置,挂itch.io卖模板,同时接小团队的外包定制单。游戏模板交易在itch.io资产市场是被验证过的市场,而“WebGPU原生”的2D模板目前还是空位。MVP两到四周:先把点子一或点子二的游戏做出来,再反向抽象成模板——你自己的游戏就是模板的Demo,销售页都不用另做。

三个点子共享同一个底层判断:框架类项目的正确用法不是“用它”,是“踩着它卡进一个时间窗口”。WebGPU这个窗口现在开着,门户的内容结构还是旧一代,谁先补上“新一代卖相”的供给空缺,谁吃到推荐位的红利。框架399颗星不重要,重要的是你是第一批用的人。

上手

游戏变现这件事,方法论的半衰期很短,但“新技术平台的内容空缺”是反复出现的模式:App Store早期、微信小游戏早期、WebGL转WebGPU的现在,每次都是同一道题——供给还没跟上,先到的人用及格线以上的作品吃掉推荐位。littlekt把入场的技术门槛砍到了Kotlin开发者伸手可及的高度,座位留了,车不等人。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入