如何从0开始开发一个实时联机游戏

这是一篇严肃的联机游戏开发入门介绍,本文所述代码开源,文末可获得地址。

关于游戏的实时联机对战,目前是很多游戏开发者研究课题,也延伸出了很多概念,如“状态同步”、“帧同步”,目前很多游戏开发框架也提供了这样的开发一些理念和组件,比如unity的The High Level API等等。

本文不希望传授如何用框架、服务端引擎等来搭建一套商业级的框架。而是希望从最基本的网络通信原理开始,一点点的进行朴素的分解和搭建,旨在从原理上概述联机游戏的设计思路以及抽象于计算机网络的通信框架如何设计和构建。

我个人编写这套DEMO包括完整的客户端和服务器,也是用于调研工作室游戏《汉家江湖》后续的实时联机部分如何搭建和开发,并且后续作为我们自己的一个实时联机通信框架的测试程序。

这里写图片描述
实际完成的DEMO如上,每个玩家是一个点,只有一个操作:使用左下的虚拟摇杆进行方向控制。在移动过程中不断喷射子弹,命中对方即可扣血,在规定时间内比谁的击杀的人数多。由于是一个简单的DEMO,我们不在美术上做太多东西(请原谅我的五毛钱PS技术),主要是为了讲解程序如何来设计。

工具部分,客户端我们使用unity开发,服务端我们直接从0开始写一个基于socket的服务器。

我们使用状态同步来做这个DEMO(理论上帧同步机制是更加适合这种IO类游戏的,我们为了逻辑清晰简单,先用状态同步来做,后续有时间我再补帧同步的方案。)

状态同步

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值