Confoglの生存ボーナス

http://blog.rino-server.jp/?page_id=432
2010/05/10 わかりやすく書き直しました。
2010/05/29 FAQ追加(未使用ヘルスアイテムのポイント加算)

方法1
((real hp) + (temp hp) * (temp multi))を全員分行ってtotal healthをだす。
(total health) * (map multi) * (global multi)+(distance bonus)

もう少し、簡単?なやり方を教えてもらいました。

方法2
((real hp) + (temp hp) * (temp multi))を全員分行ってtotal healthをだす。これは1と同じ。
(400+(total hp)*(global multi))*(map multi)

例えば距離ボーナス600点のマップで全員ダメージ食らわずに生還した場合にそれぞれの計算式で計算すると

方法1
(100+0*0.30625)+(100+0*0.30625)+(100+0*0.30625)+(100+0*0.30625)=400
400*600/400*2+600=1800

方法2
(100+0*0.30625)+(100+0*0.30625)+(100+0*0.30625)+(100+0*0.30625)=400
(400+400*2)*600/400=1800

FAQ
Q.real hp(real healthpoint)ってなに?
A.実体力。最初からある時間がたっても減らないヘルスポイント

Q.temp hp(temporaly healthpoint)ってなに?
A.仮体力?一時体力?。ピル分とかダウン回復後に時間経過で減っていくヘルスポイント

Q.temp multiってなに?
A.乗数。temp hpに掛ける値。設定のconfogl_SM_tempmulti_incapで設定可能。

Q.map multiってなに?
A.距離ボーナスを400で割った値。設定のconfogl_SM_mapmultiで1(ON)/0(OFF)の設定が可能。デフォルト1。分母の400は定数。

Q.global multiってなに?
A.乗数。設定のconfogl_SM_multiplierでいくつにするか設定が可能。デフォルト2.0

Q.セーフルームでダウンした人はどうなるの?
A.total hpの計算に含みません。

Q.ヘルスアイテム(キット、ピル)を使わずにゴールしたらどうなるの?
A.本人が所持しているもののみ使ったものとしてポイントに加算されます。自分以外のメンバーが持っていても加算されません。
受け渡しの必要あり。

そのうちhttp://code.google.com/p/confogl/
あたりでドキュメントが作られると思います。

ゲーム内で!healthと発言するとすぐ確認できます。

Confoglの設定項目(2.1.6 Final版、次でまた変更されるかも知れません)
[sourcecode language=”bash”]
confogl_SM_enable ”1″ //Enable the health bonus style scoring
confogl_SM_multiplier ”2.0″  // Multiplier to apply to the health bonux
confogl_SM_tempmulti_incap_0 ”0.30625″  // Multiplier to apply to temp health of players with no incaps
confogl_SM_tempmulti_incap_1  “0.17500”   // Multiplier to apply to temp health of players with one incap
confogl_SM_tempmulti_incap_2  ”0.10000″  // Multiplier to apply to temp health of players with two incap (and are black and white)
confogl_SM_mapmulti ”1″ // Enables the 50/50 split between distance and health bonus (before the multiplier is applied)
[/sourcecode]

以下、古い記事。見る必要ないです。

① まず各プレイヤーについて以下の計算式でスコアをだします。
(real hp) + (temp hp) * (temp multi)
real hp =  実HP
temp hp = 一時HP(ピル分とかダウン復帰後のHP)
temp multi =乗数 ダウン回数により変わります。(cvarにより変更可能)
0回 = 0.30625
1回 = 0.17500
2回 = 0.10000

② 生存した各プレイヤーの上記数値を合計し、平均値を算出します。

(分母はセーフルーム内に存在する生存者数。ダウン状態を問わない。死亡は含まない。)

③ 以下の計算式により一人あたりのスコアを算出します。
(avg value) * (map multi) * (global multi)
avg value = ②の値
map multi = 最大マップ距離/400
※最大マップ距離は全員生存した時にはいる距離スコアだと思います。
global multi = 乗数(デフォルト2 cvarにより変更可能)

④ ③の値*生存人数。以上(ダウン状態を問わない。死亡は含まない)

パターンA:パリのチャプ1で全員フルHPで生存した場合
①100+0*0.30625=100、100+0*0.30625=100、100+0*0.30625=100、100+0*0.30625=100
②(100+100+100+100)/4= 100
③100*1*2 = 200
④200*4 = 800

パターンB:パリのチャプ1で3人フルHP、一人1ダウンでtemp hp60ぐらいで生存した場合
①100+0*0.30625=100、100+0*0.30625=100、100+0*0.30625=100、0+60*0.17500=10.5
②(100+100+100+10.5)/4= 77.625
③77.625*1*2 = 155.25
※小数点以下の扱いは不明。仮に切り捨てとして進めます。
④155*4 = 620

ややこしいなり。。
チャットで!healthと発言することによりその時点でのスコアを確認できます。

今ちょっと試してみたらダウンしてる状態のほうが起こした後よりスコアがよくなる。
ゴールする時にやったらどうなるんだろ。

修正されました。(2010/5/9確認) 以下パターンの例を追加

パターンC:パリのチャプ1で3人フルHP、セーフルームでダウンした場合
①100+0*0.30625=100、100+0*0.30625=100、100+0*0.30625=100、0
②(100+100+100+0)/4= 75
③75*1*2 = 150
※小数点以下の扱いは不明。仮に切り捨てとして進めます。
④150*4 = 600

パターンD:パリのチャプ1で3人フルHP、一人死亡した場合
①100+0*0.30625=100、100+0*0.30625=100
②(100+100+100)/3= 100
③100*1*2 = 200
※小数点以下の扱いは不明。仮に切り捨てとして進めます。
④200*3 = 600

続きに原文の説明載せておきます。もし、上の説明に間違いがあったりした場合は教えていただけると助かります。


This system works by replacing the basic 25pts per survivor with
a dynamic value that changes ((real hp) + (temp hp) * (temp multi)) *
(map multi) * (global multi).  The number is calculated by doing the
following:

Average Value: (calculated for each survivor, then averaged)
(real hp) + (temp hp) * (temp multi)
The temp multi is a number (controllable by three cvars for testing)
that changes how much temp health is worth relative to real hp.  It
also makes temp health worth less after each incap, so someone who is
bw with 50 temp is worth less than someone who has never gone down but
only has 50 temp health.  (default numbers are 30.625% for no incaps,
17.5% for one incap and 10% for two incaps, which I chose by taking
10% and increasing it by 75%, and repeating for 17.5 to 30.625, so
that each step increases/decreases the value of temp health by the
same factor).

Survival Bonus:
(avg value) * (map multi) * (global multi)
The average value is the sum of each survivor’s value who is still
alive and not incapped, divided by the number of survivors still alive
and not incapped.  The map multi is a different number for each map,
making the maximum value a team can get from health the same as the
max from the distance (before the global variable is applied).  This
number is determined by (max distance of map) / (400).  And the global
multi is just an extra multiplier applied to the “health bonus” that
shift’s the weight of the scoring system to the health (when >1) or to
distance (when <1).  The majority of feedback I have gotten is that a
multiplier larger than zero is required.

コメントを残す

メールアドレスが公開されることはありません。