在线项目 · 约会游戏

KickOrKiss

约会,但是好笑。把卡片向左甩就踢它,向右甩就吻它。

配对就是两个互相亲吻过的人——没有别的。 没有任何算法在决定谁能成功,而第二个吻落下的瞬间,私密聊天就打开了。

一记踢,会有一只卡通靴子穿过卡片;一个吻,会有巨大的嘴唇落上去。两者都会改变一个公开的声望分——这既是笑点,也是游戏本身。

概览

100

每天的免费滑动

2

个吻促成一次配对

3,000+

牌堆里的城市

18+

仅限成年人

怎么玩

三步,而第三步才是重点。

1

做一张你的卡

用 Lumora 账户登录,加上照片、年龄、城市和几项兴趣。引导流程结束的标准,是这张卡值得别人下判断,而不是表单在技术上填完了。

2

下判决

左边是踢,右边是吻,牌堆会先发离你近的人。每天一百次滑动是免费额度,计数在 UTC 午夜重置。

3

配对然后聊天

去吻一个吻过你的人,聊天会立刻打开,带着正在输入的小圆点和已读回执。收回你的吻,配对就会诚实地解除,两边同时生效。

增益道具

三个付费招式,每一个都是丢给别人的一道选择题。

增益道具用 Lumora 额度购买——那是全网所有产品共用的同一份余额,每月免费赠送 20 个。

防踢护盾

5 个额度

在一小时内,普通的踢会从你的卡片上弹开,且永远不会被记录。想过来的人要么吻你,要么花钱买一次超级飞踢——所以这面盾牌花的一直是攻击者的钱,而不是它主人的。

飞吻炸弹

1 个额度

一枚由嘴唇做成的导弹、三倍声望,以及你的卡片带着金色旗标出现在对方牌堆的最前面。向一个你已经判过的人投弹不会扣费,而且会明说,而不是默不作声地把额度收走。

超级飞踢

1 个额度

玻璃裂开,停住一拍,然后碎成一片。它是唯一能穿过生效中的防踢护盾的东西,只对那一次判决、那一个攻击者有效,威力是平时的三倍。

额度、账单和套餐在整个网络里只有一个去处:共享的 Lumora 账户中心。游戏里没有另一个钱包。

安全

离开一段对话,永远不是付费动作。

仅限成年人。 不在 18 到 99 之间的年龄会被直接拒绝,而不是悄悄改成一个被允许的数字。

取消配对能穿过护盾生效。 防踢护盾挡的是踢,绝不该把谁困在一段聊天里。

拉黑是双向的。 不管是谁按下了按钮,你们两个都不会再出现在对方的牌堆里,两个方向都一样。

照片在你自己的设备上就被清理干净。 每张上传的照片都会先在浏览器里缩放,这一步会去掉相机写进文件里的位置信息。

House 卡都有标记。 为了让小城市也玩得下去,牌堆会用 House 卡补齐,而每一张都在正面写明了这一点。

没有人经过验证。 这里没有身份证件核验,也没有背景调查,所以和陌生人见面时,请像在互联网上任何别的地方一样谨慎。

工程说明

没有一张「配对表」。

配对不是在两个吻相遇时写下的一条记录,而是一次查询:滑动日志里那一对互相的吻,本身就是配对,并且在每一次聊天请求时都会重新核对。

正是这一个决定,使得取消配对不会留下一条陈旧的记录,使得拉黑立刻在两个方向同时生效,也使得未读角标永远不会宣传一段收件箱里根本不会出现的对话。每一处会统计消息的界面,跑的都是同一套检查。

前端与 API

一个 Worker

安装途径

不经应用商店

自动化测试

120 条断言

技术栈

一个游戏,只发一个 Worker。

卡片、聊天、照片存储和 API 全都跑在 Cloudflare 上,背后是与其他 Lumora 产品相同的单点登录。

Cloudflare Workers Hono React Framer Motion D1 R2 TypeScript 渐进式网页应用
看看实时效果

马上就要有人挨踢了。

登录、做一张卡,然后开始发牌。每天前一百次滑动免费,这里没有任何东西需要下载。

KickOrKiss 是把娱乐放在第一位的成人约会。这里不核验任何人的身份,也不做背景调查,所以请像对待其他任何陌生人一样对待这里的每一个人。