最近把家中电脑的系统从ubuntu9.10升级到10.04. 之前工作的好好的Accton WN4201无线网卡罢工了。 iwconfig找不到网卡,应该是驱动的问题,之前使用的驱动为prism54,但在ubuntu 10.04中prism54为p54pci所代替,修改文件(/etc/modprobe.d/blacklist.conf)把驱动切换回prism54后,一顿更新还是不行。 最后抱着试试看的心态把驱动切换回p54pci,dmesg显示信息为Cannot find firmware (isl3886pci)。从http://lekernel.net/prism54/firmware/2.7.0.0.arm处下载prism54最新pci固件,然后重命名复制(sudo cp 2.7.0.0.arm /lib/firmware/isl3886pci)该固件到/lib/fireware/isl3886pci。重启后无线网卡复工,本次折腾就此结束。 总结,如果一开始仔细看dmesg的信息就不会在prism54上浪费那么多时间了。:(
在多次调整开发目标和数次重构后,基本完成了服务器端代码的开发,客户端代码需要调整任务还比较大。服务器端完全摒弃了smartfox框架,自己用netty写了一个socket server以及网络棋牌的相关底层模块。一些经验总结如下: 系统功能和具体棋牌玩法的功能分割开来,具体的棋牌游戏玩法以插件的形式存在。 不同棋牌玩法中公共的功能抽离出来,组成功能模块,再今后增加游戏玩法时,仅需要关注具体游戏逻辑。 对于客户端过来的数据包采用事件监听机制来分发到系统模块或者具体游戏实体处理 在具体游戏实体模块中,针对棋牌游戏特点,倾向于采用状态模式来处理客户端的数据。 服务器是唯一保持一个游戏过程中所有状态的,当服务器同客户端发成冲突时,以服务器状态为准。 服务器需要保存一个游戏的全过程,采用备忘录模式,存储状态。
简单介绍:之前很少涉及游戏的开发,最近工作有这方面的需要,以学习和研究为目的准备开发了一个网络棋牌游戏系统的原型,并将过程中一些经验体会记录下来。 系统描述:网络棋牌系统向用户提供在线互动棋牌游戏服务的游戏平台,内有各种规则的棋牌游戏,玩家选择相应的游戏,通过网络与同游戏的其他玩家通信,游戏的体验同实际进行同样棋牌游戏的体验类似。这次我以研究为目的开发的系统目前仅专注于棋牌游戏通用的逻辑与技术实现,以积累棋牌游戏开发经验。 技术描述:本原型采用flash作为前端展现技术,服务器暂时采用smartfox server作为服务器基础实现,用actionscript语言编写smartfox扩展的方式来实现自有逻辑。服务器与客户端采用相同的语言来编写,一些代码可以实现复用。,研究了smartfox服务器端插件的代码后发现,smartfox是基于java的,对于actionscript和python的支持比较有限,是分别通过mozilla的javascript parser和jpython来实现对于actionscript-like和python-like的代码解析,并不是真实的actionscript和python执行环境,最后决定用java来编写smartfox的服务器端扩展,当初想偷懒服务器端和客户端代码复用的想法落空了:(。在后续的研究中,考虑用python的twisted库编写服务器端底层功能以代替smartfox server。 update: 因为采用java来写服务器端部分,过程中发现smartfox并不是很适合当前的应用,代码写到现在只是用smartfox作为socket数据的转发了