您的位置:首页 > 其它

如何写一个简单的局域网游戏

2013-11-28 17:02 246 查看
今天拜读了马士兵TankWar的网络大战
他自己说这个非常土。所以学习学习原理啦。
看看怎么写一个基础的网络版的游戏,当然不能和大型游戏的服务器相比。。简单的局域网游戏应该怎么开发?主要看看他怎么拉开框架的吧!

TankClient
NetClient
TankServer

TankClient
是个单机版的游戏
调用NetClient(这个名字不好)
链接TankServer

服务器和客户端都有TCP和UDP链接
先开始TCP链接

服务端用个篮子保留客户端的相关的信息,哪些相关信息?
1.IP和UDP端口号

这些信息怎么服务端怎么知道的?
1.用之前建立TCP的链接读出来,所以说客户端TCP要发送UDP端口号到服务端

需要一个UUID或者GUID用来区别每个Client,怎么办?
1.可以用服务器静态变量分配,然后TCP传回给客户端,每个Client接受保存,要考虑“银行问题”;

解决以上问题TCP的链接任务就结束了

客户端知道有新的坦克链接服务端,并且在自己的客户端绘制出来?
1.首先要发送自己的UDP消息到服务器
2.服务器要有个UDP线程不停的接受消息
3.服务器要转发UDP消息到所有的客户端
4.客户端要解析服务端转发过来的消息
因为都是接口类型,所以要下行转换的时候要判断类型

怎么发送或者解析?
给个socket让消息自己去发送或者解析吧!

如何封装这些UDP消息?
写一个接口或者协议
1.消息自己知道怎么发送自己
2.消息自己知道怎么解析自己
3.消息的类型

有哪些消息?
新坦克的消息
坦克移动的消息
子弹的消息

怎么解决消息同步的问题?同步线程
每隔一段时间,发送同步消息?简言之,每隔一段时间发送自己的状态

今天看到1.9.8版本还有的明天再说啦~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: