最新评论
我最近做了一个应用,直接将app和web放在同一个进程里面,两个端口,app一个端口,web一个端口,共用一组io线程、一组异步线程、一组同步线程,当前的应用主要是为了解决大量的即时数据显示问题,将显示部分交给html表现,因此选用http协议,走web部分,其他走app部分,效果还不错,前段时间我们还在讨论这个组合用在webgame里面更合适,呵呵。
业务逻辑之后还可以有一层写缓存,这样db的压力就下来了。
一般都把一个世界分成多个地图,每块地图是一种服务器,夸地图时,用户数据的进行拷贝,一般地图交界区域是山或海,不能发生战斗等行为的地方,这样便于数据状态的管理,有利于数据服务器之间的迁移
Re:公布一个小webgame代码 McJeremy&Fan 2010-02-02 16:50
最近准备学习学习webgame的开发。
---
楼主提供的下载地址没有相关的文件啊?
是否可以打包发给我一份?
ilwm1984@163.com
----拜谢先~~
Re:公布一个小webgame代码 Richet 2009-12-07 18:12
楼主,没找到对应的文件哦,,
数据多的时候有时候jQuery接收不到json数据,为什么?为什么?为什么?!!!
Re:web策略类游戏开发(五)数据库表设计 yahle 2009-08-25 09:31
我用MSServer可以精确到毫秒,其实毫秒的差别,你也可以试着用ID做排序依据。
您好,我也在制作网页游戏,有个问题想请教下。
你建的表中对时间都用datetime,但当几个事件在同一秒中的话就没法区分毫秒的先后了。不知你用什么数据库,如何是MYSQL的话,datatime无法包含毫秒,
我目前的做法有几种可选:1.用长整型,存储毫秒数,缺点是数据库中查看不直观,2.用包含毫秒的固定格式的字符串,2009-04-27 11:02.123,
请问你是怎么处理这个事情的?
@*僵@尸.net国@宝*
对于资源的增长是没必要1s读一次,文章里1s扫描表一次是为了获得建筑物升级的事件。
Re:web策略类游戏开发(六)缓存概述 yahle 2009-08-20 18:38
@光年
如果真的要存储,建议放数据库,或者写入文件,不过一般来说,聊天这种东西,丢了也就丢了。
有个问题想请教,一个聊天的系统中,存储聊天的信息,存在任何介质中 都会被IIS回收掉 该怎么解决
re: web策略类游戏开发(二) WebGame事件 *僵@尸.net国@宝* 2009-05-23 11:38
楼主,我有一个这样的想法。事件莫非就是要改变数据库的值,要是存对象,我可不可以只存一个操作数据库的对象如SqlCommand对象呢?
触发器?没了解,要我
我会写个system.timers.timer就好了
资源增长用没间隔一段时间来处理感觉挺好的,除了每间隔固定时间记录,还在资源增长量变化的时候记录就足够了,并没有不准确吧?
re: web策略类游戏开发(二) WebGame事件 *僵@尸.net国@宝* 2009-04-28 17:45
资源的升级为什么要每秒去取呢?不知道这样行不,当有改变资源的动作时才去修改数据库的资源信息,而页面看到的总是js自己控制的。当数据库的资改变了后再同步一下页面的资源,这样不就能减少对数据库的读操作了吗?
re: web策略类游戏开发(五)数据库表设计 *僵@尸.net国@宝* 2009-04-27 11:02
顶一下。
warII webgame 通用逻辑服务器引擎
warII, 一款适合大型商用的战略类网页游戏(webgame)通用逻辑服务器引擎,以c++实现高效的服务器性能,以python脚本实现快速的逻辑变更,以socket tcp为接口方式讯。
支持国家、城市、军队、公务人员的常用操作,和无穷个自定义操作。每个对象支持无穷的自定义变量。
一般游戏逻辑下,IBM刀片服务器处理能力,同时在线人数可以轻松超过5万甚至更多。
感兴趣的开发公司或团队可以到到这里了解产品:
http://www.warII.org/enginedetail.html
这篇文章说的很好。思路架构也跟我们的产品基本一致。请看广告
warII webgame 通用逻辑服务器引擎
warII, 一款适合大型商用的战略类网页游戏(webgame)通用逻辑服务器引擎,以c++实现高效的服务器性能,以python脚本实现快速的逻辑变更,以socket tcp为接口方式讯。
支持国家、城市、军队、公务人员的常用操作,和无穷个自定义操作。每个对象支持无穷的自定义变量。
一般游戏逻辑下,IBM刀片服务器处理能力,同时在线人数可以轻松超过5万甚至更多。
感兴趣的开发公司或团队可以到到这里了解产品:
http://www.warII.org/enginedetail.html
re: web策略类游戏开发(六)缓存概述 warII.org 2009-03-21 20:52
warII webgame 通用逻辑服务器引擎
web脚本(php/jsp)socket协议向引擎发送操作指令
支持国家、城市、军队、公务人员的常用操作
和无穷个自定义操作
每个对象支持无穷的自定义变量
后台游戏逻辑支持python脚本
一般游戏逻辑下,IBM刀片服务器处理能力,同时在线人数可以轻松超过5万甚至更多
各开发团队如果感兴趣可去网址看看。
http://warII.org/enginedetail.html
re: webgame创意之《超时空要塞之边境》 细佬仔五识世界 2009-02-16 21:11
游戏创意书不是要写故事情节的吗?
re: 公布一个小webgame代码 黑羽飘舞 2009-02-11 09:24
有必要顶下
还有个问题:后台服务进程定时(1s)从数据库里取结束时间<当前事件的事件进行处理,不知能否处理得过来,如果队列很长会出现一些异常吗?如果不是1S的话,实时性又无法保证,不知楼主有何见解?
某些时候的确会发生处理不过来的情况,这个对游戏体验来说,不是太大的问题,只要延时不超过2s,用户是感觉不到的,而且这种运算波峰通常不会持续太久,如果真的持续很久,那就得考虑换服务器了。
--------------------
还有:如果 后台服务进程定时(1s)从数据库里取结束时间 这样的话,会不会造成频繁操作数据库而down掉呢?
1s取一次不会造成down机的,绝对的不会。当然如果你不方向,可以采用缓存,一次取60s的数据放着然后再慢慢执行。
re: webgame创意之《坐庄》 Arlen 2009-02-10 11:21
非常好的idea!
re: web策略类游戏开发(二) WebGame事件 skyfeathers 2009-01-17 11:19
还有:如果 后台服务进程定时(1s)从数据库里取结束时间 这样的话,会不会造成频繁操作数据库而down掉呢?
re: web策略类游戏开发(二) WebGame事件 skyfeathers 2009-01-17 11:18
还有个问题:后台服务进程定时(1s)从数据库里取结束时间<当前事件的事件进行处理,不知能否处理得过来,如果队列很长会出现一些异常吗?如果不是1S的话,实时性又无法保证,不知楼主有何见解?
我也对这个有疑问,望楼主解答下,谢谢.
请教一下:toJSON(value),$.parseJSON(json_str, [safe]).有什么区别,或者说它们的用法
如果里面有日期类型的属性就没有办法,如我有一个javascript对象
var jsObj = {birthday:new Date()};
$.toJson(jsObj);//输出{"birthday": {}}。
不好意思 ,习惯了按ctrl+enter换行了
博主有个问题啊,那还是得有个时间扫描才知道什么时候升级结束啊 是这样吗
--引用--------------------------------------------------
这里有点不明白,请问,如果用户最近一次点击升级,然后用户美育哦作任何修改资源的动作(事件),直接把浏览器关了,那资源什么时候写入数据库?
--------------------------------------------------------
如果没有做过任何操作,哪么等建造升级结束后,会触发一个建筑物升级结束事件,会在这个事件里写如资源等相关数据
--引用--------------------------------------------------
这里有点不明白,请问,如果用户最近一次点击升级,然后用户美育哦作任何修改资源的动作(事件),直接把浏览器关了,那资源什么时候写入数据库?
--------------------------------------------------------
如果没有做过任何操作,哪么等建造升级结束后,会触发一个建筑物升级结束事件,会在这个事件里写如资源等相关数据
re: web策略类游戏开发(五)数据库表设计 stderr 2008-10-06 14:38
有个问题我一直在琢磨,webgame的persistence怎么实现?实时还是定时?目前几款线上游戏似乎都是定时的。也就是程序在内存里跑大概一个星期,然后找一天凌晨进行服务器维护,这个时候把内存里的写入数据库。这样做似乎会有回档的风险。但是实时储存又有性能问题。
楼主能不能分享下你的看法?谢啦。
其实用分步式服务器
把日志,静态数据和临时表分开存放
比如静态表用一个比较差的服务器就可以解决了
任何一部动画在制作前都会先设计它的背景的,所以就算超时空要塞F的动画没出完,但它的背景可定已经完成是确定的,只不过背景内容是随着动画逐步放出。
对于制作游戏来说,我们需要的只是动画背景里的一部分,而且游戏制作周期也比较长,等游戏差不多出来后,动画也差不多完结了。
--引用--------------------------------------------------
这里有点不明白,请问,如果用户最近一次点击升级,然后用户美育哦作任何修改资源的动作(事件),直接把浏览器关了,那资源什么时候写入数据库?
--------------------------------------------------------
如果没有做过任何操作,哪么等建造升级结束后,会触发一个建筑物升级结束事件,会在这个事件里写如资源等相关数据
所以,我们的系统就只有在用户执行事件(瞬时的和非瞬时)的时候才将新的资源信息写入数据库。平时显示资源的时候用
(当前时间 - 上一次更新事件)*资源每小时产量+上一次更新产量
公式计算出当前资源并显示在页面上。也就是说,每次页面更新时重新计算资源,但只只要用户没有做任何修改资源的动作(事件),就不会把重新计算后的资源写回数据库。
-------------------------------------------------------------
这里有点不明白,请问,如果用户最近一次点击升级,然后用户美育哦作任何修改资源的动作(事件),直接把浏览器关了,那资源什么时候写入数据库?
webgame现在很火,而且预期还会越来越火,但是做webgame的人似乎都很分散,在网上几乎碰不到,所以建了个qq群,欢迎大家加进来一起打屁吹水
我是做策划的,不过是菜鸟中的菜鸟。另外还有一定的技术背景,现在在学Flex。。。
欢迎webgame策划、研发、运营的人都进来侃webgame
群号:63743560
《家园》没玩过,但看过游戏视频,游戏的理念差不多,都是在一艘母舰的基础上发展出自己的舰队,然后就是星际战争。
很多想法和我不谋而合啊
比如舰队化的家园模式的webgame
挂机挖矿等等
我觉得可以把事件分成几类,我认为肯定不会多,尽量统一,用统一的数据库表保存,可能有若干字段冗余,参数保存在数据库中,这样减少反序列化的过程,我觉得有利于效率的提高?不知楼主主要出于什么考虑?
还有个问题:后台服务进程定时(1s)从数据库里取结束时间<当前事件的事件进行处理,不知能否处理得过来,如果队列很长会出现一些异常吗?如果不是1S的话,实时性又无法保证,不知楼主有何见解?
看了楼主的文章,受益匪浅,谢谢你的分享!
--引用--------------------------------------------------
WebGame: 为什么要用序列化的方式?
我觉得只要几个字段来保存事件的相关参数值,这要不用序列化,效率岂不是要高些?
我想请教下为何要使用序列化保存事件参数?
--------------------------------------------------------
不用事件保存的参数是不一样的没法用一个统一的数据库表保存,因此在我的设计里每个事件设计成一个独立的对象,然后通过xml序列化的方式保存到数据库里。当然实际运用中也可以采用二进制序列化,效率会好很多。
为什么要用序列化的方式?
我觉得只要几个字段来保存事件的相关参数值,这要不用序列化,效率岂不是要高些?
我想请教下为何要使用序列化保存事件参数?
--引用--------------------------------------------------
HugeMonster: 顶
问题一个:
在反序列化时,你怎么知道EventObject是什么类型的?
--------------------------------------------------------
因为每个事件都定义了一个type,可根据这个type做一个hastable,使type和反序列化的对象对应起来