随笔分类 -  WebGame开发

游戏服务器端引擎--DogSE的设计
摘要:就DogSE的设计目标来说,它定位为千人左右的页游服务器,在不修改任何底层模块的情况下可以快速的写各种游戏业务。就算是新人在熟悉2~3天后也可以开始写一个游戏。项目可以从github获得,访问地址:https://github.com/dogvane/DogSE1.DogSE的基本结构对于一个游戏再代码层面可以分为3个部分1.与所有游戏无关的代码(DogSE的Core和Library项目)2.特定游戏类型的基础代码3.具体游戏相关的业务代码对于DogSE来说,它所完成的任务就是与游戏无关的底层代码,在第二阶段,会根据不同的游戏类型,补充一些特定游戏的基础代码,这些基础代码是已例子的方式提供,真 阅读全文
posted @ 2014-02-11 15:45 yahle 阅读(5600) 评论(1) 推荐(0) 编辑
WebGame开发总结
摘要:不知不觉我们的项目开发有2年了,这两年来走了很多弯路,也收获了很多,今天在这里做一个总结。项目基本情况: 服务器端采用c++和c#混合开发,网络层采用c++开发,业务逻辑用c#开发。客户端采用silverlight。数据库采用mysql。GM工具用Asp.net,GM工具盒服务器通讯用wcf,基本把微软的东西都用遍了。 服务器端在开始的时候,使用了某位同事之前开发的一款服务器端引擎,改引擎曾经开源但现在基本不再更新。引擎地址:http://mmorpg.codeplex.com/ 这款引擎在使用上只满足了部分需求,再加上原作者又跳槽,引擎基本是我在维护和改进,不过基本上都往里面加东西,改... 阅读全文
posted @ 2013-07-24 16:55 yahle 阅读(2484) 评论(4) 推荐(0) 编辑
单一世界十万在线webgame的设计思路(五)-- 整体架构和总结
摘要:总结: 虽然对于单一世界的webgame思考了很多,但到最后细化写成文字,也就只有这4篇短文。不是说不想深入细节去讨论,而是发现如果不做一些具体开发就没法深入写下去,因此本系列文章页就在这里点到即止,希望能给大家一些启发。 文章汇总:单一世界十万在线webgame的设计思路(一)-- 服务器数量预估单一世界十万在线webgame的设计思路(二)--数据库表结构划分单一世界十万在线webgame的设... 阅读全文
posted @ 2010-08-23 17:54 yahle 阅读(3818) 评论(7) 推荐(1) 编辑
单一世界十万在线webgame的设计思路(三)--地图模块设计思路
摘要:地图模块: 地图在传统策略类webgame里都是以平面的方式展示和存储的。地图的移动都是在这个平面上实现。但一般来说,平面地图的设计容量都会有一个上限,一般来地图多为400*400,他的人数上限就是16w,实际上服务器容纳3~5w人后,整张地图就会显得很拥挤了。如果要想容纳几百万人在线,平面地图的尺寸就需要扩容得相当大了,这样玩家从地图中间移动到边缘的时间会相当恐怖,因此平面地图在这里不是很合适。... 阅读全文
posted @ 2010-08-20 17:26 yahle 阅读(3114) 评论(0) 推荐(1) 编辑
单一世界十万在线webgame的设计思路(二)--数据库表结构划分
摘要:数据库表设计: 因为要把这么多访问量分担到不同的服务器里,原先的数据库表设计肯定不会合适。初步的想法是根据游戏的逻辑模块,将不同模块的数据库表拆分到各个服务器里,如果按照上面的服务器预估得到的结论是4~6组服务器,实际上这个方案还是可行的。但如果是20组服务器的话,除非是一台服务器一张数据库表,但这的设计会造成数据表太分散,在处理事务的时候,会跨多个数据库 策略类webgame一般的主要模块为:... 阅读全文
posted @ 2010-08-16 17:13 yahle 阅读(3132) 评论(0) 推荐(1) 编辑
单一世界十万在线webgame的设计思路(一)-- 服务器数量预估
摘要:服务器数量预估 在线人数预估: 在项目设计之前,需要先对运营后的服务器人数做一下预估,预计激活人数300w,活跃人数40w,同时在线10w。而服务器的设计极限则在激活人数500w,活跃人数60w,最高同时在线15w。 数据参考: 这里之所以预计这么低的激活人数,是从整个服务器考虑的。《热血三国》是将不同的用户放在不同的服务器里,所以单一服务器的激活人数不会对服务器压力产生太大影响。而如果将所有... 阅读全文
posted @ 2010-08-16 17:10 yahle 阅读(4288) 评论(0) 推荐(1) 编辑
web策略类游戏开发(六)缓存概述
摘要:既然是概述,就没有太多详细的东西,本文主要针对asp.net开发环境。 webgame需要缓存的内容包括 1.游戏的配置信息 2.玩家的信息 阅读全文
posted @ 2009-02-23 22:36 yahle 阅读(3892) 评论(3) 推荐(0) 编辑
公布一个小webgame代码
摘要:游戏的基本策划说明 webgame创意之《吞噬者》 发布项目的地址: http://code.google.com/p/webgame-virus/ 目前代码暂时不提供打包文件,需要下载的请通过svn下载。有空的时候会对代码做整理。 阅读全文
posted @ 2009-02-10 21:39 yahle 阅读(5525) 评论(3) 推荐(0) 编辑
webgame创意之《吞噬者》
摘要:吞噬者 背景:科幻 题材: 类型:休闲益智 特点:模拟病毒的繁衍与竞争,在游戏过程中考验玩家的判断力及决策力 游戏概述: 来自世界各地的玩家带着自己的病毒来到XX实验场室,这里将进行一场病毒大战,在一个超大的培养容器里,病毒可以无限制的繁殖,因为培养容器里存在不同玩家的病毒,因此病毒之间会出现互相吞噬,只有在培养容器里生存得最久的病毒才能赢得这场战争。 游戏模式: 时间片段:每个病毒标准的分裂时间是10分钟,也就是说游戏系统里,每10分钟服务器里所有的病毒会同时分裂一次。 病毒分裂:病毒的繁殖方法,每当一个病毒分裂时会向其周围4个格子分裂出病毒副本,而当前格说存在的病毒则会死亡。 病毒竞争过度:如果同一种(一个玩家)病毒在一次分裂时有2(3)个以上的病毒向一个格子扩张,则该格会出现病毒竞争过度而导致营养不足而死亡,该格不能被病毒占领。 病毒吞噬:如果有2种以上的病毒向同一个格子分裂出病毒,则谁在该格分裂的病毒多,谁能占领该格。如果分裂病毒的数量一样,则双方的病毒都无法占领该格。 病毒投放:在培养容器里任意一个未被病毒占领的格子里投掷病毒,在下一个时间 阅读全文
posted @ 2008-09-06 17:09 yahle 阅读(3410) 评论(0) 推荐(0) 编辑
webgame创意之《坐庄》
摘要:《坐庄》背景:中国/香港/美国股市题材:金融类类型:模拟经营特点:一个按照真实环境运营的虚拟股市,可以与其他玩家在股市里经历一种在现实生活中无法体验到的股市激荡,也许是一夜暴富,也有可能一夜间变为乞丐。新意:通过玩家组建的基金公司,证券投资公司发布各种真假消息来影响公司,进而操控股市。游戏题材取自现实生活中的股市,游戏里的股市与现实的交易规则一致,但股市里的上市公司与现实中的不一样,股市也不与现实... 阅读全文
posted @ 2008-05-27 13:39 yahle 阅读(2621) 评论(1) 推荐(0) 编辑
webgame创意之《超时空要塞之边境》
摘要:《超时空要塞之边境》类型:模拟经营+战略背景:动画《超时空要塞-边境》所描述的宇宙大航海时期游戏描述:模拟经营部分:参考模拟城市,通过重新调整要塞飞船的区域来改变整个要塞的用途。1.居住/娱乐/教育区域:用于提升人口数量2.工厂区域:用于制造防御/攻击用宇宙飞船(改区域可也可建设在扩展飞船上)3.设备区:通过太阳能获得必要能源,通过铁矿石提炼出钢铁(改区域可也可建设在扩展飞船上)3.农业区域:用于... 阅读全文
posted @ 2008-05-27 13:39 yahle 阅读(3043) 评论(5) 推荐(0) 编辑
web策略类游戏开发(五)数据库表设计
摘要:有人希望看数据库表,在这里发一下表设计,基本上没有什么特别的地方需要解释的,数据库的字段名都写得很清楚了。当然,目前的字段只是游戏的基本字段,如果游戏功能多起来后,表设计会比现在复杂。 阅读全文
posted @ 2008-05-19 21:54 yahle 阅读(6924) 评论(6) 推荐(0) 编辑
web策略类游戏开发(四)一个可以承载万人在线的架构
摘要:web策略类游戏开发(四)一个可以承载万人在线的架构Webgame现在已经开始需要进入大统一服务器时代,每个游戏区域容纳的玩家数量将从现在的几万人发展到几十万人,因此在新的背景下,webgame如何处理大量用户的请求将成为问题。目前一台asp.net做的weggame服务器每秒能处理500~1000个页面请求,按照每个玩家每隔3~5秒做一次页面操作(页面请求),一台服务器能承受2k~4k的玩家在线... 阅读全文
posted @ 2008-05-04 13:18 yahle 阅读(6827) 评论(9) 推荐(0) 编辑
web策略类游戏开发(三) 多线程下数据库并发更新的处理
摘要:村庄锁 为了提升写数据库的效率,我们必须解决锁粒度过大的问题,因此在我们的游戏系统里,对锁的粒度进行的细化,细化到村庄级别的对象。 在游戏一张村庄表对应是整个游戏里所有的村庄对象,而一个村庄对象在村庄表里只是一条记录。在使用数据库锁时,其实是告诉其它方法,现在我要写数据库,大家都等一下,等我写好后再写。当我们将锁的对象细化到村庄(一条数据库表记录)的时候,实际是告诉数据库,我现在要修改XXX村庄,大家都别动它,但你要修改YYY村庄我不管。 阅读全文
posted @ 2008-03-03 11:49 yahle 阅读(7825) 评论(4) 推荐(0) 编辑
web策略类游戏开发(二) WebGame事件
摘要:事件系统是整个WebGame系统里一个核心的组成部分,我们用它来控制的进程,让游戏世界里能够24小时运转。 阅读全文
posted @ 2008-02-22 13:18 yahle 阅读(6938) 评论(18) 推荐(0) 编辑
web策略类游戏开发(一) WebGame架构篇
摘要:WebGame可以看作是网站和游戏的结合体,因此它具备了这两类系统的特性。我们不但可以把WebGame看作是一个网站,也可以把它看作是一个网络游戏。 的网站是B/S结构,网络游戏则是C/S结构,WebGame则是这两者的结合我们暂且称之为B/C/S结构。既在用户眼里,它是一个通过浏览器范围的网站。在服务器系统里,它又是一个传统的C/S结构的网络游戏。 阅读全文
posted @ 2008-02-11 13:14 yahle 阅读(10779) 评论(3) 推荐(1) 编辑