做了一个在线多人平台跳跃页游 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
luluxia
V2EX    分享创造

做了一个在线多人平台跳跃页游

  •  10
     
  •  
    luluxia 2023-12-15 08:39:40 +08:00 20011 次点击
    这是一个创建于 667 天前的主题,其中的信息可能已经有所发展或是发生改变。

    链接:喵喵竞赛

    以前很喜欢玩一款叫做 wtfgame 猫猫竞赛的游戏,于是今年趁着没事干,自己捣鼓模仿原作的玩法做了个新游戏。

    游戏核心机制为每隔 3~5 秒,地图会震动一次,此时玩家需要下蹲,否则将被传送至起点。目前有 50 多张地图,会在房间内随机轮换,分为两种类型,竞速图与积分图。

    游戏采用了一款小众 JS 游戏引擎 Kaboom.js 开发,算是比较容易上手的引擎,不过坑也挺多的,运行效率似乎也不高,目前游戏在一些低端设备上运行会挺卡的,帧数和碰撞判定挂钩,帧数低了就会在游戏中穿墙。

    至于多人部分的后端,则是基于 Midway + Socket.IO

    欢迎各位试玩并分享建议!

    159 条回复    2024-01-05 09:43:20 +08:00
    1  2  
    beiyu
        1
    beiyu  
       2023-12-15 08:45:41 +08:00
    很棒,UI 特别好看。
    mopengfei
        2
    mopengfei  
       2023-12-15 08:55:28 +08:00
    好玩,good
    cairnechen
        3
    cairnechen  
       2023-12-15 08:59:09 +08:00   4
    用 up 跳跃太蠢了,操作起来很不舒服
    luluxia
        4
    luluxia  
    OP
       2023-12-15 09:01:42 +08:00
    @cairnechen 除了方向键,也可以使用 WASD 操作,未来会考虑加自定义按键
    027creed
        5
    027creed  
       2023-12-15 09:02:35 +08:00
    666 ,手残党不友好,还有页码在闪烁,不知道是不是引擎的问题
    cairnechen
        6
    cairnechen  
       2023-12-15 09:06:54 +08:00   1
    @luluxia 我的意思其实是跳跃需要一个单独按键 比如空格 Alt 之类的,方向键只是调整往哪走往哪跳
    SomeBodsy
        7
    SomeBodsy  
       2023-12-15 09:10:33 +08:00
    good
    luluxia
        8
    luluxia  
    OP
       2023-12-15 09:10:37 +08:00
    @zhangkui 页面底部是有个帧率和延迟,不太理解页码闪烁具体是什么现象,不过游戏目前在 iOS 上确实会有些问题来着
    coderJie
        9
    coderJie  
       2023-12-15 09:12:31 +08:00
    增加个跳跃键会好点
    selfAccomplish
        10
    selfAccomplish  
       2023-12-15 09:21:14 +08:00
    嘿嘿真好玩
    sqlNice
        11
    sqlNice  
       2023-12-15 09:21:21 +08:00
    玩了五分钟已经血压升高了
    ARslince
        12
    ARslince  
       2023-12-15 09:27:52 +08:00
    太好玩了
    kaleido
        13
    kaleido  
       2023-12-5 09:31:20 +08:00
    好玩 hhh ,要是摸鱼玩就停不下来了
    mitx
        14
    mitx  
       2023-12-15 09:31:55 +08:00
    空格跳跃的操作会更方便点,不然所有操作都在一个手。新玩家最好给个按键说明。有些地图需要两个人操作开门的时候,只剩下一个人在外面那只能等了。
    Isaac230330
        15
    Isaac230330  
       2023-12-15 09:34:13 +08:00
    很赞,很有意思
    luluxia
        16
    luluxia  
    OP
       2023-12-15 09:35:25 +08:00
    @mitx 游戏主界面的公告里是有按键说明的,空格的话是已经有攻击的作用了,感觉以后增加一个自定义按键的功能应该可以满足不同玩家的操作需求。
    blankmiss
        17
    blankmiss  
       2023-12-15 09:45:12 +08:00
    打不开 什么地区的服务器
    EZVIK
        18
    EZVIK  
       2023-12-15 09:49:28 +08:00
    好玩!
    Chiqing
        19
    Chiqing  
       2023-12-15 09:50:15 +08:00
    为什么会不断唤起 IDM 下载 wall.csv
    wqnmlgbzml
        20
    wqnmlgbzml  
       2023-12-15 09:52:59 +08:00
    试玩了一下,还不错哈!
    churchill     21
    churchill  
       2023-12-15 09:53:22 +08:00
    卧槽,血压上来了
    luluxia
        22
    luluxia  
    OP
       2023-12-15 09:53:56 +08:00
    @Chiqing #19 wall.csv 是每张地图的碰撞信息来着,居然会唤起 IDM 吗,不知道能不能解决…
    nyakoy
        23
    nyakoy  
       2023-12-15 09:55:24 +08:00
    @luluxia #16 空格跳跃+1 ,攻击可以换到 z 或者 ctrl
    caocong
        24
    caocong  
       2023-12-15 10:04:52 +08:00
    有点意思,每次被趴回窝能不能做个小动画或提示,操作自己的猫能做个高亮区别一下么,猫多了看不清自己在哪,没看见按键提示,有个大跨度的一关需要扔其他猫,没见到按哪个键的提示
    flamiNNgo
        25
    flamiNNgo  
       2023-12-15 10:09:12 +08:00
    UI 很好看
    luluxia
        26
    luluxia  
    OP
       2023-12-15 10:09:47 +08:00
    @caocong #24
    趴回窝的提示的话顶部那个“前进 小心咯 趴下”就是,原版是没有这个提示的,只能自己凭感觉倒数。
    自己的猫不明显确实是个问题,我后续想想怎么标识比较明显。
    按键操作在主界面的公告里,确实不算很明显,之后我想想怎么给新玩家提示一下。
    jonsmith
        27
    jonsmith  
       2023-12-15 10:21:25 +08:00
    哈哈,有意思
    Norths
        28
    Norths  
       2023-12-15 10:28:11 +08:00
    好看好玩!
    liuweiqing
        29
    liuweiqing  
       2023-12-15 10:28:39 +08:00
    太难了
    jonahtan
        30
    jonahtan  
       2023-12-15 10:31:52 +08:00
    不错,摸鱼的好工具
    ys1992
        31
    ys1992  
       2023-12-15 10:34:29 +08:00
    有点东西
    zdxddt
        32
    zdxddt  
       2023-12-15 10:38:27 +08:00
    哈哈, 每次都被传送回去了,震动一次都没躲过过
    mitx
        33
    mitx  
       2023-12-15 10:49:18 +08:00
    @luluxia 嗯嗯 游戏很不错 以后可以考虑加个开个好友房的功能
    codezera
        34
    codezera  
       2023-12-15 11:12:12 +08:00
    好玩 手心出汗了都
    Adyun
        35
    Adyun  
       2023-12-15 11:12:16 +08:00
    有点东西 简单的快乐
    yangzzz
        36
    yangzzz  
       2023-12-15 11:13:22 +08:00
    哈哈,摸鱼好去处
    SAAAAAAME
        37
    SAAAAAAME  
       2023-12-15 11:18:21 +08:00
    画风可爱
    sdjl
        38
    sdjl  
       2023-12-15 11:20:19 +08:00
    感觉不错,希望用音乐来提醒玩家地震即将到来。 另外,最好有一个新手教程,必须学会在地震到来时趴下才能进入游戏。

    问一下这种多人之间的即时通信怎么写? 用什么库? 对服务器要求高不高?
    orlando
        39
    orlando  
       2023-12-15 11:27:18 +08:00
    希望能加一个玩法说明
    luluxia
        40
    luluxia  
    OP
       2023-12-15 11:30:57 +08:00
    @sdjl #38 我服务端通信用的是 Midway 这个 Node.js 框架,框架集成了 Socket.IO 这个库,是基于 WebSocket 的,前段时间也发现过另一个基于 WebRTC 的库 https://github.com/geckosio/geckos.io 似乎也还行,至于服务器方面我实际上也不太清楚,人数越多要求理论上应该也更高吧。

    除了自己写即时通讯,现在也有一些类似 https://liveblocks.io/https://joinplayroom.com/ 的平台,可以直接集成。
    yangxiaopeipei
        41
    yangxiaopeipei  
       2023-12-15 11:37:53 +08:00
    只有提示 画面要是有警报提示更友好
    sunsun
        42
    sunsun  
       2023-12-15 11:38:26 +08:00
    好玩好玩
    Immortal
        43
    Immortal  
       2023-12-15 11:49:51 +08:00
    游戏很好玩 完成度也很不错
    想问下 为啥引擎会选择这个
    caocong
        44
    caocong  
       2023-12-15 11:53:31 +08:00
    @luluxia 趴回窝的提示我指的是回城动画那种,现在直接闪现回去,主要原因也是找不到自己的猫,另外进房间后没有退出房间的按钮,只能刷新页面
    luluxia
        45
    luluxia  
    OP
       2023-12-15 11:56:01 +08:00   2
    @Immortal #43 选用这款引擎是因为它比较小巧而且简单,学习难度对于前端来说很低,而且可以很方便的和其他框架结合,比如说游戏中的 UI 其实我都是用 vue 写的
    Immortal
        46
    Immortal  
       2023-12-15 11:57:50 +08:00
    @luluxia 谢谢回复 很有帮助
    luluxia
        47
    luluxia  
    OP
       2023-12-15 11:59:26 +08:00
    @caocong #44 我考虑考虑,但感觉加个动画可能会有点影响自己的节奏,退出房间的话可以在游戏内按 ESC 键选择返回主界面,不过这个功能也是最近才加上的,之前确实只能刷新页面
    cxumol
        48
    cxumol  
       2023-12-15 12:06:40 +08:00 via Android
    boom 拟声词,爆炸。kaboom 卡爆
    huiyadanli
        49
    huiyadanli  
       2023-12-15 12:27:33 +08:00
    好玩
    pnongrata
        50
    pnongrata  
       2023-12-15 12:38:56 +08:00
    FPS 玩多了习惯性 WASD +空格
    空格不能跳我很难受!!!
    LiuJiang
        51
    LiuJiang  
       2023-12-15 12:39:57 +08:00
    做的超级棒,动作,体验,容错,nice
    Lintao0o0
        52
    Lintao0o0  
       2023-12-15 12:41:54 +08:00 via Android
    哇,想学,怎么做的?
    SunHrHTE
        53
    SunHrHTE  
       2023-12-15 12:45:35 +08:00
    非常有意思,不过 我在 m1pro 使用 chrome ,默认的画面下帧数也不流畅
    From313
        54
    From313  
       2023-12-15 12:47:16 +08:00
    md 真好玩儿!!!
    luluxia
        55
    luluxia  
    OP
       2023-12-15 12:50:35 +08:00
    @SunHrHTE #53 在苹果下感觉运行确实有点问题,不过我没苹果设备也不好调试
    zthxxx
        56
    zthxxx  
       2023-12-15 13:21:38 +08:00
    kaboom.js 版本都 v3000 了
    charslee013
        57
    charslee013  
       2023-12-15 13:23:13 +08:00
    报一个 bug ,在第二关的场景中间有个巨大的弹跳版,猫猫在被弹跳起来之后

    如果在空中遇到震动判定,只会将猫猫的 x 轴移到到起点,但是 y 轴没有移动,导致猫猫还在空中被震第二次

    还有一个名称的问题,玩家可以取很长的名称,导致名称的横幅挡住了一部分的画面体验上不太好
    zjp
        58
    zjp  
       2023-12-15 13:30:07 +08:00
    firefox 浏览器
    Uncaught TypeError: navigator.getGamepads is not a function
    taxze
        59
    taxze  
       2023-12-15 13:30:44 +08:00
    有意思~上瘾了!!
    seeyourface
        60
    seeyourface  
       2023-12-15 13:35:24 +08:00
    好可爱的画风
    codyfeng
        61
    codyfeng  
       2023-12-15 13:36:08 +08:00 via Android
    赞,做的不错,优化一下手机操控就好了
    luluxia
        62
    luluxia  
    OP
       2023-12-15 13:40:43 +08:00
    @zjp #58 这个应该是引擎调用游戏手柄之类的报错,不过我目前还没适配过手柄
    luluxia
        63
    luluxia  
    OP
       2023-12-15 13:43:56 +08:00
    @charslee013 #57 我限制的名称长度应该是十个字符,感觉还好吧。至于被震两次这个我好像没遇到过,关卡是随机的,你说的第二关具体是哪关我得知道左上角标的地图名称才行。
    luluxia
        64
    luluxia  
    OP
       2023-12-15 13:44:23 +08:00
    @codyfeng #61 手机操控确实不如电脑方便,我也没太想到怎么设计比较好
    luluxia
        65
    luluxia  
    OP
       2023-12-15 13:45:57 +08:00
    @zthxxx #56 我刚发现这个的时候还是 v2000 版本,那会其实已经用它写过几个 demo 了,现在的 v3000 虽然小毛病还是不少,不过用起来也已经还可以了。
    tutustream
        66
    tutustream  
       2023-12-15 13:56:07 +08:00
    中午试了,好玩

    希望能 Z 键或者空格键跳跃
    nealHuang
        67
    nealHuang  
       2023-12-15 13:57:29 +08:00
    进度条一直 loading ,进不去
    Gray2016
        68
    Gray2016  
       2023-12-15 13:58:28 +08:00
    大佬,做了多久?
    lsiufD
        69
    lsiufD  
       2023-12-15 14:03:26 +08:00
    进去后是这样的,还不能退出房间
    lsiufD
        70
    lsiufD  
       2023-12-15 14:03:42 +08:00
    @lsiufD [Imgur]( )
    magewu1223ll
        71
    magewu1223ll  
       2023-12-15 14:04:41 +08:00
    一直卡在 loading 页
    hymxm
        72
    hymxm  
       2023-12-15 14:05:01 +08:00
    服务器顶不顶得住哦 这会打开好卡
    CYZG
        73
    CYZG  
       2023-12-15 14:07:10 +08:00
    上午摸鱼玩了一会,还挺好玩的
    Panameragt
        74
    Panameragt  
       2023-12-15 14:07:16 +08:00
    卡 loading
    cyberCat
        75
    cyberCat  
       2023-12-15 14:07:18 +08:00
    以前玩过这个游戏,特别喜欢进旗帜后发言嘲讽,原来叫 wtfgame 猫猫竞赛,好怀念
    nealHuang
        76
    nealHuang  
       2023-12-15 14:16:07 +08:00
    好玩,不过好卡
    blank0ken
        77
    blank0ken  
       2023-12-15 14:16:34 +08:00
    卡 loading 页,进不去
    trio
        78
    trio  
       2023-12-15 14:25:26 +08:00
    挺好玩的
    unneeded
        79
    unneeded  
       2023-12-15 14:30:25 +08:00
    卧槽,确实好玩
    f6x
        80
    f6x  
       2023-12-15 14:32:52 +08:00
    好玩. 9.9 分
    Millerr
        81
    Millerr  
       2023-12-15 14:33:38 +08:00
    太好玩了。
    Golor
        82
    Golor  
       2023-12-15 14:47:22 +08:00
    血压+1
    fan296311175
        83
    fan296311175  
       2023-12-15 14:55:19 +08:00
    挺好玩的!后期继续改进的话,可以加一些机制,比如二段跳、快速下坠、滑铲等等
    PlanV
        84
    PlanV  
       2023-12-15 14:56:01 +08:00
    不能暗黑风格,不符合摸鱼的标准啊,这么亮的界面,一眼就知道在摸鱼
    HungryOrangeCat
        85
    HungryOrangeCat  
       2023-12-15 14:58:13 +08:00
    博主你您好,我们是一家云服务提供商,如果您有需要,我们可以给您赞助云服务器
    BTW,有时候会卡出地图呀,这个小 bug 看看有什么办法修复不
    PlanV
        86
    PlanV  
       2023-12-15 14:59:57 +08:00
    @fan296311175 再来点抓钩、跳板、传送门之类的,2D APEX 英雄
    Yizhiteamo
        87
    Yizhiteamo  
       2023-12-15 15:16:36 +08:00
    蛮有意思的
    lockerhyz
        88
    lockerhyz  
       2023-12-15 15:21:05 +08:00
    很好玩啊!甚至找到了童年玩小霸王的感觉
    luluxia
        89
    luluxia  
    OP
       2023-12-15 15:24:39 +08:00
    @HungryOrangeCat #85 可以哇,有联系方式详聊一下看看吗,帧数过低的情况下可能会卡出地图,这个其实算是引擎本身的问题,我现在也没啥好办法能修复,帧数正常的情况下应该不会
    yelan
        90
    yelan  
       2023-12-15 15:42:46 +08:00
    开源不老哥!激起了大学做游戏时候的兴趣!
    TArysiyehua
        91
    TArysiyehua  
       2023-12-15 15:53:32 +08:00
    不知道怎么玩,我进到房间里,一个个黄黄的背景,每几秒中我的名字就掉下来。。。就没了,什么小心点,趴下,压根不知道怎么操作
    luluxia
        92
    luluxia  
    OP
       2023-12-15 15:55:34 +08:00
    @TArysiyehua #91 现在确实少了点新手引导,可以先看看公告里的游戏介绍和操作指南
    TArysiyehua
        93
    TArysiyehua  
       2023-12-15 15:56:05 +08:00
    就是楼上那个人发的图,什么都没有
    luluxia
        94
    luluxia  
    OP
       2023-12-15 15:56:07 +08:00
    @yelan #90 等稳定了或许会开源一部分吧,不过代码其实也是挺乱的
    suzuko33
        95
    suzuko33  
       2023-12-15 15:56:32 +08:00
    完了 玩上了
    TArysiyehua
        96
    TArysiyehua  
       2023-12-15 15:56:39 +08:00
    @luluxia 你说的公告啥的我都没有。。。
    luluxia
        97
    luluxia  
    OP
       2023-12-15 15:57:00 +08:00
    @TArysiyehua #93 什么都没有应该是卡了,没加载完游戏素材,现在人多了服务器带宽不太顶得住了,也许会出现这种情况吧
    HungryOrangeCat
        98
    HungryOrangeCat  
       2023-12-15 15:58:27 +08:00
    @luluxia BASE64:UVE6MzQxMTkyMDQzNAo=
    NoManPlay
        99
    NoManPlay  
       2023-12-15 16:00:54 +08:00
    捉虫,移动端 safari 操作快了有时候会触发放大的功能,但是没有办法缩放回去,就会导致无法继续正常游玩
    yelan
        100
    yelan  
       2023-12-15 16:01:27 +08:00
    @luluxia 等你消息老哥!
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2732 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 09:13 PVG 17:13 LAX 02:13 JFK 05:13
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86