aligo注意...

aligo, 如果看过这帖你仍认为向我说明的东西我没懂,那么我再也不说MS War的事就是了

关于自动战斗采用伪方法或是精确计算的问题

    你说的蝴蝶效应对计算结果的影响我明白。如果某人在某次战斗中RP够好,胜利了。那么他就比其他人更有可能赢得下次战斗。下次战斗的胜利会让他更有利于下下次的战斗......这样,开始时一个小的差异就会导致结果的巨大差别。
    我承认伪方法不能精确得到结果,但是数学计算确实可以一定精度内模拟蝴蝶效应造成的 结果之间的差别,不过对过于极端的情况无能为力。
    就现在而言,天气预报主要靠解气象方程式组来实现。可想,其基础的资料十分微观,影响的因素十分复杂。那么,按照蝴蝶效应,忽略了如此多的微观因素的气象方程式组,似乎完全没有意义。然而,事实证明,气象方程式组并不像预料中的那么不准。因为在抽象的层面上有着宏观的规律存在。不过这不是我要研究的(这是哲学疯子们的事)。

    话说回来,自动战斗的目的是什么?我的理解是,让不能经常碰电脑的人在MS War中不掉队太远。
    MS War是游戏,不是科学计算程序。对于游戏而言,人参与的过程才是重点。注意,是参与的过程。自动战斗没有人的参与。所以,自动战斗的过程是没有意义的,有意义的事他的结果。刚才(或许你看到的时候已经不是“刚才”了)我们争论的焦点是,怎样才能得到一个有效的结果。你认为数学计算不能精确模拟结果。而我认为不用精确模拟结果,因为我们不需要过程,结果只要“像”真的就行了。这个“像”是可以做到的。比如我们可以用统计或者其他什么方法(比如说人工神经网络)得到一定范围内有效的函数来计算自动战斗的最后结果。
    或许你会对这个“像”字嗤之以鼻。但是,我认为这是很恰当地方法。因为在当前的技术条件下任何游戏都有不精确的地方,只是“像”真的的地方。大多数即时游戏里的碰撞检测都是不精确的。它们没有考虑物体每个部位的动量,仅仅是相交检测,没有真正做到“碰撞”。而且,即使是相交检测也是不精确的。现在的3D游戏中的相交检测,没有逐个检测三角形相交的,几乎都是AABB或者其他的简略方法。因为这是游戏,要的是性能。
    所以我认为,伪方法是可行的。
   
   
   
   
   
当然.......如果你对MS War的开发实在是感到厌倦了,每人能逼你。因为MS War对你,核对大家一样,只是游戏.........不是责任。

可是游戏制作的过程就是不断追求真实的过程,现在不是出现了物理加速卡么?就是要把原来不精确的东西变得越来越精确

“话说回来,自动战斗的目的是什么?我的理解是,让不能经常碰电脑的人在MS War中不掉队太远。”

你这样说?可问题是这个游戏除了自动战斗没别的战斗方法,如果没有战斗哪里的胜率

如果用你说的数学方法,大家玩股子游戏好了,还来玩什么MS War

而且我需要有战斗过程展现给玩家,那么必定是需要真实的进行那个战斗

“比如我们可以用统计或者其他什么方法(比如说人工神经网络)得到一定范围内有效的函数来计算自动战斗的最后结果。”

我不清楚人工神经网络是什么玩意,不过我知道如果把所有战斗情况的事先运算一遍存起来,并且在最后加入RP爆发的机会,可能就能达到相对精确的结果,不过你需要处理以下几个元素:几乎有200种不同的机体,驾驶员的4个数值,1个向性,1个策略,一个机体的最多3种武器,有威力和命中率,还有机体出战的位置,以及对方上述情况,在战斗中还有更多变化,例如战场地形,NT觉醒,等等的不确定因素。

我不希望给大家一种很不真实的感觉,就好比辛辛苦苦的在学校掌握每个技能,然后就一张考卷的一个答对百分比来评判你?

TOP

“可是游戏制作的过程就是不断追求真实的过程,现在不是出现了物理加速卡么?就是要把原来不精确的东西变得越来越精确”

这个我十分赞同,我也希望我们玩的游戏能够使用科学计算一样的精度。但是就现在的情况来看,硬件水平达不到,使用不精确的方法是迫不得已。对于MS War,现在的事实是技术上有很大限制,我提出使用伪方法实际上只是针对技术限制的解决方案之一。


“如果用你说的数学方法,大家玩股子游戏好了,还来玩什么MS War”
“我不希望给大家一种很不真实的感觉,就好比辛辛苦苦的在学校掌握每个技能,然后就一张考卷的一个答对百分比来评判你?”

自动战斗时是用户在玩吗?是电脑自己在“玩”吧。


关于人工神经网络
这个东西的理论其实很简单。但是我表达能力不是很好,难以用十分简单的语言表达。人工神经网络的特点是模式匹配检测。所以对于MS War伪方法,不可能单用人工神经网络。


不可否认,影响结果的因素很多,不过一定精度限制内让人觉得像的情况 数学方法是做得到的。只是推导伪方法的函数会相当的麻烦。如果你认为这已经构成了不采用伪方法的理由,而且不准备放弃MS War的话,我认为可以就是思路的时候了。




关于分布式服务器

这个方法有很大的瓶颈
这个瓶颈就是,只有公网IP的用户(或内网+端口映射)才能作为Server
公网IP限制最大的麻烦是:每天第一个进入MS War的必须是公网IP用户。没有公网用户就没有Server。

TOP

麻烦......做成像StarCraft/WarCraft+战网的模式算了|||

不过那样似乎和原本的设计目的相差太远了||||

TOP

原帖由 迪亚大菠萝 于 2006-8-23 10:15 发表
麻烦......做成像StarCraft/WarCraft+战网的模式算了|||

不过那样似乎和原本的设计目的相差太远了||||

别给我说离谱的东西

现在就是先把MS War的问题解决

你出钱,买服务器,我立马做个C/S的- -

TOP

......似乎有解决办法,采用原模式

问题的症结是,Server只能计算20秒,而一晚上的自动战斗的计算肯定超时。
如果把自动战斗的计算移到Client问题即可解决。
但是现在没有可用来计算的Client.......不知道在网页中加入Java 和 VBScript能不能作这样的计算....

如果不行,就只有写Client程序代替网页。但是这样......似乎又与原本设计目的背离了........

我去研究一下Java & VBScript了再说.....

TOP

原帖由 迪亚大菠萝 于 2006-8-23 10:25 发表
......似乎有解决办法,采用原模式

问题的症结是,Server只能计算20秒,而一晚上的自动战斗的计算肯定超时。
如果把自动战斗的计算移到Client问题即可解决。
但是现在没有可用来计算的Client.......不知道在 ...

可以是可以,不过客户端也可以伪造数据提交到服务端- -

TOP

Processed in 0.018195 second(s), 6 queries, Gzip enabled. | © 2009 JPSFM.net, all rights reserved | Powered by Discuz! 7.2 | About | Archiver | WAP