首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Java3y

    【WebSocket】实时多人答题对战游戏

    系列教程回顾: 手把手搭建WebSocket多人在线聊天室 【多人聊天室】WebSocket集群/分布式改造 在本文中,我将介绍如何使用WebSocket向实时多人答题对战游戏提供服务端,并详细介绍通接口的设计 本文内容摘要: 在线游戏常用的通讯方案 如何使用WebSocket实现游戏对战实时通信 游戏步骤的画面演示和对应的WebSocket接口设计 本文源码:(妈妈再也不用担心我无法复现文章代码啦) https ://github.com/qqxx6661/websocket-game-demo 正文 WebSocket实现在线多人游戏——对战答题 在线游戏常用的通讯方案 参考: https://blog.csdn.net ,赛车类,直接来UDP协议吧; WebSocket实现双人在线游戏实时通信 我们采用websocket作为我们的通信方案,主要是因为我们希望对战双方能够实时显示对方的得分。 本小节详细介绍了我们在线问答对战游戏中,具体的websocket通讯方式定义。

    3.2K20发布于 2019-09-10
  • 来自专栏花叔的专栏

    练练手,再次做个实时对战游戏

    前些天不经意间看到cocos商城上了一个美术很棒、功能又很完整的游戏源码,而且还是实时对战类型的: https://store.cocos.com/app/detail/5197 关键这还是免费的 了解到这应该是华为跟cocos合作的一个项目,里面的实时对战功能用的是华为AppGallery Connect里的方案。(官方提示:目前服务处于Beta阶段,期间华为承担服务器资源开销。 熬了两晚夜,我基于它额外做了两件事情: 源码里做的是捡金币的对战玩法,没有涉及到远端数据的存储,所以头像和昵称是随机构建的。 ,同时能根据对战结果数据做全网排行榜: 上架到字节小游戏,刚好我之前有申请一个叫「吃饱饱」的软著,把金币换薯条,就跟软著名对应上了: 另外为保证完整性还故意加上了激励视频广告点: 在折腾的过程中,有些注意点可以给大伙说一下,也许会对跟我一样研究它的开发者有所帮助: 华为对战服务的配置相当简单,cocos源码中也已经封装好相关的ts了,根据官方教程一步步跑即可,没什么难点

    51920编辑于 2023-09-09
  • 来自专栏Python小屋

    Python编写人机对战游戏(抓小狐狸)

    本文内容来源:本来是在微信群里国防科技大学刘万伟老师发了一个算法题目大家玩,然后和中国传媒大学胡凤国老师一起交流了好几天,后来我突发灵感,改写了个小游戏。 微信公众号发文时作者最多只能是8个字,刘万伟老师和胡凤国两位老师只好以姓来表示,然后在正文中以全名表示感谢,非常抱歉。 问题描述:编写程序模拟抓狐狸的小游戏。 # 如果是真的在玩游戏的话,可以把下面这一行删掉 print(positions) # 如果这次没抓到,狐狸就跳到隔壁洞口 if oldPos == n-1: newPos # 启动游戏,开始抓狐狸吧 catchMe() 连续几次运行结果: ?

    3.6K70发布于 2018-04-17
  • 轻量级游戏联机对战服务-LGOBS

    最近在研究小游戏,发现微信小游戏有官方的联机对战API,提供开箱即用的房间管理、玩家匹配、队伍管理、消息通信等功能。但是如果想把小游戏发布到抖音小游戏平台,就必须自己搭建一套联机对战服务了。 基于此需求,我开始尝试设计一套轻量级联机对战基础服务(Lightweight Game Online Battle Service, LGOBS) ,旨在为小规模团队或独立开发者提供一种简洁、可复用、易于部署的网络同步方案 在设计思路上,我重点关注以下几个方向:轻量接入:尽可能简化 SDK 集成与 API 设计(主要参考微信游戏服务API/开放能力/游戏服务),让开发者聚焦于游戏逻辑而非通信细节。 弱网络适配:针对移动网络环境优化,支持断线重连与状态补偿,提升对战体验的容错性。平台无绑定性:尽量抽象平台相关逻辑,使同一套对战逻辑可适配不同发布渠道。 目前该方案仍处于实验与迭代阶段,我将在微信小游戏平台与抖音小游戏平台实践。

    32910编辑于 2025-12-10
  • 来自专栏极乐技术社区

    开发实时联网对战的微信小游戏

    这次教程我们就来讨论 **如何在完全不懂服务器开发的情况下做一个实时联网对战的微信小游戏** (联网飞机大战)。 ,体验电脑与手机联网对战啦; 接下来大概介绍一下微信小游戏项目开发的要点,云端代码的详解和U3D版本的教程将陆续推出。 但同平台对战是高度一致的。 ,包括物体渲染、移动、碰撞检测(以及内存管理)等; 先开发服务端游戏逻辑(Java云端代码),有利于理清整个游戏的逻辑; 后开发客户端游戏逻辑、接入SDK; 测试、发布; ? 测试、发布:灰常好玩,下阶段准备做成四个阵营的玩法 开发体验 在基本素材、组件(物理引擎)等预备充分的情况下,花了不到两个小时就将一个单机游戏改造成了联网对战游戏,而且逻辑也足够健壮,效果还是很酷的。

    5.7K62发布于 2018-07-05
  • 来自专栏后端技术漫谈

    使用WebSocket实现实时多人答题对战游戏

    多人在线聊天室(SpringBoot+WebSocket) [WebSocket]第二章:WebSocket集群分布式改造——实现多人在线聊天室 在本文中,我将介绍如何使用WebSocket向实时多人答题对战游戏提供服务端 本文内容摘要: 在线游戏常用的通讯方案 如何使用WebSocket实现游戏对战实时通信 游戏步骤的画面演示和对应的WebSocket接口设计 本文源码:(妈妈再也不用担心我无法复现文章代码啦) https ://github.com/qqxx6661/websocket-game-demo 正文 WebSocket实现在线多人游戏——对战答题 在线游戏常用的通讯方案 参考: https://blog.csdn.net ,赛车类,直接来UDP协议吧; WebSocket实现双人在线游戏实时通信 我们采用websocket作为我们的通信方案,主要是因为我们希望对战双方能够实时显示对方的得分。 本小节详细介绍了我们在线问答对战游戏中,具体的websocket通讯方式定义。

    2K20发布于 2019-09-10
  • 来自专栏fixzd

    java多线程系列:通过对战游戏学习CyclicBarrier

    需求 继上一篇CountDownLatch模拟游戏加载后,现在用户点击开始按钮后,需要匹配包括自己在内的五个玩家才能开始游戏,匹配玩家成功后进入到选择角色阶段。 当5位玩家角色都选择完毕后,开始进入游戏。进入游戏时需要加载相关的数据,待全部玩家都加载完毕后正式开始游戏。 解决方案 从需求中可以知道,想要开始游戏需要经过三个阶段,分别是 匹配玩家 选择角色 加载数据 在这三个阶段中,都需要互相等待对方完成才能继续进入下个阶段。 this.getPlayer()+" 角色选择完毕等待其他玩家..."); barrier.await(); System.out.println(this.getPlayer()+" 开始游戏 ,进行游戏加载..."); loading(); System.out.println(this.getPlayer()+" 游戏加载完毕等待其他玩家加载完成...");

    97230发布于 2018-09-28
  • 来自专栏Python小屋

    Python编写人机对战游戏(抓狐狸)(2)

    封面图片:《中学生可以这样学Python》,董付国、应根球著,清华大学出版社 =========== 很久很久以前,在公众号里推送过一个抓狐狸游戏,详见Python编写人机对战游戏(抓小狐狸),还有免费视频可以看微课 |中学生可以这样学Python(例4.6):抓小狐狸游戏,今天再给出另一个版本的实现。

    2.1K50发布于 2019-06-04
  • 来自专栏蛮三刀的后端开发专栏

    使用WebSocket实现实时多人答题对战游戏

    本文链接:https://blog.csdn.net/qqxx6661/article/details/100597812 正文 WebSocket实现在线多人游戏——对战答题 在线游戏常用的通讯方案 ,赛车类,直接来UDP协议吧; WebSocket实现双人在线游戏实时通信 我们采用websocket作为我们的通信方案,主要是因为我们希望对战双方能够实时显示对方的得分。 本小节详细介绍了我们在线问答对战游戏中,具体的websocket通讯方式定义。 所以我们需要设计三个WebSocket协议: 用户创建昵称,进入玩家大厅 用户选择对手,双方进入游戏 对战过程实时显示双方分数 接下来详细介绍这三种WebSocket接口 用户创建昵称,进入玩家大厅 打开界面 这样子就把用户和订阅路径唯一的匹配起来了 参考文献 点对点通讯: https://blog.csdn.net/yingxiake/article/details/51224569 总结 我们在本文中实现了在线多人对战游戏的服务端

    2.2K10发布于 2019-09-10
  • 来自专栏数据和云

    “王者对战”之 MySQL 8 vs PostgreSQL 10

    特性 MySQL 8 PostgreSQL 10 查询 & 分析 公用表表达式 (CTEs) ✔ New ✔ 窗口函数 ✔ New ✔ 数据类型 JSON 支持 ✔ Improved ✔ GIS 来复习下: 特性 MySQL 8 PostgreSQL 10 架构 单进程 多进程 并发 多线程 fork(2) 表结构 聚簇索引 堆 页压缩 Transparent TOAST 更新 In-Place (8KB vs 16KB) ? PostgreSQL物理存储的介绍 页结构看起来就像右边的图。它包含一些我们不打算在这里讨论的条目,但是它们包含关于页的元数据。 如果存在一行必须适合两个数据库的单个页面,,这意味着一行必须小于 8KB。(至少有 2 行必须适合 MySQL 的页面,恰巧是 16KB/2 = 8KB) ? 但是,如果更新足够频繁(或者如果一个元组比较大),元组的历史可以很容易地超过8 KB的页面大小,跨越多个页面并限制该特性的有效性。修剪和/或碎片整理的时间取决于启发式解决方案。

    4.9K21发布于 2019-06-18
  • 来自专栏学无止境

    Python:游戏:五子棋之人机对战

    五子棋比起我之前写的几款游戏来说,难度提高了不少。如果是人与人对战,那么,电脑只需要判断是否赢了就可以。如果是人机对战,那你还得让电脑知道怎么下。 我们先从简单的问题来看。 后来网上看到篇文章,使用的方法是:遍历棋盘上的空位,计算每一个位置其横竖撇捺 8 个方向上是否有己方的子,有一个就加 10 分,最后选得分最高的位置落子。 ---- 相关博文推荐: Python:游戏:贪吃蛇 Python:游戏:扫雷(附源码) Python:游戏:300行代码实现俄罗斯方块

    2.7K30发布于 2019-01-29
  • 来自专栏CodeBuddy 系列文章

    井字棋游戏:CodeBuddy 轻松实现经典棋盘对战

    井字棋,作为经典的两人对战游戏,玩法简单却充满趣味。玩家轮流在3x3的棋盘上落子,谁先在一行、一列或对角线上连成三颗相同的棋子,谁就胜出。这种游戏非常适合用来消磨时间,也是很多人童年时期的经典回忆。 简洁的UI:整个游戏界面设计简洁、直观,玩家可以轻松开始游戏并参与对战。CodeBuddy完美实现了这一切,我只需要将生成的代码嵌入我的项目中,整个井字棋游戏就可以立即运行。 DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-<em>8</em>"><metaname="viewport"content="width=device-width =['','','','','','','','',''];//获胜条件(所有可能的连线)constwinningConditions=[[0,1,2],//第一行[3,4,5],//第二行[6,7,<em>8</em>] ,//第三行[0,3,6],//第一列[1,4,7],//第二列[2,5,<em>8</em>],//第三列[0,4,<em>8</em>],//主对角线[2,4,6]//副对角线];//状态消息constwinningMessage=(

    35710编辑于 2025-08-27
  • 来自专栏Golang语言社区

    网络即时对战游戏是怎么做到同步运行的?

    高实时的互联网游戏设计时都要考虑延时问题,不同类型的游戏会有不同的解决方案。 游戏世界同步,主要分这三种方式: 一、集中式: 即时战略游戏,例如DotA,非常强调游戏世界内各种元素显示的准确性和游戏的公平性。 这种游戏采用完全精确的同步方式,整个世界都要完整地同步到每一台加入游戏地电脑。这给你的操控带来了3个方面的延时 (1)你发出指令到服务器收到指令的延时。 (2)服务器将世界同步到你的电脑的延时。 所以,你在游戏中看到的自己是没有延时的,而其他玩家和游戏元素是有延时的,这意味着每个玩家观察到的游戏世界都不相同。 我玩游戏不多,我明确知道使用这方式的是《暗黑破坏神2》 。

    2.5K110发布于 2018-03-23
  • 来自专栏云+直播

    腾讯云大学大咖分享 | 小游戏联机对战引擎实践

    《猪猪对战》教学课程点击观看完整课程 《答题游戏》教学课程点击观看完整课程 实践案例背景 帧同步游戏 - 猪猪对战 猪猪对战demo是一款1V1的双人对战帧同步游戏,玩家可以通过邀请好友或者快速加房组成对局 demo包含四个页面,分别是授权页、首页、房间页、对战页。玩家进入首页后,点击“快速开始”或者“邀请好友”按钮进入房间页;双方点击房间页“准备按钮”后可以进入对战页面开始游戏。 MGOBE 简介 小游戏联机对战引擎(Mini Game Online Battle Engine,MGOBE)主要为小游戏提供多人联机对战服务,帮助开发者快速搭建多人交互小游戏。 以微信小戏平台**邀请玩家**为例,整个流程如下: [n6b8kb3zqg.png] 其中,“生成邀请链接”、“分享”都是使用微信的接口实现,“创建房间”、“加入房间”使用 MGOBE 相应接口实现。 在两次分享课程中分别以猪猪对战和答题游戏为例介绍了这两种匹配方式的用法。

    5.1K30发布于 2019-09-11
  • 来自专栏CodeBuddy 系列文章

    飞行棋游戏:CodeBuddy 轻松实现骰子与棋盘对战

    游戏拓展,功能轻松加虽然CodeBuddy生成的飞行棋游戏已经非常完善,但它也支持轻松添加更多功能。例如:多玩家模式:增加更多玩家,支持2到4个玩家进行对战。 特殊规则:可以加入一些特殊格子,例如“前进3步”或“后退2步”这样的规则,增加游戏的趣味性。得分系统:可以记录每局游戏的结果,增加多局对战和排行榜系统。 DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-<em>8</em>"><metaname="viewport"content="width=device-width rotateX(270deg)rotateY(135deg);}100%{transform:rotateX(360deg)rotateY(180deg);}}#roll-button{padding:<em>8</em>px20px 1.05);z-index:10;}.cell.normal{background-color:#E3F2FD;color:#1565C0;}.cell.boost{background-color:#C<em>8</em>E6C9

    55510编辑于 2025-08-29
  • 来自专栏各类技术文章~

    Python游戏开发,pygame模块,Python实现五子棋联机对战游戏

    前言 这次我们来写个简单支持联机对战游戏,支持局域网联机对战的五子棋小游戏。废话不多说,让我们愉快地开始吧~ 效果演示 ? 首先,设计并实现个游戏主界面: ? self.gaming_ui = playOnlineUI(cfg, self) self.gaming_ui.show() 会pyqt5的应该都可以写出这样的界面,没啥特别的,记得把人机对战和联机对战两个按钮触发后的信号分别绑定到人机对战和联机对战的函数上就行 玩家成功落子后,判断是否因为玩家落子而导致游戏结束(即棋盘上有5颗同色子相连了),若游戏结束,则显示游戏结束界面,否则轮到AI落子。AI落子和玩家落子的逻辑类似,然后又轮到玩家落子,以此类推。 认输按钮也没啥可说的,就是认输然后提前结束游戏。 接下来我们来实现一下联机对战,这里我们选择使用TCP/IP协议进行联机通信从而实现联机对战。先启动游戏的一方作为服务器端: ?

    2.2K40编辑于 2021-12-24
  • 来自专栏程序员成长指北

    Node 开发一个多人对战的射击游戏(实战长文)

    margin-bottom: 5px; padding: 3px; text-align: center; } #home input:focus{ border-bottom: 1px solid #8d8d8d ctx.fillStyle = 'white' ctx.fillRect( canvasX - PLAYER.RADUIS, canvasY - PLAYER.RADUIS - 8, ctx.fillStyle = 'red' ctx.fillRect( canvasX - PLAYER.RADUIS, canvasY - PLAYER.RADUIS - 8, 6.gif 碰撞检测 既然完成了玩家的移动及发送子弹逻辑,现在就可以开发对战最重要的碰撞检测了。 我们直接在game.js中添加。 ; } 这个时候我们就可以正常的进行游戏了。 来看看效果。 ? 8.gif 排行榜功能 既然我们已经完成了正常的游戏基本操作,那么现在需要一个排行来让玩家有游戏体验(啊哈哈哈)。

    3K20发布于 2021-05-28
  • 来自专栏CodeBuddy 系列文章

    经典坦克大战:CodeBuddy 轻松打造街机风格的坦克对战游戏

    经典坦克大战游戏,作为街机游戏的代表之一,玩家控制一辆坦克,射击敌人并避免被敌人击中。这个游戏充满了动作和策略,每一局的战斗都紧张刺激。 然而,自从我开始使用CodeBuddyIDE,游戏开发变得轻松而有趣。接下来,我将分享如何通过CodeBuddy快速实现经典坦克大战游戏,让你轻松体验这款经典街机游戏。 DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-<em>8</em>"><metaname="viewport"content="width=device-width constTANK_SIZE=40;constBULLET_SIZE=<em>8</em>;constBULLET_SPEED=5;constPLAYER_SPEED=3;constENEMY_SPEED=1.5;constBRICK_SIZE PHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjM2IiBoZWlnaHQ9IjM2IiBmaWxsPSIjYTBhMGEwIi<em>8</em>+PHJlY3QgeD0iNSIgeT0iNSIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIiBmaWxsPSIjODA4MDgwIi<em>8</em>

    40910编辑于 2025-08-28
  • 来自专栏全栈程序员必看

    用C++实现五子棋人机对战游戏

    如何用C++实现五子棋小游戏呢? 五子棋可谓是家喻户晓了,在科技如此发达的今天,我们能不能用电脑实现五子棋人机对弈呢? else printf(" -"); } printf("\n"); } } 构建的棋盘大概是这个样子: (O是对手,X是电脑) - 1 2 3 4 5 6 7 8 - - - - - - - - - - - - - - - - - - - - - - - - 7 - - - - - - - - - - - - - - - - - - - - - - - - 8 ,因为下一步就是我们进攻了) … (后面就极为复杂了,是经过半个月研究才弄清楚的,详见代码) void checksit(int n,int m){ for(int i=0;i<8; i++){ for(int j=0;j<8;j++){ if(j==i) continue; int num=0; for(int k=

    1.3K30编辑于 2022-07-02
  • 来自专栏小脑斧科技博客

    网络游戏是如何实现对战的呢?本文告诉你

    引言 前几天和同事聊起我之前做电商交易系统时,是如何保证订单数据的最终一致性的,聊到后来,想到一个有趣的问题,显然,对战类网络游戏对于数据一致性的要求更为苛刻,这些对战类网游中,是怎么保证玩家间数据的最终一致性呢 那么,这部主打联机对战的 RTS 游戏是如何实现他的同步机制的呢? 3.3.3 游戏作弊问题 为什么各平台对于 war3 游戏的外挂屡禁不止,尤其是开图挂,正是因为每个客户端的内存中都拥有所有数据,在这样的同步模式下,是没有办法解决的,而所谓的对战平台也只是采用虚拟局域网 但正如上文所说,帧同步有着先天难以解决的几个问题,尤其是对于激烈对战的 FPS 游戏来说,同一场游戏中参与的玩家数量更多,而每个玩家玩家每时每刻都在紧密关注着对手的动态,同时,玩家本身输入的指令更为密集 client-server 模型,由 server 负责对战斗核心逻辑及数据进行实时运算,而每个玩家的客户端则仅负责游戏场景的表现。

    3.6K21编辑于 2022-06-27
领券