恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
The group you are posting to is a
Usenet group . Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
From:
老范 <fanyun2... @gmail.com>
Date: Sat, 4 Jul 2009 10:49:11 +0800
Local: Fri, Jul 3 2009 10:49 pm
Subject: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
关于我在多篇文章中都隐晦含糊的提到: 时钟要保障每台不同的机器有相同的运算结果 这个问题进一步解释一下,希望能讲明白。
比如对战的双方 P1, P2 各自采用了不同的算法。 P1 需要运算 10000 次(CPU 频率) 可以得出结论,并发出行动指令。 而P2 要运算500000次 可以得出结论,并发出行动指令
如果我们固定使用1秒的时间节拍情况下:
慢的机器可能 P2 没有算完,时钟节拍就到下一拍了。 这个时候相当于 P1 开始行动,而P2 原地没动。 当P2 在若干拍后算完,此时已经时过境迁,P2 开始运算前考虑的战场环境已经完全变了,P2 算出来的结果已经无用,需要重新算了。所以 P1 痛宰P2.
而如果用一台快的机器,P1, P2 都能在1秒内算完。 此时虽然P1 提前算完,但是还是要等节拍到了才能生效。 因此P1,P2 就正常对战起来。 而由于P2 考虑因素更多, P2 获胜了
这种比赛结果的不确定性,显然不利于大家积极参加游戏。
这就是所谓 * 时钟要保障每台不同的机器有相同的运算结果 *; 我的初步构想是要在系统启动后,对于机器运算速度进行测速(比如运行一些标准的复杂运算), 也就是获得比如该机器进行10000万次标准运算的时间。 并以此为基准,确定该机器上的每次时钟节拍应该是多少毫秒. 当然也不可能100% 相同,但是至少相对公平些。
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
"Zoom.Quiet" <zoom.qu... @gmail.com>
Date: Sat, 4 Jul 2009 13:09:43 +0800
Local: Sat, Jul 4 2009 1:09 am
Subject: Re: [ECUG:461] 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
2009/7/4 老范 <fanyun2
... @gmail.com>:
> 关于我在多篇文章中都隐晦含糊的提到: 时钟要保障每台不同的机器有相同的运算结果 这个问题进一步解释一下,希望能讲明白。
直接说,这个时钟,就是战场中行动允许的令牌好了!
- 双方不论实际运算用的CPU时钟也好,自然的太阳历时间也好,在EB 中都不存在!
- 双方只有获得EB时钟的授权才可以给出行动指令
- EB时钟单位是"秒",即EB根据内部约定的固定节拍,定期统一向双方发送"秒"通告
- 每EB秒的开始由EB决定发布,
* 结束~俺建议是收到双方的一次行动指令为结束
* 这样可以确保将来分布式对战时,EB时钟的统一性
* 但是有个上限,比如说 13自然秒,以避免网络等问题时,EB无限等待下去...
是也乎?
> 比如对战的双方 P1, P2 各自采用了不同的算法。 P1 需要运算 10000 次(CPU 频率) 可以得出结论,并发出行动指令。 而P2
> 要运算500000次 可以得出结论,并发出行动指令
> 如果我们固定使用1秒的时间节拍情况下:
> 慢的机器可能 P2 没有算完,时钟节拍就到下一拍了。 这个时候相当于 P1 开始行动,而P2 原地没动。 当P2 在若干拍后算完,此时已经时过境迁,P2 > 开始运算前考虑的战场环境已经完全变了,P2 算出来的结果已经无用,需要重新算了。所以 P1 痛宰P2.
> 而如果用一台快的机器,P1, P2 都能在1秒内算完。 此时虽然P1 提前算完,但是还是要等节拍到了才能生效。 因此P1,P2 就正常对战起来。 > 而由于P2 考虑因素更多, P2 获胜了
> 这种比赛结果的不确定性,显然不利于大家积极参加游戏。
> 这就是所谓 时钟要保障每台不同的机器有相同的运算结果 ; > 我的初步构想是要在系统启动后,对于机器运算速度进行测速(比如运行一些标准的复杂运算), 也就是获得比如该机器进行10000万次标准运算的时间。 > 并以此为基准,确定该机器上的每次时钟节拍应该是多少毫秒. 当然也不可能100% 相同,但是至少相对公平些。
--
http://zoomquiet.org 人生苦短,Pythonic!-)
Time is unimportant, only life important!
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
老范 <fanyun2... @gmail.com>
Date: Sat, 4 Jul 2009 15:30:11 +0800
Local: Sat, Jul 4 2009 3:30 am
Subject: Re: [ECUG:461] 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
谈一下我们的worldClock 和令牌 的差别。
*从令牌角度而言,系统会如下面方式运行:(大概这个意思)*
1. world clock 向战场程序发出令牌。 2. 战场程序更新战场状态,后向决策程序发出令牌 3. 决策程序在收到令牌后开始计算, 并在若干秒内完成决策,并向战场程序发出任务指令。令牌又转到战场程序 4. 战场程序收到令牌后,更新战士动作 5. 战场程序将令牌传回给world clock 6. wolrd clock 休息若干秒后重复。
这种令牌模式有一个问题,就是要求决策程序自律, 必须收到令牌后才可以开始计算。 并且没有收到令牌不允许向战场程序发消息。 发消息的话,不能狂发,必须每个战士只能发一个。。。。
另一个问题是这样的一种令牌传递,让整个系统不再是一个并行的erlang 程序了,而是一个串行/准串行的程序。不能体现erlang 的优势了。
*eb0 构想的运行模式不同:*
1. 战场独立运行, 每次接收到world clock 指令的时候,计算一次战场状态。 然后对于处于wait 状态的战士,去指令队列中取下一个指令。 如果有指令的话就开始下一个动作。 没有的话就继续wait.
1. 决策程序独立运行。 自己看着战场时间和战场状态最新情况; 按照自己的决策,发出自己的指令。 如果前面有未执行的指令,就冲掉老指令。 如果指令发的时机不对,错过了这个节拍,那么战士空等一拍,下拍执行这个指令
(注意两个 1 不是笔误, 他们是并行的没有先后关系)
这样玩家编写决策程序的时候,没有任何限制。*没有限制就不会违反限制。*狂发消息只会堵塞自己,不会干扰战场的运作和别人的指令。
大家都是real time 进行决策(在战场运算状态的时候,也可以同时算自己的方案), 而不是回合制的决策。 如果按照上述令牌制的话,由于决策程序是大家自己写的,狡猾的指挥官仍然会在没有令牌的时候去偷偷的提前算方案。
2009/7/4 Zoom.Quiet <zoom.qu... @gmail.com>
> 2009/7/4 老范 <fanyun2
... @gmail.com>:
> > 关于我在多篇文章中都隐晦含糊的提到: 时钟要保障每台不同的机器有相同的运算结果 这个问题进一步解释一下,希望能讲明白。
> 直接说,这个时钟,就是战场中行动允许的令牌好了! > - 双方不论实际运算用的CPU时钟也好,自然的太阳历时间也好,在EB 中都不存在! > - 双方只有获得EB时钟的授权才可以给出行动指令 > - EB时钟单位是"秒",即EB根据内部约定的固定节拍,定期统一向双方发送"秒"通告 > - 每EB秒的开始由EB决定发布, > * 结束~俺建议是收到双方的一次行动指令为结束 > * 这样可以确保将来分布式对战时,EB时钟的统一性 > * 但是有个上限,比如说 13自然秒,以避免网络等问题时,EB无限等待下去... > 是也乎?
> > 比如对战的双方 P1, P2 各自采用了不同的算法。 P1 需要运算 10000 次(CPU 频率) 可以得出结论,并发出行动指令。 而P2 > > 要运算500000次 可以得出结论,并发出行动指令
> > 如果我们固定使用1秒的时间节拍情况下:
> > 慢的机器可能 P2 没有算完,时钟节拍就到下一拍了。 这个时候相当于 P1 开始行动,而P2 原地没动。 当P2 > 在若干拍后算完,此时已经时过境迁,P2 > > 开始运算前考虑的战场环境已经完全变了,P2 算出来的结果已经无用,需要重新算了。所以 P1 痛宰P2.
> > 而如果用一台快的机器,P1, P2 都能在1秒内算完。 此时虽然P1 提前算完,但是还是要等节拍到了才能生效。 因此P1,P2 就正常对战起来。 > > 而由于P2 考虑因素更多, P2 获胜了
> > 这种比赛结果的不确定性,显然不利于大家积极参加游戏。
> > 这就是所谓 时钟要保障每台不同的机器有相同的运算结果 ; > > 我的初步构想是要在系统启动后,对于机器运算速度进行测速(比如运行一些标准的复杂运算), 也就是获得比如该机器进行10000万次标准运算的时间。 > > 并以此为基准,确定该机器上的每次时钟节拍应该是多少毫秒. 当然也不可能100% 相同,但是至少相对公平些。
> -- > http://zoomquiet.org 人生苦短,Pythonic!-) > Time is unimportant, only life important!
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
"Zoom.Quiet" <zoom.qu... @gmail.com>
Date: Sat, 4 Jul 2009 16:16:34 +0800
Local: Sat, Jul 4 2009 4:16 am
Subject: Re: [ECUG:461] 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
2009/7/4 老范 <fanyun2
... @gmail.com>:
> 谈一下我们的worldClock 和令牌 的差别。
> 从令牌角度而言,系统会如下面方式运行:(大概这个意思)
> 1. world clock 向战场程序发出令牌。 > 2. 战场程序更新战场状态,后向决策程序发出令牌 > 3. 决策程序在收到令牌后开始计算, 并在若干秒内完成决策,并向战场程序发出任务指令。令牌又转到战场程序 > 4. 战场程序收到令牌后,更新战士动作 > 5. 战场程序将令牌传回给world clock > 6. wolrd clock 休息若干秒后重复。
> 这种令牌模式有一个问题,就是要求决策程序自律, 必须收到令牌后才可以开始计算。 并且没有收到令牌不允许向战场程序发消息。 > 发消息的话,不能狂发,必须每个战士只能发一个。。。。
应该是令牌这词儿,原先代表的技术的误解,
不过,用这词儿,容易理解;
> 另一个问题是这样的一种令牌传递,让整个系统不再是一个并行的erlang 程序了,而是一个串行/准串行的程序。不能体现erlang 的优势了。
> eb0 构想的运行模式不同:
> 1. 战场独立运行, 每次接收到world clock 指令的时候,计算一次战场状态。 然后对于处于wait 状态的战士,去指令队列中取下一个指令。 > 如果有指令的话就开始下一个动作。 没有的话就继续wait.
> 1. 决策程序独立运行。 自己看着战场时间和战场状态最新情况; 按照自己的决策,发出自己的指令。 如果前面有未执行的指令,就冲掉老指令。 > 如果指令发的时机不对,错过了这个节拍,那么战士空等一拍,下拍执行这个指令
> (注意两个 1 不是笔误, 他们是并行的没有先后关系)
> 这样玩家编写决策程序的时候,没有任何限制。没有限制就不会违反限制。狂发消息只会堵塞自己,不会干扰战场的运作和别人的指令。
> 大家都是real time 进行决策(在战场运算状态的时候,也可以同时算自己的方案), 而不是回合制的决策。 > 如果按照上述令牌制的话,由于决策程序是大家自己写的,狡猾的指挥官仍然会在没有令牌的时候去偷偷的提前算方案。
俺解释的和 老范的没有冲突,还是描述问题哪!
俺同意, EB 的令牌机制必须是面向 erlang 的 ;-) 即,并发,无状态,无依赖!
那么,对于 EB 时钟的疑问其实已经引发了相关文档的需求, 什么是 EB 时钟/节拍/行动令牌?...
俺是建议,就战场守护神程序来说,应该作到: - 和EB时钟配合,根据当前配置的节拍来接收行动命令并处理 - 忽略双方非法行动命令 - 输出规范的对战进程日志
这里的`非法行动命令` 就是基于当前所谓 "秒令牌" 的概念 + EB时钟按照当前配置,定期发布 "秒令牌" - 不是发布给特定的战士或是"决策程序"(所谓,红军/兰军; 战队) - 俺建议是种广播 - 真正的定向发布目标,只有战场守护神 + 双方"决策程序"(所谓,红军/兰军; 战队) 可以根据自身资源,自由进行任意计算,不受此 "秒令牌" 影响 + 战场守护神 根据 "秒令牌" 的节拍接收双方"决策程序"(所谓,红军/兰军; 战队)的行动命令,并进行胜负核算,以及战报日志更新 - 所谓`非法行动命令`的判定就在这时可能发生: 1. 在每次 "秒令牌" 广播后,双方都只能有一组合法行动指令,即针对所有现存战士的行动指令一次 1. 在每次 "秒令牌" 广播后,批量行动指令提交,战场守护神将仅接收第一组,其它的认为是非法,忽略之! 1. 在每次 "秒令牌" 广播后,直到下一次 "秒令牌" 广播,若哪一方,一直没有行动指令提交,则: - 建议 战场守护神 就当"决策程序"(所谓,红军/兰军; 战队) 发出了同样的指令,重复上次指令进行核算 - 因为,这和真实战争类似, 如果没有新的命令到来,部队一般就是依照老命令行动的!
以上!
PS: - 刚刚老范已经自爆了个 允许的Hacking 方向 ~ 可以自行计算,不管 EB 时间节拍的! - 其实,既然EB 中的行动规则是既定的 - 既然EB 中可以获得当前双方的整体位置 - 那么就可以如象棋程序一样,可以进行预演,推导出最合理的行动了!!!!!!!! ~ 真正的AI 领域了!
> 2009/7/4 Zoom.Quiet <zoom.qu... @gmail.com>
>> 2009/7/4 老范 <fanyun2... @gmail.com>: >> > 关于我在多篇文章中都隐晦含糊的提到: 时钟要保障每台不同的机器有相同的运算结果 这个问题进一步解释一下,希望能讲明白。
>> 直接说,这个时钟,就是战场中行动允许的令牌好了! >> - 双方不论实际运算用的CPU时钟也好,自然的太阳历时间也好,在EB 中都不存在! >> - 双方只有获得EB时钟的授权才可以给出行动指令 >> - EB时钟单位是"秒",即EB根据内部约定的固定节拍,定期统一向双方发送"秒"通告 >> - 每EB秒的开始由EB决定发布, >> * 结束~俺建议是收到双方的一次行动指令为结束 >> * 这样可以确保将来分布式对战时,EB时钟的统一性 >> * 但是有个上限,比如说 13自然秒,以避免网络等问题时,EB无限等待下去... >> 是也乎?
>> > 比如对战的双方 P1, P2 各自采用了不同的算法。 P1 需要运算 10000 次(CPU 频率) 可以得出结论,并发出行动指令。 而P2 >> > 要运算500000次 可以得出结论,并发出行动指令
>> > 如果我们固定使用1秒的时间节拍情况下:
>> > 慢的机器可能 P2 没有算完,时钟节拍就到下一拍了。 这个时候相当于 P1 开始行动,而P2 原地没动。 当P2 >> > 在若干拍后算完,此时已经时过境迁,P2 >> > 开始运算前考虑的战场环境已经完全变了,P2 算出来的结果已经无用,需要重新算了。所以 P1 痛宰P2.
>> > 而如果用一台快的机器,P1, P2 都能在1秒内算完。 此时虽然P1 提前算完,但是还是要等节拍到了才能生效。 因此P1,P2 就正常对战起来。 >> > 而由于P2 考虑因素更多, P2 获胜了
>> > 这种比赛结果的不确定性,显然不利于大家积极参加游戏。
>> > 这就是所谓 时钟要保障每台不同的机器有相同的运算结果 ; >> > 我的初步构想是要在系统启动后,对于机器运算速度进行测速(比如运行一些标准的复杂运算), 也就是获得比如该机器进行10000万次标准运算的时间。 >> > 并以此为基准,确定该机器上的每次时钟节拍应该是多少毫秒. 当然也不可能100% 相同,但是至少相对公平些。
>> -- >> http://zoomquiet.org 人生苦短,Pythonic!-) >> Time is unimportant, only life important!
--
http://zoomquiet.org 人生苦短,Pythonic!-)
usage 7-zip to replace WinRAR/WinZip; You can get the truely Freedom 4 software.
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
Max Fung <honeygigear... @gmail.com>
Date: Sat, 4 Jul 2009 17:01:47 +0800
Local: Sat, Jul 4 2009 5:01 am
Subject: Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
ok,我们先不用"程序性语言"讨论~
允许我用"口头语言"描述一下
某一天,max,老范,zoom三人使用EB的真人方式进行了一场惊心动魄的战斗。
角色分配: max:时间管理者 老范:红方 zoom:蓝方 棋盘:4x4 棋子:每人4个
战斗在一个月黑风高的夜晚开始了,深夜花园里四处静悄悄~,只有三个怪叔叔蹲在地上,咬着手电筒玩游戏。
第0轮 【max拿这计时器】 『计时器 = 节拍管理器』 『max = 战场守护神』 max:战斗开始吧!每轮的执行时间是1分钟。
第1轮 【老范与zoom在纸上挥笔疾书,写下了他们对四个棋子的操控(移动,战斗
)】 『纸条 = 信息传递』 【max的计时器时间到了】 max:时间到,两位,上交纸条吧。 【max根据纸条上的指令,移动棋盘上的棋子】 【max移动完棋子,将纸条放到了一个盒子里】 『盒子 = 战场情况记录器』
第2轮开始 【老范和zoom看着棋盘上的棋子,各怀鬼胎,时而苦思冥想,时而奋笔疾书,在计时器的滴答中,第2轮结束了】 max:时间到,两位,上交纸条吧。 【max移动棋子中~】 老范:靠,我要执行最前面一行的。 max:shit,我只按你最后写的来做,你第一个棋子写了两条指令,我只按最后一条来弄。 『信息之按最后的为准』 zoom:哇!!!!(惨叫ing) 【zoom偷偷摸摸的想抽回纸条,挨了max一板砖】 max:干哈?写了就不可以修改 『信息不能修改』 zoom:漏写了~(zoom捂着血如泉涌的脑袋,呻吟道) max:那就按棋子为不动处理。 『没有指令的角色按站立处理』
n轮后: zoom面带微笑躺在血泊中(经常想偷回纸条,挨了不少板砖,但是奇迹性的胜利了)。 老范捶胸顿足(多写了很多指令,经常性的决策失误,败了~) max躺在床上,睡觉ing(做这种移动棋子的体力活,太累了!)
以上 有什么描述不对的请修改。
2009/7/4 Zoom.Quiet <zoom.qu... @gmail.com>
> 2009/7/4 老范 <fanyun2
... @gmail.com>:
> > 谈一下我们的worldClock 和令牌 的差别。
> > 从令牌角度而言,系统会如下面方式运行:(大概这个意思)
> > 1. world clock 向战场程序发出令牌。 > > 2. 战场程序更新战场状态,后向决策程序发出令牌 > > 3. 决策程序在收到令牌后开始计算, 并在若干秒内完成决策,并向战场程序发出任务指令。令牌又转到战场程序 > > 4. 战场程序收到令牌后,更新战士动作 > > 5. 战场程序将令牌传回给world clock > > 6. wolrd clock 休息若干秒后重复。
> > 这种令牌模式有一个问题,就是要求决策程序自律, 必须收到令牌后才可以开始计算。 并且没有收到令牌不允许向战场程序发消息。 > > 发消息的话,不能狂发,必须每个战士只能发一个。。。。
> 应该是令牌这词儿,原先代表的技术的误解, > 不过,用这词儿,容易理解;
> > 另一个问题是这样的一种令牌传递,让整个系统不再是一个并行的erlang 程序了,而是一个串行/准串行的程序。不能体现erlang 的优势了。
> > eb0 构想的运行模式不同:
> > 1. 战场独立运行, 每次接收到world clock 指令的时候,计算一次战场状态。 然后对于处于wait > 状态的战士,去指令队列中取下一个指令。 > > 如果有指令的话就开始下一个动作。 没有的话就继续wait.
> > 1. 决策程序独立运行。 自己看着战场时间和战场状态最新情况; 按照自己的决策,发出自己的指令。 如果前面有未执行的指令,就冲掉老指令。 > > 如果指令发的时机不对,错过了这个节拍,那么战士空等一拍,下拍执行这个指令
> > (注意两个 1 不是笔误, 他们是并行的没有先后关系)
> > 这样玩家编写决策程序的时候,没有任何限制。没有限制就不会违反限制。狂发消息只会堵塞自己,不会干扰战场的运作和别人的指令。
> > 大家都是real time 进行决策(在战场运算状态的时候,也可以同时算自己的方案), 而不是回合制的决策。 > > 如果按照上述令牌制的话,由于决策程序是大家自己写的,狡猾的指挥官仍然会在没有令牌的时候去偷偷的提前算方案。
> 俺解释的和 老范的没有冲突,还是描述问题哪! > 俺同意, EB 的令牌机制必须是面向 erlang 的 ;-) 即,并发,无状态,无依赖!
> 那么,对于 EB 时钟的疑问其实已经引发了相关文档的需求, > 什么是 EB 时钟/节拍/行动令牌?...
> 俺是建议,就战场守护神程序来说,应该作到: > - 和EB时钟配合,根据当前配置的节拍来接收行动命令并处理 > - 忽略双方非法行动命令 > - 输出规范的对战进程日志
> 这里的`非法行动命令` 就是基于当前所谓 "秒令牌" 的概念 > + EB时钟按照当前配置,定期发布 "秒令牌" > - 不是发布给特定的战士或是"决策程序"(所谓,红军/兰军; 战队) > - 俺建议是种广播 > - 真正的定向发布目标,只有战场守护神 > + 双方"决策程序"(所谓,红军/兰军; 战队) 可以根据自身资源,自由进行任意计算,不受此 "秒令牌" 影响 > + 战场守护神 根据 "秒令牌" 的节拍接收双方"决策程序"(所谓,红军/兰军; 战队)的行动命令,并进行胜负核算,以及战报日志更新 > - 所谓`非法行动命令`的判定就在这时可能发生: > 1. 在每次 "秒令牌" 广播后,双方都只能有一组合法行动指令,即针对所有现存战士的行动指令一次 > 1. 在每次 "秒令牌" 广播后,批量行动指令提交,战场守护神将仅接收第一组,其它的认为是非法,忽略之! > 1. 在每次 "秒令牌" 广播后,直到下一次 "秒令牌" 广播,若哪一方,一直没有行动指令提交,则: > - 建议 战场守护神 就当"决策程序"(所谓,红军/兰军; 战队) 发出了同样的指令,重复上次指令进行核算 > - 因为,这和真实战争类似, 如果没有新的命令到来,部队一般就是依照老命令行动的!
> 以上!
> PS: > - 刚刚老范已经自爆了个 允许的Hacking 方向 ~ 可以自行计算,不管 EB 时间节拍的! > - 其实,既然EB 中的行动规则是既定的 > - 既然EB 中可以获得当前双方的整体位置 > - 那么就可以如象棋程序一样,可以进行预演,推导出最合理的行动了!!!!!!!! ~ 真正的AI 领域了!
> > 2009/7/4 Zoom.Quiet <zoom.qu... @gmail.com>
> >> 2009/7/4 老范 <fanyun2... @gmail.com>: > >> > 关于我在多篇文章中都隐晦含糊的提到: 时钟要保障每台不同的机器有相同的运算结果 这个问题进一步解释一下,希望能讲明白。
> >> 直接说,这个时钟,就是战场中行动允许的令牌好了! > >> - 双方不论实际运算用的CPU时钟也好,自然的太阳历时间也好,在EB 中都不存在! > >> - 双方只有获得EB时钟的授权才可以给出行动指令 > >> - EB时钟单位是"秒",即EB根据内部约定的固定节拍,定期统一向双方发送"秒"通告 > >> - 每EB秒的开始由EB决定发布, > >> * 结束~俺建议是收到双方的一次行动指令为结束 > >> * 这样可以确保将来分布式对战时,EB时钟的统一性 > >> * 但是有个上限,比如说 13自然秒,以避免网络等问题时,EB无限等待下去... > >> 是也乎?
> >> > 比如对战的双方 P1, P2 各自采用了不同的算法。 P1 需要运算 10000 次(CPU 频率) 可以得出结论,并发出行动指令。 > 而P2 > >> > 要运算500000次 可以得出结论,并发出行动指令
> >> > 如果我们固定使用1秒的时间节拍情况下:
> >> > 慢的机器可能 P2 没有算完,时钟节拍就到下一拍了。 这个时候相当于 P1 开始行动,而P2 原地没动。 当P2 > >> > 在若干拍后算完,此时已经时过境迁,P2 > >> > 开始运算前考虑的战场环境已经完全变了,P2 算出来的结果已经无用,需要重新算了。所以 P1 痛宰P2.
> >> > 而如果用一台快的机器,P1, P2 都能在1秒内算完。 此时虽然P1 提前算完,但是还是要等节拍到了才能生效。 因此P1,P2 > 就正常对战起来。 > >> > 而由于P2 考虑因素更多, P2 获胜了
> >> > 这种比赛结果的不确定性,显然不利于大家积极参加游戏。
> >> > 这就是所谓 时钟要保障每台不同的机器有相同的运算结果 ; > >> > 我的初步构想是要在系统启动后,对于机器运算速度进行测速(比如运行一些标准的复杂运算), > 也就是获得比如该机器进行10000万次标准运算的时间。 > >> > 并以此为基准,确定该机器上的每次时钟节拍应该是多少毫秒. 当然也不可能100% 相同,但是至少相对公平些。
> >> -- > >> http://zoomquiet.org 人生苦短,Pythonic!-) > >> Time is unimportant, only life important!
> -- > http://zoomquiet.org 人生苦短,Pythonic!-) > usage 7-zip to replace WinRAR/WinZip; You can get the truely Freedom 4 > software.
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
"Zoom.Quiet" <zoom.qu... @gmail.com>
Date: Sat, 4 Jul 2009 17:34:38 +0800
Local: Sat, Jul 4 2009 5:34 am
Subject: Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
2009/7/4 Max Fung <honeygigear
... @gmail.com>:
> ok,我们先不用"程序性语言"讨论~
> 允许我用"口头语言"描述一下
咔咔咔!好故事,应该整理到维基中!
这是讲给玩家,理解实时,以及分布式的好故事!
> 某一天,max,老范,zoom三人使用EB的真人方式进行了一场惊心动魄的战斗。
既然是故事剧本,俺推荐以后类似 口头解说系列的文章,使用统一的规格;
参考:
http://wiki.woodpecker.org.cn/moin/PkmPlatfromStory () => 场景说明; {} => 设定说明; <> => 分镜,导演立旨说明等等;
> 角色分配: > max:时间管理者
应该追加一个:
比如说 karlcpp: 主持人(战场守护)
> 老范:红方
盲人
> zoom:蓝方
聋子
> 棋盘:4x4 > 棋子:每人4个
围观的: 1~1000000
> 战斗在一个月黑风高的夜晚开始了,深夜花园里四处静悄悄~,只有三个怪叔叔蹲在地上,咬着手电筒玩游戏。
(真实场景是这样的:
karlcpp:在天安门广场上搭了个台子,用一些旧电视拼了个大屏幕,
+ 免费组织EB游戏
+ 并讲解给过路打酱油的;
+ 通过各种渠道,定期通报对战双方的行动指令,并立即计算哪个棋子没有血了,挂了!
max: 在昆明家中,因有只巨高级的劳力士手表,所以,指定为本次对战的 "时钟",所作的事儿,
+ 就是根据karlcpp这次比赛的规定:
+ 每隔 1分钟 面对摄像头,吼一声:又一秒!
+ 并同时举一下写着"又一秒"的牌子
老范: 在成都家里,摸着自制的EB对战棋盘,听着电脑里的声音,将自个儿想走的棋路对麦克风说出来
zoomq: 在珠海公司里,用3屏电脑参战:
+ 一个播放 max 的网络表演(每隔 1分钟 举一下写着"又一秒"的牌子)
+ 一个播放 karlcpp 在天安门那儿主持进行的战场说明
+ 一个运行自个儿写的程序,根据 karlcpp 通报的棋盘和棋子的行动,不断输入自个儿的程序,
+ 并将结果(自个儿棋子的行动)通过邮件发送给 karlcpp
)
> 第0轮 > 【max拿这计时器】 > 『计时器 = 节拍管理器』 > 『max = 战场守护神』 > max:战斗开始吧!每轮的执行时间是1分钟。
> 第1轮 > 【老范与zoom在纸上挥笔疾书,写下了他们对四个棋子的操控(移动,战斗
)】 > 『纸条 = 信息传递』 > 【max的计时器时间到了】 > max:时间到,两位,上交纸条吧。 > 【max根据纸条上的指令,移动棋盘上的棋子】 > 【max移动完棋子,将纸条放到了一个盒子里】 > 『盒子 = 战场情况记录器』
战场守护神 ;-)
> 第2轮开始 > 【老范和zoom看着棋盘上的棋子,各怀鬼胎,时而苦思冥想,时而奋笔疾书,在计时器的滴答中,第2轮结束了】 > max:时间到,两位,上交纸条吧。 > 【max移动棋子中~】 > 老范:靠,我要执行最前面一行的。 > max:shit,我只按你最后写的来做,你第一个棋子写了两条指令,我只按最后一条来弄。 > 『信息之按最后的为准』 > zoom:哇!!!!(惨叫ing) > 【zoom偷偷摸摸的想抽回纸条,挨了max一板砖】
zoomq 再次写个纸条给max 或是 邮件给karlcpp;
- 被无视
> max:干哈?写了就不可以修改
> 『信息不能修改』
> zoom:漏写了~(zoom捂着血如泉涌的脑袋,呻吟道)
> max:那就按棋子为不动处理。
> 『没有指令的角色按站立处理』
> n轮后: > zoom面带微笑躺在血泊中(经常想偷回纸条,挨了不少板砖,但是奇迹性的胜利了)。 > 老范捶胸顿足(多写了很多指令,经常性的决策失误,败了~) > max躺在床上,睡觉ing(做这种移动棋子的体力活,太累了!)
> 以上 > 有什么描述不对的请修改。
> 2009/7/4 Zoom.Quiet <zoom.qu... @gmail.com>
>> 2009/7/4 老范 <fanyun2... @gmail.com>: >> > 谈一下我们的worldClock 和令牌 的差别。
>> > 从令牌角度而言,系统会如下面方式运行:(大概这个意思)
>> > 1. world clock 向战场程序发出令牌。 >> > 2. 战场程序更新战场状态,后向决策程序发出令牌 >> > 3. 决策程序在收到令牌后开始计算, 并在若干秒内完成决策,并向战场程序发出任务指令。令牌又转到战场程序 >> > 4. 战场程序收到令牌后,更新战士动作 >> > 5. 战场程序将令牌传回给world clock >> > 6. wolrd clock 休息若干秒后重复。
>> > 这种令牌模式有一个问题,就是要求决策程序自律, 必须收到令牌后才可以开始计算。 并且没有收到令牌不允许向战场程序发消息。 >> > 发消息的话,不能狂发,必须每个战士只能发一个。。。。
>> 应该是令牌这词儿,原先代表的技术的误解, >> 不过,用这词儿,容易理解;
>> > 另一个问题是这样的一种令牌传递,让整个系统不再是一个并行的erlang 程序了,而是一个串行/准串行的程序。不能体现erlang 的优势了。
>> > eb0 构想的运行模式不同:
>> > 1. 战场独立运行, 每次接收到world clock 指令的时候,计算一次战场状态。 然后对于处于wait >> > 状态的战士,去指令队列中取下一个指令。 >> > 如果有指令的话就开始下一个动作。 没有的话就继续wait.
>> > 1. 决策程序独立运行。 自己看着战场时间和战场状态最新情况; 按照自己的决策,发出自己的指令。 如果前面有未执行的指令,就冲掉老指令。 >> > 如果指令发的时机不对,错过了这个节拍,那么战士空等一拍,下拍执行这个指令
>> > (注意两个 1 不是笔误, 他们是并行的没有先后关系)
>> > 这样玩家编写决策程序的时候,没有任何限制。没有限制就不会违反限制。狂发消息只会堵塞自己,不会干扰战场的运作和别人的指令。
>> > 大家都是real time 进行决策(在战场运算状态的时候,也可以同时算自己的方案), 而不是回合制的决策。 >> > 如果按照上述令牌制的话,由于决策程序是大家自己写的,狡猾的指挥官仍然会在没有令牌的时候去偷偷的提前算方案。
>> 俺解释的和 老范的没有冲突,还是描述问题哪! >> 俺同意, EB 的令牌机制必须是面向 erlang 的 ;-) 即,并发,无状态,无依赖!
>> 那么,对于 EB 时钟的疑问其实已经引发了相关文档的需求, >> 什么是 EB 时钟/节拍/行动令牌?...
>> 俺是建议,就战场守护神程序来说,应该作到: >> - 和EB时钟配合,根据当前配置的节拍来接收行动命令并处理 >> - 忽略双方非法行动命令 >> - 输出规范的对战进程日志
>> 这里的`非法行动命令` 就是基于当前所谓 "秒令牌" 的概念 >> + EB时钟按照当前配置,定期发布 "秒令牌" >> - 不是发布给特定的战士或是"决策程序"(所谓,红军/兰军; 战队) >> - 俺建议是种广播 >> - 真正的定向发布目标,只有战场守护神 >> + 双方"决策程序"(所谓,红军/兰军; 战队) 可以根据自身资源,自由进行任意计算,不受此 "秒令牌" 影响 >> + 战场守护神 根据 "秒令牌" 的节拍接收双方"决策程序"(所谓,红军/兰军; 战队)的行动命令,并进行胜负核算,以及战报日志更新 >> - 所谓`非法行动命令`的判定就在这时可能发生: >> 1. 在每次 "秒令牌" 广播后,双方都只能有一组合法行动指令,即针对所有现存战士的行动指令一次 >> 1. 在每次 "秒令牌" 广播后,批量行动指令提交,战场守护神将仅接收第一组,其它的认为是非法,忽略之! >> 1. 在每次 "秒令牌" 广播后,直到下一次 "秒令牌" 广播,若哪一方,一直没有行动指令提交,则: >> - 建议 战场守护神 就当"决策程序"(所谓,红军/兰军; 战队) 发出了同样的指令,重复上次指令进行核算 >> - 因为,这和真实战争类似, 如果没有新的命令到来,部队一般就是依照老命令行动的!
>> 以上!
>> PS: >> - 刚刚老范已经自爆了个 允许的Hacking 方向 ~ 可以自行计算,不管 EB 时间节拍的! >> - 其实,既然EB 中的行动规则是既定的 >> - 既然EB 中可以获得当前双方的整体位置 >> - 那么就可以如象棋程序一样,可以进行预演,推导出最合理的行动了!!!!!!!! ~ 真正的AI 领域了!
>> > 2009/7/4 Zoom.Quiet <zoom.qu... @gmail.com>
>> >> 2009/7/4 老范 <fanyun2... @gmail.com>: >> >> > 关于我在多篇文章中都隐晦含糊的提到: 时钟要保障每台不同的机器有相同的运算结果 这个问题进一步解释一下,希望能讲明白。
>> >> 直接说,这个时钟,就是战场中行动允许的令牌好了! >> >> - 双方不论实际运算用的CPU时钟也好,自然的太阳历时间也好,在EB 中都不存在! >> >> - 双方只有获得EB时钟的授权才可以给出行动指令 >> >> - EB时钟单位是"秒",即EB根据内部约定的固定节拍,定期统一向双方发送"秒"通告 >> >> - 每EB秒的开始由EB决定发布, >> >> * 结束~俺建议是收到双方的一次行动指令为结束 >> >> * 这样可以确保将来分布式对战时,EB时钟的统一性 >> >> * 但是有个上限,比如说 13自然秒,以避免网络等问题时,EB无限等待下去... >> >> 是也乎?
>> >> > 比如对战的双方 P1, P2 各自采用了不同的算法。 P1 需要运算 10000 次(CPU 频率) 可以得出结论,并发出行动指令。 >> >> > 而P2 >> >> > 要运算500000次 可以得出结论,并发出行动指令
>> >> > 如果我们固定使用1秒的时间节拍情况下:
...
read more »
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
老范 <fanyun2... @gmail.com>
Date: Sat, 4 Jul 2009 20:37:00 +0800
Subject: Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
佩服,佩服,我从项目开始不断在用各种方式唠叨的eb, 终于被max 换了种方式讲清楚了。 稍微改下:
战斗在一个月黑风高的夜晚开始了,深夜花园里四处静悄悄~,只有三个超级帅叔叔蹲在地上,咬着手电筒玩游戏。另外一个黑影藏在角落里,是karlcpp.
第0轮 【max拿这计时器】 『计时器 = 节拍管理器』 『max = 战场守护神』 max:战斗开始吧!每轮的执行时间是1分钟。
第1轮 【老范与zoom在纸上挥笔疾书,写下了他们对四个棋子的操控(移动,战斗
),然后快速扔进一个自己面前的一个神秘盒子(指令多列)】 『纸条 = 信息传递』 【max的计时器时间到了】 max:到盒子里抓出一把纸条, 仔细分辨,把老范填的第5轮执行的一张单子扔回盒子, 有病啊, 这么早就把5轮的扔进来!到时候再说 老范:我就是爱早点扔,你管的着吗? 我的盒子我做主。万一第五轮的时候我起如厕呢? 【max根据纸条上的指令,移动棋盘上的棋子】 角落里的karlcpp 偷偷的开始用sony 录像机对准棋盘(狠狠,我拍)
第2轮开始 【老范和zoom看着棋盘上的棋子,各怀鬼胎,时而苦思冥想,时而奋笔疾书,在计时器的滴答中,第2轮结束了】 max:又去掏那个盒子,拿到了老范的两张纸条,max 看看了, 冷笑两声,撕掉一张 【max移动棋子中~】 老范:靠,我要执行最前面一行的。 max:shit,我只按你最后写的来做,你第一个棋子写了两条指令,我只按最后一条来弄。前面那张作废。 『信息之按最后的为准』
zoom:哇!!!!(惨叫ing) 【zoom偷偷摸摸的想抽回纸条,挨了max一板砖】 max:干哈?写了就不可以修改; 你要改? 你和老范那样再扔张新的进来啊,我不就把前面那张废掉了, 笨! 『信息不能修改,但是可以冲掉』 zoom:漏写了~(zoom捂着血如泉涌的脑袋,呻吟道) max:那就按棋子为不动处理。 『没有指令的角色按站立处理』
zoom:哇!!!!(惨叫ing) 为什么又打我 【zoom偷偷摸摸的想看老范盒子里的纸条,又挨了max一板砖】 max: 别人的神秘盒子是私有的,你偷偷摸摸干嘛?
n轮后: zoom面带微笑躺在血泊中(经常想偷回纸条,挨了不少板砖,但是奇迹性的胜利了)。 老范捶胸顿足(多写了很多指令,互相冲突,最后自己都搞不清楚自己要怎么动了,经常性决策失误,败了~) max躺在床上,睡觉ing(做这种移动棋子的体力活,太累了!) karlcpp 在家看录像, 呵呵,老范,zoom 你们的套路我都明白了, 明天看我怎么收拾你们。
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
"Zoom.Quiet" <zoom.qu... @gmail.com>
Date: Sat, 4 Jul 2009 20:42:32 +0800
Local: Sat, Jul 4 2009 8:42 am
Subject: Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
2009/7/4 老范 <fanyun2
... @gmail.com>:
> 佩服,佩服,我从项目开始不断在用各种方式唠叨的eb, 终于被max 换了种方式讲清楚了。 稍微改下:
> 战斗在一个月黑风高的夜晚开始了,深夜花园里四处静悄悄~, > 只有三个超级帅叔叔蹲在地上,咬着手电筒玩游戏。另外一个黑影藏在角落里,是karlcpp.
> 第0轮 > 【max拿这计时器】 > 『计时器 = 节拍管理器』 > 『max = 战场守护神』 > max:战斗开始吧!每轮的执行时间是1分钟。
> 第1轮 > 【老范与zoom在纸上挥笔疾书,写下了他们对四个棋子的操控(移动,战斗
),然后快速扔进一个自己面前的一个神秘盒子(指令多列)】 > 『纸条 = 信息传递』 > 【max的计时器时间到了】 > max:到盒子里抓出一把纸条, 仔细分辨,把老范填的第5轮执行的一张单子扔回盒子, 有病啊, 这么早就把5轮的扔进来!到时候再说 > 老范:我就是爱早点扔,你管的着吗? 我的盒子我做主。万一第五轮的时候我起如厕呢? > 【max根据纸条上的指令,移动棋盘上的棋子】 > 角落里的karlcpp 偷偷的开始用sony 录像机对准棋盘(狠狠,我拍)
> 第2轮开始 > 【老范和zoom看着棋盘上的棋子,各怀鬼胎,时而苦思冥想,时而奋笔疾书,在计时器的滴答中,第2轮结束了】 > max:又去掏那个盒子,拿到了老范的两张纸条,max 看看了, 冷笑两声,撕掉一张 > 【max移动棋子中~】 > 老范:靠,我要执行最前面一行的。 > max:shit,我只按你最后写的来做,你第一个棋子写了两条指令,我只按最后一条来弄。前面那张作废。 > 『信息之按最后的为准』
> zoom:哇!!!!(惨叫ing) > 【zoom偷偷摸摸的想抽回纸条,挨了max一板砖】 > max:干哈?写了就不可以修改; 你要改? 你和老范那样再扔张新的进来啊,我不就把前面那张废掉了, 笨! > 『信息不能修改,但是可以冲掉』 > zoom:漏写了~(zoom捂着血如泉涌的脑袋,呻吟道) > max:那就按棋子为不动处理。 > 『没有指令的角色按站立处理』
只有这个俺有意见,最好可以按照上次的指令复用;
> zoom:哇!!!!(惨叫ing) 为什么又打我 > 【zoom偷偷摸摸的想看老范盒子里的纸条,又挨了max一板砖】 > max: 别人的神秘盒子是私有的,你偷偷摸摸干嘛?
这其实是不现实的吧,
因为战场守护一直在通告战报,至少可以知道历史纸条们...
> n轮后: > zoom面带微笑躺在血泊中(经常想偷回纸条,挨了不少板砖,但是奇迹性的胜利了)。 > 老范捶胸顿足(多写了很多指令,互相冲突,最后自己都搞不清楚自己要怎么动了,经常性决策失误,败了~) > max躺在床上,睡觉ing(做这种移动棋子的体力活,太累了!) > karlcpp 在家看录像, 呵呵,老范,zoom 你们的套路我都明白了, 明天看我怎么收拾你们。
--
http://zoomquiet.org 人生苦短,Pythonic!-)
Free as in Freedom! 哲思自由软件社区:
http://zeuux.org
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
老范 <fanyun2... @gmail.com>
Date: Sat, 4 Jul 2009 20:59:28 +0800
Local: Sat, Jul 4 2009 8:59 am
Subject: Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
http://code.google.com/p/erlbattle/wiki/EbMaxStory
把max 原创和我修订过的都放上去了。 便于大家对比差异。
对我刚才回的,又改了一点点,节选如下。【】 里面的是改动内容
-------------------------------------------------------- max:干哈?写了就不可以修改; 你要改? 你和老范那样再扔张新的进来啊,我不就把前面那张废掉了, 笨!
『信息不能修改,但是可以冲掉』
zoom:漏写了~(zoom捂着血如泉涌的脑袋,呻吟道),【 那我现在再扔一张进来可不可以,你帮我处理下。
max:不行,这轮我都拿过了,你现在扔进来的等下次吧。 这颗棋子按不动处理。】
『没有指令的角色按站立处理』
--------------------------------------------------------
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
老范 <fanyun2... @gmail.com>
Date: Sat, 4 Jul 2009 21:08:48 +0800
Local: Sat, Jul 4 2009 9:08 am
Subject: Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
> max:干哈?写了就不可以修改; 你要改? 你和老范那样再扔张新的进来啊,我不就把前面那张废掉了, 笨! > 『信息不能修改,但是可以冲掉』 > zoom:漏写了~(zoom捂着血如泉涌的脑袋,呻吟道) > max:那就按棋子为不动处理。 > 『没有指令的角色按站立处理』
zoom: 只有这个俺有意见,最好可以按照上次的指令复用;
老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? 可以再发一个,也是等价的。 这点我open, 大家讨论。 如果要改的话,还有种改法是发指令的时候同时发要求执行多少遍。 这样我们可以让一个战士连续攻击10次。 或者超前走8步。。 。
> zoom:哇!!!!(惨叫ing) 为什么又打我 > 【zoom偷偷摸摸的想看老范盒子里的纸条,又挨了max一板砖】 > max: 别人的神秘盒子是私有的,你偷偷摸摸干嘛?
zoom: 这其实是不现实的吧, 因为战场守护一直在通告战报,至少可以知道历史纸条们...
老范: 这点很关键,盒子里面是别人未来计划的动作,当然要保密。 战场守护不通报战报。他只是更新battle_field 那个表。
大家通过battle_field 总是能看到别人战士的位置,以及别人战士正在做什么动作,但是看不到别人脑子里想的下一步干什么的计划(符合自然规律)。
历史纸条估计都已经过去时了,对于进一步战斗决策没有用了。
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
"Zoom.Quiet" <zoom.qu... @gmail.com>
Date: Sat, 4 Jul 2009 21:22:25 +0800
Local: Sat, Jul 4 2009 9:22 am
Subject: Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
2009/7/4 老范 <fanyun2
... @gmail.com>:
..
>> 『没有指令的角色按站立处理』
> zoom: 只有这个俺有意见,最好可以按照上次的指令复用;
> 老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? 可以再发一个,也是等价的。 > 这点我open, 大家讨论。 如果要改的话,还有种改法是发指令的时候同时发要求执行多少遍。 这样我们可以让一个战士连续攻击10次。 或者超前走8步。。 > 。
好的! 为了 EB 核心程序的简单,俺认为应该当没有指令;
但是这也提醒所有 战队开发者,应该将历史指令保留,以便减少决策运算,,,,可以简单复用!
对于战场守护神,如果战队程序白痴的想对已经死亡的战士下令,,,, 那个在现实战争中,这也是常见的, 作为EB 中高于世人的存在, 守护神,就当放了个屁,不管就好了...
当然的,未来,如果大家的决策程序,对战时,经常战平时,这种狗屁指令,就可以视作指挥力不足, 可以考虑记入胜利核算公式了.... ;-)
..
>> max: 别人的神秘盒子是私有的,你偷偷摸摸干嘛?
> zoom: 这其实是不现实的吧, 因为战场守护一直在通告战报,至少可以知道历史纸条们... > 老范: 这点很关键,盒子里面是别人未来计划的动作,当然要保密。 战场守护不通报战报。他只是更新battle_field 那个表。 > 大家通过battle_field 总是能看到别人战士的位置,以及别人战士正在做什么动作,但是看不到别人脑子里想的下一步干什么的计划(符合自然规律)。 > 历史纸条估计都已经过去时了,对于进一步战斗决策没有用了。
明确,可以看到的消息范畴是明确的,
只是对于已知数据的可能性,有不同想象...
-- http://zoomquiet.org 人生苦短,Pythonic!-) 过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting people be good!)
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
Karl Ma <karl... @gmail.com>
Date: Sun, 5 Jul 2009 16:32:20 +0800
Local: Sun, Jul 5 2009 4:32 am
Subject: Re: [erlang-china:2216] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
这几天事多,没上来,尽然发生这么大的事,让我当演员啦,哈哈,有出场费吗? Max 这个故事太好了,你太有才了。
2009/7/4 Zoom.Quiet <zoom.qu... @gmail.com>
> 2009/7/4 老范 <fanyun2
... @gmail.com>:
> ..
> >> 『没有指令的角色按站立处理』
> > zoom: 只有这个俺有意见,最好可以按照上次的指令复用;
> > 老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? 可以再发一个,也是等价的。 > > 这点我open, 大家讨论。 如果要改的话,还有种改法是发指令的时候同时发要求执行多少遍。 这样我们可以让一个战士连续攻击10次。 > 或者超前走8步。。 > > 。
> 好的! 为了 EB 核心程序的简单,俺认为应该当没有指令;
> 但是这也提醒所有 战队开发者,应该将历史指令保留,以便减少决策运算,,,,可以简单复用!
> 对于战场守护神,如果战队程序白痴的想对已经死亡的战士下令,,,, > 那个在现实战争中,这也是常见的, > 作为EB 中高于世人的存在, 守护神,就当放了个屁,不管就好了...
> 当然的,未来,如果大家的决策程序,对战时,经常战平时,这种狗屁指令,就可以视作指挥力不足, > 可以考虑记入胜利核算公式了.... ;-)
> .. > >> max: 别人的神秘盒子是私有的,你偷偷摸摸干嘛?
> > zoom: 这其实是不现实的吧, 因为战场守护一直在通告战报,至少可以知道历史纸条们... > > 老范: 这点很关键,盒子里面是别人未来计划的动作,当然要保密。 战场守护不通报战报。他只是更新battle_field 那个表。 > > 大家通过battle_field > 总是能看到别人战士的位置,以及别人战士正在做什么动作,但是看不到别人脑子里想的下一步干什么的计划(符合自然规律)。 > > 历史纸条估计都已经过去时了,对于进一步战斗决策没有用了。
> 明确,可以看到的消息范畴是明确的, > 只是对于已知数据的可能性,有不同想象...
> -- > http://zoomquiet.org 人生苦短,Pythonic!-) > 过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting > people be good!)
--
Karl Ma
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
郎咸武 <langxian... @163.com>
Date: Mon, 6 Jul 2009 23:30:57 +0800 (CST)
Local: Mon, Jul 6 2009 11:30 am
Subject: Re:[erlang-china:2220] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
我记得有个文档中明确说明一点,当战士发起攻击的时候不是针对的人,而是针对的格子。文档中还明确说明这样攻击会造成误伤,因为在发起攻击到生效,格子的敌 人可能走了,也有可能换了新的敌人。 以上回答针对( 老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? 可以再发一个,也是等价的。)
在2009-07-05,"Karl Ma" <karl... @gmail.com> 写道: -----原始邮件----- 发件人:"Karl Ma" <karl... @gmail.com> 发送时间:2009年7月5日 星期日 收件人:erlang-china@googlegroups.com 主题:[erlang-china:2220] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
这几天事多,没上来,尽然发生这么大的事,让我当演员啦,哈哈,有出场费吗? Max 这个故事太好了,你太有才了。
2009/7/4 Zoom.Quiet<zoom.qu... @gmail.com>
2009/7/4 老范 <fanyun2... @gmail.com>:
..
>> 『没有指令的角色按站立处理』
> zoom: 只有这个俺有意见,最好可以按照上次的指令复用;
> 老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? 可以再发一个,也是等价的。 > 这点我open, 大家讨论。 如果要改的话,还有种改法是发指令的时候同时发要求执行多少遍。 这样我们可以让一个战士连续攻击10次。 或者超前走8步。。 > 。
好的! 为了 EB 核心程序的简单,俺认为应该当没有指令;
但是这也提醒所有 战队开发者,应该将历史指令保留,以便减少决策运算,,,,可以简单复用!
对于战场守护神,如果战队程序白痴的想对已经死亡的战士下令,,,, 那个在现实战争中,这也是常见的, 作为EB 中高于世人的存在, 守护神,就当放了个屁,不管就好了...
当然的,未来,如果大家的决策程序,对战时,经常战平时,这种狗屁指令,就可以视作指挥力不足, 可以考虑记入胜利核算公式了.... ;-)
..
>> max: 别人的神秘盒子是私有的,你偷偷摸摸干嘛?
> zoom: 这其实是不现实的吧, 因为战场守护一直在通告战报,至少可以知道历史纸条们... > 老范: 这点很关键,盒子里面是别人未来计划的动作,当然要保密。 战场守护不通报战报。他只是更新battle_field 那个表。 > 大家通过battle_field 总是能看到别人战士的位置,以及别人战士正在做什么动作,但是看不到别人脑子里想的下一步干什么的计划(符合自然规律)。 > 历史纸条估计都已经过去时了,对于进一步战斗决策没有用了。
明确,可以看到的消息范畴是明确的,
只是对于已知数据的可能性,有不同想象...
-- http://zoomquiet.org人 生苦短,Pythonic!-)
过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting people be good!)
-- Karl Ma
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
老范 <fanyun2... @gmail.com>
Date: Tue, 7 Jul 2009 09:02:34 +0800
Local: Mon, Jul 6 2009 9:02 pm
Subject: Re: [erlang-china:2234] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
咸武:
攻击格子和攻击人这个约定也是和自然界法则相同的。 (我们游戏中大部分规则都是按照自然法则,或者物流定律来定的)
当你向前挥出一刀, 敌人可能跑了,就没砍到; 现在一般的网游都是只要挥刀的时候对方在,就算砍到。 我们是刀落下的时候,对方在才算砍到。。
Regards
老范
2009/7/6 郎咸武 <langxian... @163.com>
> 我记得有个文档中明确说明一点,当战士发起攻击的时候不是针对的人,而是针对的格子。文档中还明确说明这样攻击会造成误伤,因为在发起攻击到生效,格子的敌 人可能走了,也有可能换了新的敌人。 > 以上回答针对( 老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? > 可以再发一个,也是等价的。)
> 在2009-07-05,"Karl Ma" <karl... @gmail.com> 写道:
> -----原始邮件----- > *发件人:*"Karl Ma" <karl... @gmail.com> > *发送时间:*2009年7月5日 星期日 > *收件人:*erlang-china@googlegroups.com > *主题:*[erlang-china:2220] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 > 的进一步解释
> 这几天事多,没上来,尽然发生这么大的事,让我当演员啦,哈哈,有出场费吗? > Max 这个故事太好了,你太有才了。
> 2009/7/4 Zoom.Quiet<zoom.qu... @gmail.com>
>> 2009/7/4 老范 <fanyun2... @gmail.com>: >> .. >> >> 『没有指令的角色按站立处理』
>> > zoom: 只有这个俺有意见,最好可以按照上次的指令复用;
>> > 老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? 可以再发一个,也是等价的。 >> > 这点我open, 大家讨论。 如果要改的话,还有种改法是发指令的时候同时发要求执行多少遍。 这样我们可以让一个战士连续攻击10次。 >> 或者超前走8步。。 >> > 。
>> 好的! 为了 EB 核心程序的简单,俺认为应该当没有指令;
>> 但是这也提醒所有 战队开发者,应该将历史指令保留,以便减少决策运算,,,,可以简单复用!
>> 对于战场守护神,如果战队程序白痴的想对已经死亡的战士下令,,,, >> 那个在现实战争中,这也是常见的, >> 作为EB 中高于世人的存在, 守护神,就当放了个屁,不管就好了...
>> 当然的,未来,如果大家的决策程序,对战时,经常战平时,这种狗屁指令,就可以视作指挥力不足, >> 可以考虑记入胜利核算公式了.... ;-)
>> .. >> >> max: 别人的神秘盒子是私有的,你偷偷摸摸干嘛?
>> > zoom: 这其实是不现实的吧, 因为战场守护一直在通告战报,至少可以知道历史纸条们... >> > 老范: 这点很关键,盒子里面是别人未来计划的动作,当然要保密。 战场守护不通报战报。他只是更新battle_field 那个表。 >> > 大家通过battle_field >> 总是能看到别人战士的位置,以及别人战士正在做什么动作,但是看不到别人脑子里想的下一步干什么的计划(符合自然规律)。 >> > 历史纸条估计都已经过去时了,对于进一步战斗决策没有用了。
>> 明确,可以看到的消息范畴是明确的, >> 只是对于已知数据的可能性,有不同想象...
>> -- >> http://zoomquiet.org人 生苦短,Pythonic!-) >> 过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting >> people be good!)
> -- > Karl Ma
> ------------------------------ > 200万种商品,最低价格,疯狂诱惑你<http://count.mail.163.com/redirect/footer.htm?f=http://gouwu.youdao.com >
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
老范 <fanyun2... @gmail.com>
Date: Tue, 7 Jul 2009 09:08:47 +0800
Local: Mon, Jul 6 2009 9:08 pm
Subject: Re: [erlang-china:2234] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
回答咸武的邮件的时候,我突然想到我们规则的一个可以用于战斗的点。
攻击: 2拍 转身: 1拍。
比如20秒的时候, a 向b 挥出一刀,b 背对着a 。 攻击到22秒生效。 在a 挥刀的时候,这时b 可能可以及时(20秒,21秒)看到这一刀, 就完全可以立刻发出转身指令,这个指令有可能在20秒或者21秒被 接受。 转身就会在 21秒或者22秒发生。
如果21 秒发生的话, b 可以将正面对a , 减少损失。 如果22 秒发生,看运气, 如果主程序先执行b ,就转过来了。 先执行a ,就没转过来。
因此及时看到别人的攻击, 并及时采取行动,可以某种程度减少损失。
Regards
老范。
2009/7/7 老范 <fanyun2... @gmail.com>
> 咸武:
> 攻击格子和攻击人这个约定也是和自然界法则相同的。 (我们游戏中大部分规则都是按照自然法则,或者物流定律来定的)
> 当你向前挥出一刀, 敌人可能跑了,就没砍到; 现在一般的网游都是只要挥刀的时候对方在,就算砍到。 我们是刀落下的时候,对方在才算砍到。。
> Regards
> 老范
> 2009/7/6 郎咸武 <langxian... @163.com>
>> 我记得有个文档中明确说明一点,当战士发起攻击的时候不是针对的人,而是针对的格子。文档中还明确说明这样攻击会造成误伤,因为在发起攻击到生效,格子的敌 人可能走了,也有可能换了新的敌人。 >> 以上回答针对( 老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? >> 可以再发一个,也是等价的。)
>> 在2009-07-05,"Karl Ma" <karl... @gmail.com> 写道:
>> -----原始邮件----- >> *发件人:*"Karl Ma" <karl... @gmail.com> >> *发送时间:*2009年7月5日 星期日 >> *收件人:*erlang-china@googlegroups.com >> *主题:*[erlang-china:2220] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 >> 的进一步解释
>> 这几天事多,没上来,尽然发生这么大的事,让我当演员啦,哈哈,有出场费吗? >> Max 这个故事太好了,你太有才了。
>> 2009/7/4 Zoom.Quiet<zoom.qu... @gmail.com>
>>> 2009/7/4 老范 <fanyun2... @gmail.com>: >>> .. >>> >> 『没有指令的角色按站立处理』
>>> > zoom: 只有这个俺有意见,最好可以按照上次的指令复用;
>>> > 老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? 可以再发一个,也是等价的。 >>> > 这点我open, 大家讨论。 如果要改的话,还有种改法是发指令的时候同时发要求执行多少遍。 这样我们可以让一个战士连续攻击10次。 >>> 或者超前走8步。。 >>> > 。
>>> 好的! 为了 EB 核心程序的简单,俺认为应该当没有指令;
>>> 但是这也提醒所有 战队开发者,应该将历史指令保留,以便减少决策运算,,,,可以简单复用!
>>> 对于战场守护神,如果战队程序白痴的想对已经死亡的战士下令,,,, >>> 那个在现实战争中,这也是常见的, >>> 作为EB 中高于世人的存在, 守护神,就当放了个屁,不管就好了...
>>> 当然的,未来,如果大家的决策程序,对战时,经常战平时,这种狗屁指令,就可以视作指挥力不足, >>> 可以考虑记入胜利核算公式了.... ;-)
>>> .. >>> >> max: 别人的神秘盒子是私有的,你偷偷摸摸干嘛?
>>> > zoom: 这其实是不现实的吧, 因为战场守护一直在通告战报,至少可以知道历史纸条们... >>> > 老范: 这点很关键,盒子里面是别人未来计划的动作,当然要保密。 战场守护不通报战报。他只是更新battle_field 那个表。 >>> > 大家通过battle_field >>> 总是能看到别人战士的位置,以及别人战士正在做什么动作,但是看不到别人脑子里想的下一步干什么的计划(符合自然规律)。 >>> > 历史纸条估计都已经过去时了,对于进一步战斗决策没有用了。
>>> 明确,可以看到的消息范畴是明确的, >>> 只是对于已知数据的可能性,有不同想象...
>>> -- >>> http://zoomquiet.org人 生苦短,Pythonic!-) >>> 过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting >>> people be good!)
>> -- >> Karl Ma
>> ------------------------------ >> 200万种商品,最低价格,疯狂诱惑你<http://count.mail.163.com/redirect/footer.htm?f=http://gouwu.youdao.com >
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
郎咸武 <langxian... @163.com>
Date: Tue, 7 Jul 2009 10:22:18 +0800 (CST)
Local: Mon, Jul 6 2009 10:22 pm
Subject: Re:[erlang-china:2236] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
老范:有些问题后面再和你讨论 在2009-07-07,"老范" <fanyun2... @gmail.com> 写道: -----原始邮件----- 发件人:"老范" <fanyun2... @gmail.com> 发送时间:2009年7月7日 星期二 收件人:erlang-china@googlegroups.com, "ECUG~erlang中文用户组" <ecug@googlegroups.com> 主题:[erlang-china:2236] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
咸武:
攻击格子和攻击人这个约定也是和自然界法则相同的。 (我们游戏中大部分规则都是按照自然法则,或者物流定律来定的)
当你向前挥出一刀, 敌人可能跑了,就没砍到; 现在一般的网游都是只要挥刀的时候对方在,就算砍到。 我们是刀落下的时候,对方在才算砍到。。
Regards
老范
2009/7/6 郎咸武<langxian... @163.com>
我记得有个文档中明确说明一点,当战士发起攻击的时候不是针对的人,而是针对的格子。文档中还明确说明这样攻击会造成误伤,因为在发起攻击到生效,格子的敌 人可能走了,也有可能换了新的敌人。 以上回答针对(老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? 可以再发一个,也是等价的。)
在2009-07-05,"Karl Ma" <karl... @gmail.com> 写道: -----原始邮件----- 发件人:"Karl Ma" <karl... @gmail.com> 发送时间:2009年7月5日 星期日 收件人:erlang-china@googlegroups.com 主题:[erlang-china:2220] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
这几天事多,没上来,尽然发生这么大的事,让我当演员啦,哈哈,有出场费吗? Max 这个故事太好了,你太有才了。
2009/7/4 Zoom.Quiet<zoom.qu... @gmail.com>
2009/7/4 老范 <fanyun2... @gmail.com>:
..
>> 『没有指令的角色按站立处理』
> zoom: 只有这个俺有意见,最好可以按照上次的指令复用;
> 老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? 可以再发一个,也是等价的。 > 这点我open, 大家讨论。 如果要改的话,还有种改法是发指令的时候同时发要求执行多少遍。 这样我们可以让一个战士连续攻击10次。 或者超前走8步。。 > 。
好的! 为了 EB 核心程序的简单,俺认为应该当没有指令;
但是这也提醒所有 战队开发者,应该将历史指令保留,以便减少决策运算,,,,可以简单复用!
对于战场守护神,如果战队程序白痴的想对已经死亡的战士下令,,,, 那个在现实战争中,这也是常见的, 作为EB 中高于世人的存在, 守护神,就当放了个屁,不管就好了...
当然的,未来,如果大家的决策程序,对战时,经常战平时,这种狗屁指令,就可以视作指挥力不足, 可以考虑记入胜利核算公式了.... ;-)
..
>> max: 别人的神秘盒子是私有的,你偷偷摸摸干嘛?
> zoom: 这其实是不现实的吧, 因为战场守护一直在通告战报,至少可以知道历史纸条们... > 老范: 这点很关键,盒子里面是别人未来计划的动作,当然要保密。 战场守护不通报战报。他只是更新battle_field 那个表。 > 大家通过battle_field 总是能看到别人战士的位置,以及别人战士正在做什么动作,但是看不到别人脑子里想的下一步干什么的计划(符合自然规律)。 > 历史纸条估计都已经过去时了,对于进一步战斗决策没有用了。
明确,可以看到的消息范畴是明确的,
只是对于已知数据的可能性,有不同想象...
-- http://zoomquiet.org人 生苦短,Pythonic!-)
过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting people be good!)
-- Karl Ma
200万种商品,最低价格,疯狂诱惑你
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
"Zoom.Quiet" <zoom.qu... @gmail.com>
Date: Tue, 7 Jul 2009 10:26:23 +0800
Local: Mon, Jul 6 2009 10:26 pm
Subject: Re: [erlang-china:2246] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
2009/7/7 郎咸武 <langxian
... @163.com>:
> 老范:有些问题后面再和你讨论
讨论请公开;
这是公共智力资产了!
建议使用 IRC
> 在2009-07-07,"老范" <fanyun2
... @gmail.com> 写道:
> -----原始邮件----- > 发件人:"老范" <fanyun2... @gmail.com> > 发送时间:2009年7月7日 星期二 > 收件人:erlang-china@googlegroups.com, "ECUG~erlang中文用户组" > <ecug@googlegroups.com> > 主题:[erlang-china:2236] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 > 的进一步解释
> 咸武:
> 攻击格子和攻击人这个约定也是和自然界法则相同的。 (我们游戏中大部分规则都是按照自然法则,或者物流定律来定的)
> 当你向前挥出一刀, 敌人可能跑了,就没砍到; 现在一般的网游都是只要挥刀的时候对方在,就算砍到。 我们是刀落下的时候,对方在才算砍到。。
> Regards
> 老范
> 2009/7/6 郎咸武<langxian... @163.com>
>> 我记得有个文档中明确说明一点,当战士发起攻击的时候不是针对的人,而是针对的格子。文档中还明确说明这样攻击会造成误伤,因为在发起攻击到生效,格子的敌 人可能走了,也有可能换了新的敌人。 >> 以上回答针对(老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? >> 可以再发一个,也是等价的。)
>> 在2009-07-05,"Karl Ma" <karl... @gmail.com> 写道:
>> -----原始邮件----- >> 发件人:"Karl Ma" <karl... @gmail.com> >> 发送时间:2009年7月5日 星期日 >> 收件人:erlang-china@googlegroups.com >> 主题:[erlang-china:2220] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 >> 的进一步解释
>> 这几天事多,没上来,尽然发生这么大的事,让我当演员啦,哈哈,有出场费吗? >> Max 这个故事太好了,你太有才了。
>> 2009/7/4 Zoom.Quiet<zoom.qu... @gmail.com>
>>> 2009/7/4 老范 <fanyun2... @gmail.com>: >>> .. >>> >> 『没有指令的角色按站立处理』
>>> > zoom: 只有这个俺有意见,最好可以按照上次的指令复用;
>>> > 老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? 可以再发一个,也是等价的。 >>> > 这点我open, 大家讨论。 如果要改的话,还有种改法是发指令的时候同时发要求执行多少遍。 这样我们可以让一个战士连续攻击10次。 >>> > 或者超前走8步。。 >>> > 。
>>> 好的! 为了 EB 核心程序的简单,俺认为应该当没有指令;
>>> 但是这也提醒所有 战队开发者,应该将历史指令保留,以便减少决策运算,,,,可以简单复用!
>>> 对于战场守护神,如果战队程序白痴的想对已经死亡的战士下令,,,, >>> 那个在现实战争中,这也是常见的, >>> 作为EB 中高于世人的存在, 守护神,就当放了个屁,不管就好了...
>>> 当然的,未来,如果大家的决策程序,对战时,经常战平时,这种狗屁指令,就可以视作指挥力不足, >>> 可以考虑记入胜利核算公式了.... ;-)
>>> .. >>> >> max: 别人的神秘盒子是私有的,你偷偷摸摸干嘛?
>>> > zoom: 这其实是不现实的吧, 因为战场守护一直在通告战报,至少可以知道历史纸条们... >>> > 老范: 这点很关键,盒子里面是别人未来计划的动作,当然要保密。 战场守护不通报战报。他只是更新battle_field 那个表。 >>> > 大家通过battle_field >>> > 总是能看到别人战士的位置,以及别人战士正在做什么动作,但是看不到别人脑子里想的下一步干什么的计划(符合自然规律)。 >>> > 历史纸条估计都已经过去时了,对于进一步战斗决策没有用了。
>>> 明确,可以看到的消息范畴是明确的, >>> 只是对于已知数据的可能性,有不同想象...
>>> -- >>> http://zoomquiet.org人 生苦短,Pythonic!-) >>> 过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting >>> people be good!)
>> -- >> Karl Ma
>> ________________________________ >> 200万种商品,最低价格,疯狂诱惑你
> ________________________________ > 200万种商品,最低价格,疯狂诱惑你
--
http://zoomquiet.org 人生苦短,Pythonic!-)
过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting
people be good!)
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
老范 <fanyun2... @gmail.com>
Date: Tue, 7 Jul 2009 10:28:57 +0800
Local: Mon, Jul 6 2009 10:28 pm
Subject: Re: [ECUG:496] Re: [erlang-china:2246] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
Zoom:
你看我们是否约个时间,组织一次EB 参与者 IRC 讨论会。 把大家关心的问题再充分讨论一下?
由于大家都是业余玩的最好是找个晚上的时间。
你组织一下好吗?
Regards
老范
2009/7/7 Zoom.Quiet <zoom.qu... @gmail.com>
> 2009/7/7 郎咸武 <langxian
... @163.com>:
> > 老范:有些问题后面再和你讨论
> 讨论请公开; > 这是公共智力资产了!
> 建议使用 IRC
> > 在2009-07-07,"老范" <fanyun2... @gmail.com> 写道:
> > -----原始邮件----- > > 发件人:"老范" <fanyun2... @gmail.com> > > 发送时间:2009年7月7日 星期二 > > 收件人:erlang-china@googlegroups.com, "ECUG~erlang中文用户组" > > <ecug@googlegroups.com> > > 主题:[erlang-china:2236] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 > > 的进一步解释
> > 咸武:
> > 攻击格子和攻击人这个约定也是和自然界法则相同的。 (我们游戏中大部分规则都是按照自然法则,或者物流定律来定的)
> > 当你向前挥出一刀, 敌人可能跑了,就没砍到; 现在一般的网游都是只要挥刀的时候对方在,就算砍到。 我们是刀落下的时候,对方在才算砍到。。
> > Regards
> > 老范
> > 2009/7/6 郎咸武<langxian... @163.com>
> 我记得有个文档中明确说明一点,当战士发起攻击的时候不是针对的人,而是针对的格子。文档中还明确说明这样攻击会造成误伤,因为在发起攻击到生效,格子的敌 人可能走了,也有可能换了新的敌人。 > >> 以上回答针对(老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? > >> 可以再发一个,也是等价的。)
> >> 在2009-07-05,"Karl Ma" <karl... @gmail.com> 写道:
> >> -----原始邮件----- > >> 发件人:"Karl Ma" <karl... @gmail.com> > >> 发送时间:2009年7月5日 星期日 > >> 收件人:erlang-china@googlegroups.com > >> 主题:[erlang-china:2220] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 > >> 的进一步解释
> >> 这几天事多,没上来,尽然发生这么大的事,让我当演员啦,哈哈,有出场费吗? > >> Max 这个故事太好了,你太有才了。
> >> 2009/7/4 Zoom.Quiet<zoom.qu... @gmail.com>
> >>> 2009/7/4 老范 <fanyun2... @gmail.com>: > >>> .. > >>> >> 『没有指令的角色按站立处理』
> >>> > zoom: 只有这个俺有意见,最好可以按照上次的指令复用;
> >>> > 老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? > 可以再发一个,也是等价的。 > >>> > 这点我open, 大家讨论。 如果要改的话,还有种改法是发指令的时候同时发要求执行多少遍。 这样我们可以让一个战士连续攻击10次。 > >>> > 或者超前走8步。。 > >>> > 。
> >>> 好的! 为了 EB 核心程序的简单,俺认为应该当没有指令;
> >>> 但是这也提醒所有 战队开发者,应该将历史指令保留,以便减少决策运算,,,,可以简单复用!
> >>> 对于战场守护神,如果战队程序白痴的想对已经死亡的战士下令,,,, > >>> 那个在现实战争中,这也是常见的, > >>> 作为EB 中高于世人的存在, 守护神,就当放了个屁,不管就好了...
> >>> 当然的,未来,如果大家的决策程序,对战时,经常战平时,这种狗屁指令,就可以视作指挥力不足, > >>> 可以考虑记入胜利核算公式了.... ;-)
> >>> .. > >>> >> max: 别人的神秘盒子是私有的,你偷偷摸摸干嘛?
> >>> > zoom: 这其实是不现实的吧, 因为战场守护一直在通告战报,至少可以知道历史纸条们... > >>> > 老范: 这点很关键,盒子里面是别人未来计划的动作,当然要保密。 战场守护不通报战报。他只是更新battle_field 那个表。 > >>> > 大家通过battle_field > >>> > 总是能看到别人战士的位置,以及别人战士正在做什么动作,但是看不到别人脑子里想的下一步干什么的计划(符合自然规律)。 > >>> > 历史纸条估计都已经过去时了,对于进一步战斗决策没有用了。
> >>> 明确,可以看到的消息范畴是明确的, > >>> 只是对于已知数据的可能性,有不同想象...
> >>> -- > >>> http://zoomquiet.org人 生苦短,Pythonic!-) > >>> 过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting > >>> people be good!)
> >> -- > >> Karl Ma
> >> ________________________________ > >> 200万种商品,最低价格,疯狂诱惑你
> > ________________________________ > > 200万种商品,最低价格,疯狂诱惑你
> -- > http://zoomquiet.org 人生苦短,Pythonic!-) > 过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting > people be good!)
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
"Zoom.Quiet" <zoom.qu... @gmail.com>
Date: Tue, 7 Jul 2009 10:31:30 +0800
Local: Mon, Jul 6 2009 10:31 pm
Subject: Re: [ECUG:496] Re: [erlang-china:2246] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
2009/7/7 老范 <fanyun2
... @gmail.com>:
> Zoom:
Zoomq 是也乎 ;-)
> 你看我们是否约个时间,组织一次EB 参与者 IRC 讨论会。 把大家关心的问题再充分讨论一下?
关心的问题,请老范先代为列出来,在专门维基中,并给出参考链接,以便大家先预习;
> 由于大家都是业余玩的最好是找个晚上的时间。
具体时间,俺建议是 固定到周521:00~22:00 定时,定议題不拖时间;
在此之前,请大家先练习加入 #erlbattle 房间,使用 IRC ;-)
> 你组织一下好吗?
> Regards
> 老范
> 2009/7/7 Zoom.Quiet <zoom.qu... @gmail.com>
>> 2009/7/7 郎咸武 <langxian... @163.com>: >> > 老范:有些问题后面再和你讨论
>> 讨论请公开; >> 这是公共智力资产了!
>> 建议使用 IRC
>> > 在2009-07-07,"老范" <fanyun2... @gmail.com> 写道:
>> > -----原始邮件----- >> > 发件人:"老范" <fanyun2... @gmail.com> >> > 发送时间:2009年7月7日 星期二 >> > 收件人:erlang-china@googlegroups.com, "ECUG~erlang中文用户组" >> > <ecug@googlegroups.com> >> > 主题:[erlang-china:2236] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 >> > 的进一步解释
>> > 咸武:
>> > 攻击格子和攻击人这个约定也是和自然界法则相同的。 (我们游戏中大部分规则都是按照自然法则,或者物流定律来定的)
>> > 当你向前挥出一刀, 敌人可能跑了,就没砍到; 现在一般的网游都是只要挥刀的时候对方在,就算砍到。 我们是刀落下的时候,对方在才算砍到。。
>> > Regards
>> > 老范
>> > 2009/7/6 郎咸武<langxian... @163.com>
>> >> 我记得有个文档中明确说明一点,当战士发起攻击的时候不是针对的人,而是针对的格子。文档中还明确说明这样攻击会造成误伤,因为在发起攻击到生效,格子的敌 人可能走了,也有可能换了新的敌人。 >> >> 以上回答针对(老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? >> >> 可以再发一个,也是等价的。)
>> >> 在2009-07-05,"Karl Ma" <karl... @gmail.com> 写道:
>> >> -----原始邮件----- >> >> 发件人:"Karl Ma" <karl... @gmail.com> >> >> 发送时间:2009年7月5日 星期日 >> >> 收件人:erlang-china@googlegroups.com >> >> 主题:[erlang-china:2220] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 >> >> 的进一步解释
>> >> 这几天事多,没上来,尽然发生这么大的事,让我当演员啦,哈哈,有出场费吗? >> >> Max 这个故事太好了,你太有才了。
>> >> 2009/7/4 Zoom.Quiet<zoom.qu... @gmail.com>
>> >>> 2009/7/4 老范 <fanyun2... @gmail.com>: >> >>> .. >> >>> >> 『没有指令的角色按站立处理』
>> >>> > zoom: 只有这个俺有意见,最好可以按照上次的指令复用;
>> >>> > 老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? >> >>> > 可以再发一个,也是等价的。 >> >>> > 这点我open, 大家讨论。 如果要改的话,还有种改法是发指令的时候同时发要求执行多少遍。 这样我们可以让一个战士连续攻击10次。 >> >>> > 或者超前走8步。。 >> >>> > 。
>> >>> 好的! 为了 EB 核心程序的简单,俺认为应该当没有指令;
>> >>> 但是这也提醒所有 战队开发者,应该将历史指令保留,以便减少决策运算,,,,可以简单复用!
>> >>> 对于战场守护神,如果战队程序白痴的想对已经死亡的战士下令,,,, >> >>> 那个在现实战争中,这也是常见的, >> >>> 作为EB 中高于世人的存在, 守护神,就当放了个屁,不管就好了...
>> >>> 当然的,未来,如果大家的决策程序,对战时,经常战平时,这种狗屁指令,就可以视作指挥力不足, >> >>> 可以考虑记入胜利核算公式了.... ;-)
>> >>> .. >> >>> >> max: 别人的神秘盒子是私有的,你偷偷摸摸干嘛?
>> >>> > zoom: 这其实是不现实的吧, 因为战场守护一直在通告战报,至少可以知道历史纸条们... >> >>> > 老范: 这点很关键,盒子里面是别人未来计划的动作,当然要保密。 战场守护不通报战报。他只是更新battle_field 那个表。 >> >>> > 大家通过battle_field >> >>> > 总是能看到别人战士的位置,以及别人战士正在做什么动作,但是看不到别人脑子里想的下一步干什么的计划(符合自然规律)。 >> >>> > 历史纸条估计都已经过去时了,对于进一步战斗决策没有用了。
>> >>> 明确,可以看到的消息范畴是明确的, >> >>> 只是对于已知数据的可能性,有不同想象...
>> >>> -- >> >>> http://zoomquiet.org人 生苦短,Pythonic!-) >> >>> 过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting >> >>> people be good!)
>> >> -- >> >> Karl Ma
>> >> ________________________________ >> >> 200万种商品,最低价格,疯狂诱惑你
>> > ________________________________ >> > 200万种商品,最低价格,疯狂诱惑你
>> -- >> http://zoomquiet.org 人生苦短,Pythonic!-) >> 过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting >> people be good!)
--
http://zoomquiet.org 人生苦短,Pythonic!-)
KM乃是培育可催生自学习型组织的文化氛围!
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
郎咸武 <langxian... @163.com>
Date: Tue, 7 Jul 2009 10:38:26 +0800 (CST)
Local: Mon, Jul 6 2009 10:38 pm
Subject: Re:[erlang-china:2248] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
看来有些误解,我说的后面讨论肯定会在邮件列表里面讨论了
?> -----原始邮件-----
> 发件人: "Zoom.Quiet" <zoom.qu
... @gmail.com>
> 发送时间: 2009年7月7日 星期二
> 收件人: erlang-china@googlegroups.com, "ECUG~erlang中文用户组" <ecug@googlegroups.com>
> 抄送:
> 主题: [erlang-china:2248] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
> 2009/7/7 郎咸武 <langxian... @163.com>: > > 老范:有些问题后面再和你讨论
> 讨论请公开; > 这是公共智力资产了!
> 建议使用 IRC
> > 在2009-07-07,"老范" <fanyun2... @gmail.com> 写道:
> > -----原始邮件----- > > 发件人:"老范" <fanyun2... @gmail.com> > > 发送时间:2009年7月7日 星期二 > > 收件人:erlang-china@googlegroups.com, "ECUG~erlang中文用户组" > > <ecug@googlegroups.com> > > 主题:[erlang-china:2236] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 > > 的进一步解释
> > 咸武:
> > 攻击格子和攻击人这个约定也是和自然界法则相同的。 (我们游戏中大部分规则都是按照自然法则,或者物流定律来定的)
> > 当你向前挥出一刀, 敌人可能跑了,就没砍到; 现在一般的网游都是只要挥刀的时候对方在,就算砍到。 我们是刀落下的时候,对方在才算砍到。。
> > Regards
> > 老范
> > 2009/7/6 郎咸武<langxian... @163.com>
> >> 我记得有个文档中明确说明一点,当战士发起攻击的时候不是针对的人,而是针对的格子。文档中还明确说明这样攻击会造成误伤,因为在发起攻击到生效,格子的敌 人可能走了,也有可能换了新的敌人。 > >> 以上回答针对(老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令? > >> 可以再发一个,也是等价的。)
> >> 在2009-07-05,"Karl Ma" <karl... @gmail.com> 写道:
> >> -----原始邮件----- > >> 发件人:"Karl Ma" <karl... @gmail.com> > >> 发送时间:2009年7月5日 星期日 > >> 收件人:erlang-china@googlegroups.com > >> 主题:[erlang-china:2220] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 > >> 的进一步解释
> >> 这几天事多,没上来,尽然发生这么大的事,让我当演员啦,哈哈,有出场费吗? > >> Max 这个故事太好了,你太有才了。
> >> 2009/7/4 Zoom.Quiet<zoom.qu... @gmail.com>
> >>> 2009/7/4 老范 <fanyun2... @gmail.com>: > >>> .. > >>> >> 『没有指令的角色按站立处理』
> >>> > zoom: 只有这个俺有意见,最好可以按照上次的指令复用;
> >>> > 老范:这个是这样考虑的,上一次比如发的是攻击指令,这轮可能前面的人都死了,或者走了, 是否有必要复用原来的指令?? 可以再发一个,也是等价的。 > >>> > 这点我open, 大家讨论。 如果要改的话,还有种改法是发指令的时候同时发要求执行多少遍。 这样我们可以让一个战士连续攻击10次。 > >>> > 或者超前走8步。。 > >>> > 。
> >>> 好的! 为了 EB 核心程序的简单,俺认为应该当没有指令;
> >>> 但是这也提醒所有 战队开发者,应该将历史指令保留,以便减少决策运算,,,,可以简单复用!
> >>> 对于战场守护神,如果战队程序白痴的想对已经死亡的战士下令,,,, > >>> 那个在现实战争中,这也是常见的, > >>> 作为EB 中高于世人的存在, 守护神,就当放了个屁,不管就好了...
> >>> 当然的,未来,如果大家的决策程序,对战时,经常战平时,这种狗屁指令,就可以视作指挥力不足, > >>> 可以考虑记入胜利核算公式了.... ;-)
> >>> .. > >>> >> max: 别人的神秘盒子是私有的,你偷偷摸摸干嘛?
> >>> > zoom: 这其实是不现实的吧, 因为战场守护一直在通告战报,至少可以知道历史纸条们... > >>> > 老范: 这点很关键,盒子里面是别人未来计划的动作,当然要保密。 战场守护不通报战报。他只是更新battle_field 那个表。 > >>> > 大家通过battle_field > >>> > 总是能看到别人战士的位置,以及别人战士正在做什么动作,但是看不到别人脑子里想的下一步干什么的计划(符合自然规律)。 > >>> > 历史纸条估计都已经过去时了,对于进一步战斗决策没有用了。
> >>> 明确,可以看到的消息范畴是明确的, > >>> 只是对于已知数据的可能性,有不同想象...
> >>> -- > >>> http://zoomquiet.org人 生苦短,Pythonic!-) > >>> 过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting > >>> people be good!)
> >> -- > >> Karl Ma
> >> ________________________________ > >> 200万种商品,最低价格,疯狂诱惑你
> > ________________________________ > > 200万种商品,最低价格,疯狂诱惑你
> -- > http://zoomquiet.org 人生苦短,Pythonic!-) > 过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting > people be good!)
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
老范 <fanyun2... @gmail.com>
Date: Tue, 7 Jul 2009 10:43:28 +0800
Local: Mon, Jul 6 2009 10:43 pm
Subject: Re: [ECUG:496] Re: [erlang-china:2246] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
周五晚上可能不大好。 我们老年人没关系, 年轻人可能要出去happy.
大家投票吧。
You must
Sign in before you can post messages.
You do not have the permission required to post.
From:
钟伟 <enef... @gmail.com>
Date: Tue, 7 Jul 2009 21:53:27 +0800
Local: Tues, Jul 7 2009 9:53 am
Subject: Re: [erlang-china:2252] Re: [ECUG:496] Re: [erlang-china:2246] Re: [ECUG:469] Re: 恶狼战役: 时钟要保障每台不同的机器有相同的运算结果 的进一步解释
老范只是昵称中有个老字。其实你年轻着呢。
同意周五晚上哈。 对了,我就是 小钟,以前那个weberzh... @gmail.com垃圾邮件实在太多,换成现在这个了。
You must
Sign in before you can post messages.
You do not have the permission required to post.