包包版网络游戏大厅+桥牌系统 序
2008-07-05 13:29
253 查看
返回目录
这是我两年前离职在家,用一个半月写的一套源码,写完后就公布了所有代码,将近8k的代码量,当时还是基于.NET 1.1的,具体介绍见这篇文章:棋牌游戏大厅简介。
源码下载地址:http://files.cnblogs.com/Jax/PlayCard.rar
时至今日,又一次离职在家,翻看之前的设计文档,很多感慨,2年的技术沉淀,使我对这套源码又产生很多新想法。
还有就是,最近看到博客园首页上关于“网络游戏大厅”话题很热,但是仔细拜读了若干文章之后,发现有很多问题,比如说没有涉及到关键技术,包括架构、异步通信和游戏逻辑这些真材实料,而是以刺激性的言语+多幅游戏截图,来吸引大家的眼球。这样的文章会误导很多新人,同时,会导致博客园的文风往“假大空”的方向发展。对此,我持抵制态度。技术文章,还是要严谨为主,可以适当幽默,但是过度yy,就不免哗众取宠了。
因此,更觉得有必要详细讲解一下“网络游戏大厅”的设计思路,而暂时停止手头的一些事情。
我的一些具体感受是,用C#开发网络游戏,不划算。最多是代码逻辑架构比较清晰,但是效率大打折扣,所以大家不要太热衷于这方面的开发,没有前途的,最多是练练手。我会在接下来的一个系列,介绍我的设计思想以及开发心得,包括当初设计的一些失败之处。
以下是我这套源码的一些主逻辑:
1 基于C# TCP Socket异步通讯 多线程 开发
2 近60个自定义通信协议 使用了序列化技术 传输byte流
3 二级代理技术 开始打牌后,指定其中一人为ProxyServer,打开Socket,承担与其他三人打牌逻辑的判断,打牌结束后由其负责 通知主Server 实现了均衡负载,让Server负担大幅度减轻
4 在Server端 将连接方存入哈希表,这样Server想发信息给谁 都可以点对点发送
5 主裁和边裁的设定 分别在CLient和Server端验证
6 Flyweight模式画 手中的牌
7 Observer模式 负责窗体间的通讯
8 由于是在一台机器上开发, 所以用同一IP不同端口来模拟 不同IP的玩家,所以要略作修改才可以实现不同IP的玩家进入大厅
以及未完成的部分
1 出过的牌 显示: 数据已经准备好 就差表现出来
2 分数的显示:数据已经准备好 就差表现出来
3 界面的美化 由其是排版
4 用Strategy 实现 拱猪/桥牌/80分 的不同玩法 甚至是棋牌的不同玩法
5 强制退出游戏的处理
6 CardControl的闪烁问题
这是我两年前离职在家,用一个半月写的一套源码,写完后就公布了所有代码,将近8k的代码量,当时还是基于.NET 1.1的,具体介绍见这篇文章:棋牌游戏大厅简介。
源码下载地址:http://files.cnblogs.com/Jax/PlayCard.rar
时至今日,又一次离职在家,翻看之前的设计文档,很多感慨,2年的技术沉淀,使我对这套源码又产生很多新想法。
还有就是,最近看到博客园首页上关于“网络游戏大厅”话题很热,但是仔细拜读了若干文章之后,发现有很多问题,比如说没有涉及到关键技术,包括架构、异步通信和游戏逻辑这些真材实料,而是以刺激性的言语+多幅游戏截图,来吸引大家的眼球。这样的文章会误导很多新人,同时,会导致博客园的文风往“假大空”的方向发展。对此,我持抵制态度。技术文章,还是要严谨为主,可以适当幽默,但是过度yy,就不免哗众取宠了。
因此,更觉得有必要详细讲解一下“网络游戏大厅”的设计思路,而暂时停止手头的一些事情。
我的一些具体感受是,用C#开发网络游戏,不划算。最多是代码逻辑架构比较清晰,但是效率大打折扣,所以大家不要太热衷于这方面的开发,没有前途的,最多是练练手。我会在接下来的一个系列,介绍我的设计思想以及开发心得,包括当初设计的一些失败之处。
以下是我这套源码的一些主逻辑:
1 基于C# TCP Socket异步通讯 多线程 开发
2 近60个自定义通信协议 使用了序列化技术 传输byte流
3 二级代理技术 开始打牌后,指定其中一人为ProxyServer,打开Socket,承担与其他三人打牌逻辑的判断,打牌结束后由其负责 通知主Server 实现了均衡负载,让Server负担大幅度减轻
4 在Server端 将连接方存入哈希表,这样Server想发信息给谁 都可以点对点发送
5 主裁和边裁的设定 分别在CLient和Server端验证
6 Flyweight模式画 手中的牌
7 Observer模式 负责窗体间的通讯
8 由于是在一台机器上开发, 所以用同一IP不同端口来模拟 不同IP的玩家,所以要略作修改才可以实现不同IP的玩家进入大厅
以及未完成的部分
1 出过的牌 显示: 数据已经准备好 就差表现出来
2 分数的显示:数据已经准备好 就差表现出来
3 界面的美化 由其是排版
4 用Strategy 实现 拱猪/桥牌/80分 的不同玩法 甚至是棋牌的不同玩法
5 强制退出游戏的处理
6 CardControl的闪烁问题
相关文章推荐
- 包包版网络游戏大厅+桥牌系统 附录1 通信协议
- 包包版网络游戏大厅+桥牌系统 1.发牌
- 包包版网络游戏大厅+桥牌系统 3.从登录说起
- 包包版网络游戏大厅+桥牌系统 目录 更新到第4章
- 包包版网络游戏大厅+桥牌系统 2.游戏大厅的基本架构
- 包包版网络游戏大厅+桥牌系统 4.终于可以聊天了
- Unity网络教程翻译(三)多人游戏大厅
- 预告和目录: Wayne Game Solution 0.1 网络游戏大厅 从最基础开始
- 网络游戏经济系统的平衡性测试
- 基于TCP的网络游戏黑白棋系列(三):游戏大厅
- 开源网络游戏激起了学生们对Linux系统的兴趣
- 基于TCP的网络游戏黑白棋系列(三):游戏大厅
- 准备升级包包版游戏大厅
- unity3d 网络游戏任务系统设计考良(待续)
- 游戏辅助开发工具—TC、按键、易语言网络验证系统制作
- JHServer网络游戏服务器开发系统说明书
- 探讨游戏服务器压力的三座大山——数据库、网络以及系统资源(1)
- 网络游戏服务器开发:脚本系统的制作,linux下使用tolua制作Lua脚本系统(不需要PKG文件)
- 用Robot Framework+python来测试基于socket通讯的C/S系统(网络游戏)
- 网络游戏服务器之 日志系统