跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Golang 开发的匿名互动在线聊天游戏,大家多提建议
未分類
7 11 月 2020

Golang 开发的匿名互动在线聊天游戏,大家多提建议

Golang 开发的匿名互动在线聊天游戏,大家多提建议

資深大佬 : sunshinev 0

http://chat.osinger.com/

欢迎进入游戏

概念来自 EVE 游戏,以及蝌蚪聊天室,不过该游戏代码都是全新实现的

操作方式:

  1. W A S D 进行上下左右

  2. 空格开启聊天框,回车发送消息

  3. 左上角修改昵称,点击空白修改成功

作者 GIT: https://github.com/sunshinev/go-space-chat

前端 Vue+canvas+websocket+protobuf

后端 Golang+websocket+protobuf+goroutine

大佬有話說 (70)

  • 資深大佬 : Rekkles

    牛逼。

  • 資深大佬 : lights

    好玩

  • 資深大佬 : kevinfk2

    没人呢

  • 資深大佬 : airplayxcom

    idea 不错

  • 資深大佬 : zoikhemlab

    没啥人呀

  • 資深大佬 : crokily

    wowow 酷
    我最近也在写一个类似的游戏聊天室,但会更侧重于自习室,配上屏幕共享,白板等功能,灵感源于:gather town,和上次在逆水寒开的那个 AI 学术会议。
    就感觉这种交流方式其实挺酷的,不像游戏也不像聊天室,怎么说呢,感觉好像也没啥优点,就觉得有点像未来人与人之间的沟通方式

  • 資深大佬 : chong3397

    逛了半天没看到人呐=。=

  • 資深大佬 : sospopo101343793

    个人位置初始化的时候,按 ip 去进行区域划分是不是更好一些,这样能和周围的人聊天了,不过这个 idea 的核心应该还是抓住”孤独”社会这个点,起个中文名就叫”萍水相逢”

  • 資深大佬 : coderxy

    有点意思啊

  • 資深大佬 : thet

    Cool

  • 資深大佬 : May725

    好玩,赞

  • 資深大佬 : sss495088732

    敏感词好像没有过滤成功?

  • 資深大佬 : macy

    如果游戏属性大可以和贪吃蛇一样,可以吃掉对方,如果是社交属性大,可以是碰撞以后自动配对聊天

  • 資深大佬 : richzhu

    @macy 哇晒!!这个建议好!

  • 資深大佬 : kiracyan

    也太 Lonely 了吧

  • 資深大佬 : mout

    看你说有俩有意思的问题,打算分享下经验不?

    > 1. 如何实现无限画布?
    > 2. 如何实现游戏状态同步?

  • 主 資深大佬 : sunshinev

    @crokily 还有很多需要优化的地方,
    1. canvas 绘制优化,现在不够流畅
    2. 后端现在就只是一个节点,还没实现分布式集群
    3. 优化下消息体,进行消息压缩
    4. 添加互动元素
    5. 进行登录验证,不然乱说话,再加个后台管理

  • 主 資深大佬 : sunshinev

    @macy 很有想法呀!!不错不错

  • 主 資深大佬 : sunshinev

    @mout 首先实现了 3D 深度效果,其次画布是固定大小的,每次移动的时候(比如左移),会把画布最右侧的点移到左侧来做填充

  • 主 資深大佬 : sunshinev

    @mout 游戏状态同步,要约定每个动作,通过上传动作、服务端分发消息、浏览器动作参数解析,这样的,可以看下控制台里面 ws 的消息体

  • 資深大佬 : wispx

    ![image.png]( https://i.loli.net/2020/11/06/H6fl3MJYRNSiDhd.png)

  • 資深大佬 : WFDAK

    找人很麻烦啊

  • 資深大佬 : 200983844

    找不到人呢

  • 資深大佬 : rodrick

    (不知道能否实现)要是能在画面上没有人的时候在屏幕边缘加上其他人所在位置的箭头标识就好了,至少可以让人知道哪里有人

  • 資深大佬 : Maboroshii

    看起来是全局广播,而且我移动的时候发请求的帧率也不低, 估计人多的时候应该会卡爆 。。

  • 資深大佬 : luckyrayyy

    我看不到人啊

  • 資深大佬 : Maboroshii

    动作同步这一块儿还挺有意思的。。不过我只会做服务端。
    体验了一下,我看见其他人的移动似乎也不是连续的,可能是因为卡顿的原因?
    服务器可以做一个类似帧同步一样的逻辑,先收集客户端的状态,固定频率下发广播给其他客户端,这样体验可能好一些

  • 資深大佬 : raincode

    人多起来了

  • 資深大佬 : jasonkayzk

    创意不错,但是进去之后发现只有我自己 2333

  • 資深大佬 : raincode

    可以加个坐标啊

  • 資深大佬 : kuner0614

    走半天没看到其他人,体验太差了 555

  • 資深大佬 : ghjacky

    进去走迷路了,找不到人了。。

  • 資深大佬 : strongcoder

    找不到人啊

  • 資深大佬 : toomlo

    最远可以跑多远啊

  • 資深大佬 : Qseven

    有没有小地图看哪里有人呀?

  • 資深大佬 : SuperMild

    加一些小星球进去当作座标吧

  • 資深大佬 : brant777

    发现只有我自己,孤独加倍~

  • 資深大佬 : gmm

    好孤独ᥬ

  • 資深大佬 : mahaonan1994

    我的 ID 是 两年没有性生活,大家来找我聊天啊

  • 資深大佬 : mahaonan1994

    @crokily focusmate 和你这个很像,之前用了很长一段时间

  • 資深大佬 : crokily

    @mahaonan1994 好的好的我去看看

  • 資深大佬 : iColdCat

    先加收藏夹 上班划水的时候进去玩会 哈哈哈

  • 資深大佬 : ProbeWong

    好玩

  • 資深大佬 : leewendao

    好喜欢。太强了。

  • 資深大佬 : claymore94

    发现个 bug,D 键不好使?

  • 主 資深大佬 : sunshinev

    @Maboroshii 人一多的确卡,不知道是浏览器处理信息处理不过来,还是 canvas 绘制的问题,应该是绘制帧率的问题吧

  • 主 資深大佬 : sunshinev

    @toomlo 无限远

  • 資深大佬 : RLinux

    可以可以

  • 資深大佬 : we8105

    没人

  • 資深大佬 : PEAL

    玩了五分钟,孤独到差点流泪

  • 資深大佬 : vision1900

    https://bruno-simon.com/
    我心中的神一般的网站

  • 主 資深大佬 : sunshinev

    @vision1900 厉害,真的不卡

  • 資深大佬 : zuanist

    @wispx v2 支持 markdown 吗

  • 資深大佬 : cp19890714

    websocket 通信频率太高了吧. 快速按一下按键, 就有 10 个消息发送.

  • 資深大佬 : Keyes

    哈哈哈哈 LZ 玩到了 EVE 的本质
    大型太空主题科幻多人在线聊天室

  • 資深大佬 : necomancer

    灰常创意,期待能上线。但建议学习相关法律法规与政策,聊天类管理可严格了。

  • 資深大佬 : xrr2016

    木有人…

  • 資深大佬 : xmge

    能不能做一个类似区块链,无中心的聊天工具呢?

  • 資深大佬 : xmge

    “`js
    // 快捷键 F1 ( ctrl+f1 ) 复制
    function hotkey() {
    var a = window.event.keyCode;
    // if ((a == 112) && (event.ctrlKey)) {
    if (a == 112 && userSetting.shortcut == 1) {
    event.preventDefault();
    setClipboard();
    event.keyCode=0;
    event.returnValue=false;
    return false;
    } else if (a == 112 && (event.ctrlKey) && userSetting.shortcut == 2){
    setClipboard();
    } else if((a == 67) && (event.ctrlKey) && userSetting.shortcut == 3){
    setClipboard();
    }else {
    console.log(“关闭了快捷键”);
    }
    }

    “`

  • 資深大佬 : datou

    提醒一下

    搞匿名聊天室服务可能有人会找你喝茶….

  • 資深大佬 : leon7777

    502

  • 資深大佬 : ZaytonHoneycutt

    @macy 吃别人以前有个叫 agar.io 的

  • 資深大佬 : RLinux

    @vision1900 好介绍

  • 資深大佬 : jimmyismagic

    好玩

  • 主 資深大佬 : sunshinev

    这个的确应该限制下

  • 主 資深大佬 : sunshinev

    @datou 的确是个问题,要不我就限制下,只能发表情算了。。。。

  • 主 資深大佬 : sunshinev

    @sss495088732 是过滤成功的,只是,你自己能看到,别人看不到了

  • 資深大佬 : happylty

    @PEAL #50 哈哈哈哈哈

  • 主 資深大佬 : sunshinev

    进行了升级
    1. 过滤了 html 标签进行了转义
    2. 进行了上下线的系统提示
    3. 自己的消息也会进行敏感词过滤
    4. websocket 消息发送频率为 30ms

  • 資深大佬 : macy

    @ZaytonHoneycutt 嗯,感觉还是增加一些社交属性,触碰即可聊天

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具