2013-04-05 35 views
-3

我尝试寻找战略游戏的战斗像TRAVIAN或ULTIMA或领主的算法......但每一个程序,我写的有错误计算死去的士兵,这个临界点的一些例子是:什么是策略游戏的战斗公式?

  1. 在现实世界中,当100名士兵袭击1名士兵时,通常100名士兵还活着,1名士兵死亡。战斗

数据例如

  • 发现获奖者是:

    attacker: 
    Soldiers | defending-power | attacking-power | Soldier Count | 
    ---------|-----------------|-----------------|---------------| 
    A  | 20    | 45    | 5 
    B  | 22    | 77    | 4 
    C  | 41    | 32    | 7 
    D  | 38    | 54    | 6 
    E  | 27    | 41    | 6 
    
    defender: 
    Soldiers | defending-power | attacking-power | Soldier Count | 
    ---------|-----------------|-----------------|---------------| 
    A  | 44    | 12    | 6 
    B  | 59    | 18    | 6 
    C  | 73    | 40    | 7 
    D  | 26    | 61    | 2 
    E  | 7    | 24    | 4 
    
  • 回答

    1

    我会建议双方球员的士兵数如下的exponential decay状的曲线,依赖于对方的士兵数。在任何时候,玩家X的士兵数量正在减少(Y的士兵)*(Y的进攻能力)/(Y的防守力量),对于Y的士兵数量也是一样。

    如果两名球员的优势相似,那么双方的战士数量就会像曲线一样呈指数衰减下降,但如果一名球员的实力大大超过另一名球员的实力,那么对方的士兵数量将会出现线性下降时间。 (是的,将战士数量视为浮点数,直到战斗结束。)

    获取算法以匹配数据将是确定您运行计算的频率的一个过程(基本上,您将该因子乘以多大) ,确定你是同时跑双方还是先减少另一方的士兵数量,最后是否四舍五入,以及攻击力/防御力部分是否像一个人一样简单,或者是否由于获得优势,您的收益会减少或失控。