帧锁定同步算法

帧锁定算法解决游戏同步

早期 RTS,XBOX360 LIVE游戏常用同步策略是什么?格斗游戏多人联机如何保证流畅性和一致性?如何才能像单机游戏一样编写网游?敬请观看《帧锁定同步算法》 《帧锁定同步算法》转载请注明出处:

http://www.skywind.me/blog/archives/131

算法概念

该算法普遍要求网速RTT要在100ms以内,一般人数不超过8人,在这样的情况下,可以像单机游戏一样编写网络游戏。所有客户端任意时刻逻辑都是统一的,缺点是一个人卡机,所有人等待。

  1. 客户端定时(比如每五帧)上传控制信息。
  2. 服务器收到所有控制信息后广播给所有客户。
  3. 客户端用服务器发来的更新消息中的控制信息进行游戏。
  4. 如果客户端进行到下一个关键帧(5帧后)时没有收到服务器的更新消息则等待。
  5. 如果客户端进行到下一个关键帧时已经接收到了服务器的更新消息,则将上面的数据用于游戏,并采集当前鼠标键盘输入发送给服务器,同时继续进行下去。
  6. 服务端采集到所有数据后再次发送下一个关键帧更新消息。

这个等待关键帧更新数据的过程称为“帧锁定” 应用案例:大部分RTS游戏,街霸II(xbox360),Callus模拟器。

……

阅读全文

PY2EXE的启动步奏参考-科学的发布

周末读了一下Py2Exe的代码,偶然发现Py2Exe的实现,是一套很成熟的客户端发布方式,不限于只有 Python项目可以参考,Py2exe启动步奏如下: Py2exe启动步奏方式参考:

  1. 主程序启动,尝试在本EXE的资源中找到zip过后的PythonXX.dll的数据
  2. 如果找到 PythonXX.dll数据则unzip后以memory dll方式加载并导出接口
  3. 初始化 memoryimporter,给python提供在内存中import一个pyc或者dll的功能
  4. 利用memoryimporter加载 ctypes.pyd模块
  5. 利用py2exe_util.c中的方法,加载程序所需要的资源:ICON等
  6. 在资源中初始化 zlib.pyd等必要模块
  7. 在资源中找到初始化,以 __main__ 的命名开始转入Python脚本
……

阅读全文

学习游戏编程的八大误区

误区一:很多作品只能叫做 “程序” 而不能称为 “游戏”
误区二:执着于各种技巧而忽视了基本素质的培养

误区三:执着于流行的API,认为:
会写游戏 = 掌握一两套API

误区四:执着于大而全,系统就像一只吞噬了各种化学品的魔兽
误区五:执着于引擎创作爱重复劳动:
最失败的引擎 = 拿来主义 + 函数改名

误区六:不消于使用脚本语言,喜欢CPP至上论
误区七:缺少科学的测试方法,写出来的程序BUG不断
误区八:作品缺乏游戏性,程序设计缺乏美感

……

阅读全文

推荐业余作品 - Hurricane2

clip_image002

Hurricane2

给大家介绍这款充满速度感,爽快感,连续性强的动作游戏。游戏里主角需要杀死各类敌人,获得高分,除使用不同招数和连续技外,还能利用各种致命武器,屠杀敌人。

基本操作:

用WSAD移动,双击移动键可以快速闪,鼠标左健搏斗,右键打开瞄准器,这时按下左健就可以射击,必杀技和武器希望您在游戏中探索,不过如果您能杀满350人,基本上就没秘密可言了:

……

阅读全文

Python少打字小技巧

说明:增加代码的描述力,可以成倍减少你的LOC,做到简单,并且真切有力 观点:少打字=多思考+少出错,10代码行比50行更能让人明白,以下技巧有助于提高5倍工作效率

1. 交换变量值时避免使用临时变量:(cookbook1.1)

老代码:我们经常很熟练于下面的代码

temp = x
x = y
y = temp

代码一:

u, v, w = w, v, u

有人提出可以利用赋值顺序来简化上面的三行代码成一行

代码二:

u, v = v, u

其实利用Python元组赋值的概念,可更简明 — 元组初始化 + 元组赋值

2. 读字典时避免判断键值是否存在:(cookbook1.2)

d = { 'key': 'value' }

老代码:

if 'key' in d: print d['key']
else: print 'not find'

新代码:

print d.get('key', 'not find')
……

阅读全文

文莱旅游-SINPLAY

clip_image001

我们是红旗下成长的少年—-愿乘长风,破巨浪,帮助他乡人民早日得解放。。。。

clip_image002

苏丹王宫–世界上最大的屋子(占地两公顷多的一栋房屋)

clip_image003

王徽

clip_image004

苏丹纪念官

……

阅读全文

游戏高手的境界

游戏高手也分三流九等,随着游戏软件已经越来越复杂,而人和人之间的竞技性也越来越白热化。

我是一个有十七年游戏经验的老玩家了,从世嘉八位机到现在的网游,虽然不敢说有什么高深的见地,但,在大多数游戏中,我所碰到的对手,都经不起我两三个回合的摧残。深刻相信“游戏,是人的本性”的我不太喜欢打一些慢节奏的游戏,觉得只有格斗和即时战略才能体现竞争的残酷,成王败寇的铁则跟现实没什么两样。而我说到我最纯熟的当数格斗和星际,星际成都第二,格斗成都第三的都死在我的键盘之下,这几年打这两个游戏的玩家少了, 所以我旦逢一遇到对手,听说“某某某格斗打的还可以,谁谁谁星际还挺行”我就会异常激动,不远千里请他过来过一招半式,我要声东击西,指南打北,用变化无穷的战术和他比个高下,但是一次次的我失望了,看着对手低头离去,我仰头看着他的背影,心中一片胜利过后的空虚,一个人提着键盘站在电脑旁,茫然四顾,试问天下之大,尽难逢我的对手。

星际里我凭借无穷的战术,运筹帷幄决胜千里;格斗中我拳打北山猛虎,脚踢南海威龙。我有座右铭:“凭你先选人物,再凭你让我选”。一般高手的能在一个游戏上出类拔萃,但除此之外都平平无奇;顶极高手在许多游戏中都能至人于死地,虽然,在我看来他们都根本达不到所谓达人的境界。真正的高手,凭借的不是再某款游戏上精湛技巧,而是凭借自己惊人的学习能力和触类旁通的天性。一个游戏,我可以输给你,但是我保证,数盘之后你再没有 可能赢我。

星际四川省第一的人曾经说过“打星际最重要的控制节奏”,就是说丝毫不能慌乱,该怎么着就怎么着,我觉得每个游戏都是这个道理。三流高手比技巧,二流高手比反应,一流高手比心性。不管局势如何,哪怕我只剩最后几个兵,只有最后一丝血,心里面一定不能出乱子,一定要沉住性子。首先要顺应自身的规律,其次要顺应游戏的规律,最后做到以自身的规律配合游戏的规律,人的左右手和眼睛随着游戏的变化而变化,但是人的心不能变只有做到 心如止水,才能以不变应万变。打游戏是这个道理,做人做事同样是这个道理。

……

阅读全文

两次结对开发尝试

前段时间,项目三个开发者主要忙于确定一些具体技术,工作效率很低,两个同事一个负责服务器进程间通信模块的制作,一个负责数据库的线程池访问。这些知识他们都有,只是不够熟练,这些地方都是很容易耽误时间的,一位同事调整一个线程池,三天一下就投进去了,有时就是漫无目的的查资料,我当时看着干着急。

那天晚上回家,突然想起来,唉,干脆试试结对开发怎么样,连夜总结了一下问题和要点,于是连续几天的XP就开始了,起得了一些好的效果。回顾一下自己一直以来认同XP却异或结对开发,主要有几个阶段:

好奇阶段:早在一年前的事情了,一样和大家好奇的查阅资料,抽时间的认真尝试了几回,自己就先疑惑起来,同时通过查阅资料我也找到了很多负面报道,比如国外已经跳出人来说结对开发有问题,又比如中科院有家研究所,花了半年测试XP,得出结对开发不行的结论,七八条专家理由,自已也怀疑了。

排斥阶段:觉得结对开发有打压开发者的效果,首先是一个人写一个人看,写的那个人再高明难免犯错看的人抓住口实后和你争论,你一边写代码一边想问题,自然言语落下风,轻者散失声誉,重者没了自信。“平等、妥协”难以单方面强求,所以当时认为开发者应该适当保持距离的同时做一定的重复劳动满足自我价值实现。觉得挨得那么近结对开发,似乎对个人成就感是种磨灭,因为剥夺了代码的个人所有权,大家觉得价值得不到体现了,所以当时 的心态比较极端。

……

阅读全文

治安问题闲扯

前段时间关于个人所得税改革,升高了低收入的收税起征点,有专家反驳,说:“剥夺了大部分人上税的合法权利” 有人骂专家,说“再收税,恐怕就出陈胜吴广了”,我在广州这点感触深啊,公司东边是飞车党,西边是砍手党,北面是背包党,南面是踩脚党。

在广州,2/3的上班女性都有被抢的经历:砍手党就是抢你东西,你不给就砍你的手;踩脚党是故意把脚放在你面前,你只要踩了他,他就找茬。治安问题,珠江三角已经提前迈了一步了,从前几年的流动人口为主的乱,发展到现在的地下组织形式为主的乱了。

何新:“我曾经研究中国秦汉以下两千年的中国历史…结论是,除了外族入侵,基本上中国发生天下大乱的原因只有一个,就是土地兼并导致大量农民失去土地,无业可就,成为流民,从而揭竿而起。 现在人们似乎忘记了历史。目前中国的社会失业问题严重到已接近可怕的程度。无数青年人失去了机会,铤而走险。… ”

前两久听评书,曾国藩处理天津教案,说道黑龙会蛊惑群众烧教堂,太象了,和现在一些形式。
参考天津教案的情况,下面是关系图:

农民失去土地 + 政治问题 -> 无业人口 -(涌入城市)-> 黑社会(黑龙会) -> 团结底层人民  
无业游民增加 + 知识分子失业 -> 城市边缘人口增加 -> 城市边缘文化成为主流  
黑龙会 + 官商勾结 -> 产生老百姓自己解决“公正”的“地下公堂” -> 政府信誉下降  
地下公堂 + 突发事件 -(政府处理不当)-> 法国公使桥头开枪 -> 火烧教堂 -> 乱

原来全国地痞流氓都很均匀,但现在他们都来南方混了,虽然说他们目前这样是不会有出息的,后期拥有群众基础和政治组织能力会获胜,虽然这些人多是一群无赖而已,但怕就怕读书人和无赖呆一起。

……

阅读全文