欢迎进入游戏
概念来自 EVE 游戏,以及蝌蚪聊天室,不过该游戏代码都是全新实现的
操作方式:
W A S D 进行上下左右
空格开启聊天框,回车发送消息
左上角修改昵称,点击空白修改成功
作者 GIT: https://github.com/sunshinev/go-space-chat
前端 Vue+canvas+websocket+protobuf
后端 Golang+websocket+protobuf+goroutine
![]() |
1
Rekkles 82 天前
牛逼。
|
![]() |
2
lights 82 天前
好玩
|
3
kevinfk2 82 天前
没人呢
|
![]() |
4
airplayxcom 82 天前
idea 不错
|
![]() |
5
zoikhemlab 82 天前
没啥人呀
|
6
crokily 82 天前
wowow 酷
我最近也在写一个类似的游戏聊天室,但会更侧重于自习室,配上屏幕共享,白板等功能,灵感源于:gather town,和上次在逆水寒开的那个 AI 学术会议。 就感觉这种交流方式其实挺酷的,不像游戏也不像聊天室,怎么说呢,感觉好像也没啥优点,就觉得有点像未来人与人之间的沟通方式 |
7
chong3397 82 天前
逛了半天没看到人呐=。=
|
8
sospopo101343793 82 天前 ![]() 个人位置初始化的时候,按 ip 去进行区域划分是不是更好一些,这样能和周围的人聊天了,不过这个 idea 的核心应该还是抓住"孤独"社会这个点,起个中文名就叫"萍水相逢"
|
9
coderxy 82 天前
有点意思啊
|
![]() |
10
thet 82 天前 via iPhone
Cool
|
![]() |
11
May725 82 天前
好玩,赞
|
![]() |
12
sss495088732 82 天前
敏感词好像没有过滤成功?
|
13
macy 82 天前
如果游戏属性大可以和贪吃蛇一样,可以吃掉对方,如果是社交属性大,可以是碰撞以后自动配对聊天
|
![]() |
15
kiracyan 82 天前
也太 Lonely 了吧
|
16
mout 82 天前
看你说有俩有意思的问题,打算分享下经验不?
> 1. 如何实现无限画布? > 2. 如何实现游戏状态同步? |
![]() |
17
sunshinev 82 天前 ![]() @crokily 还有很多需要优化的地方,
1. canvas 绘制优化,现在不够流畅 2. 后端现在就只是一个节点,还没实现分布式集群 3. 优化下消息体,进行消息压缩 4. 添加互动元素 5. 进行登录验证,不然乱说话,再加个后台管理 |
![]() |
21
wispx 82 天前

|
22
WFDAK 82 天前
找人很麻烦啊
|
![]() |
23
200983844 82 天前
找不到人呢
|
![]() |
24
rodrick 82 天前
(不知道能否实现)要是能在画面上没有人的时候在屏幕边缘加上其他人所在位置的箭头标识就好了,至少可以让人知道哪里有人
|
25
Maboroshii 82 天前
看起来是全局广播,而且我移动的时候发请求的帧率也不低, 估计人多的时候应该会卡爆 。。
|
![]() |
26
luckyrayyy 82 天前
我看不到人啊
|
27
Maboroshii 82 天前
动作同步这一块儿还挺有意思的。。不过我只会做服务端。
体验了一下,我看见其他人的移动似乎也不是连续的,可能是因为卡顿的原因? 服务器可以做一个类似帧同步一样的逻辑,先收集客户端的状态,固定频率下发广播给其他客户端,这样体验可能好一些 |
28
raincode 82 天前
人多起来了
|
![]() |
29
jasonkayzk 82 天前
创意不错,但是进去之后发现只有我自己 2333
|
30
raincode 82 天前
可以加个坐标啊
|
![]() |
31
kuner0614 82 天前
走半天没看到其他人,体验太差了 555
|
32
ghjacky 82 天前
进去走迷路了,找不到人了。。
|
![]() |
33
strongcoder 82 天前
找不到人啊
|
34
toomlo 82 天前
最远可以跑多远啊
|
35
Qseven 82 天前
有没有小地图看哪里有人呀?
|
36
SuperMild 82 天前
加一些小星球进去当作座标吧
|
![]() |
37
brant777 82 天前
发现只有我自己,孤独加倍~
|
![]() |
38
gmm 82 天前 via Android
好孤独ᥬ😂᭄
|
![]() |
39
mahaonan1994 82 天前 ![]() 我的 ID 是 两年没有性生活,大家来找我聊天啊
|
![]() |
40
mahaonan1994 82 天前 ![]() @crokily focusmate 和你这个很像,之前用了很长一段时间
|
41
crokily 82 天前
@mahaonan1994 好的好的我去看看
|
![]() |
42
iColdCat 82 天前
先加收藏夹 上班划水的时候进去玩会 哈哈哈
|
![]() |
43
ProbeWong 82 天前
好玩
|
![]() |
44
leewendao 82 天前
好喜欢。太强了。
|
![]() |
45
claymore94 82 天前
发现个 bug,D 键不好使?
|
![]() |
46
sunshinev 82 天前
@Maboroshii 人一多的确卡,不知道是浏览器处理信息处理不过来,还是 canvas 绘制的问题,应该是绘制帧率的问题吧
|
![]() |
48
RLinux 82 天前
可以可以
|
49
we8105 82 天前
没人
|
![]() |
50
PEAL 82 天前
玩了五分钟,孤独到差点流泪
|
51
vision1900 82 天前
https://bruno-simon.com/
我心中的神一般的网站 |
![]() |
52
sunshinev 82 天前
@vision1900 厉害,真的不卡
|
54
cp19890714 82 天前
websocket 通信频率太高了吧. 快速按一下按键, 就有 10 个消息发送.
|
55
Keyes 82 天前
哈哈哈哈 LZ 玩到了 EVE 的本质
大型太空主题科幻多人在线聊天室 |
![]() |
56
necomancer 82 天前
灰常创意,期待能上线。但建议学习相关法律法规与政策,聊天类管理可严格了。
|
![]() |
57
xrr2016 82 天前
木有人...
|
![]() |
58
xmge 82 天前
能不能做一个类似区块链,无中心的聊天工具呢?
|
![]() |
59
xmge 82 天前
```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("关闭了快捷键"); } } ``` |
![]() |
60
datou 82 天前
提醒一下
搞匿名聊天室服务可能有人会找你喝茶.... |
![]() |
61
leon7777 82 天前
502
|
![]() |
62
ZaytonHoneycutt 82 天前
|
![]() |
63
RLinux 81 天前
@vision1900 好介绍
|
64
jimmyismagic 81 天前
好玩
|
![]() |
65
sunshinev 81 天前
这个的确应该限制下
|
![]() |
67
sunshinev 81 天前
@sss495088732 是过滤成功的,只是,你自己能看到,别人看不到了
|
![]() |
69
sunshinev 81 天前
进行了升级
1. 过滤了 html 标签进行了转义 2. 进行了上下线的系统提示 3. 自己的消息也会进行敏感词过滤 4. websocket 消息发送频率为 30ms |
70
macy 79 天前
@ZaytonHoneycutt 嗯,感觉还是增加一些社交属性,触碰即可聊天
|
![]() |
71
sunshinev 68 天前
新增用户上线全天时间分布图
增加所在城市展示 调整 UI 界面 增加帧率展示 |