next up previous contents index
Next: Staminaモデル Up: Dashモデル(スタミナモデル含む) Previous: Dashモデル(スタミナモデル含む)   Contents   Index

Dashモデル

dashコマンドは,プレイヤをその体の方向へ加速するために使用 される. dashは加速度のパラメータとしてpowerを取る. powerの有効範囲はserver.confで設定され, minpowermaxpowerによって指定される. ダッシュモデルの現在のパラメータ値については,表 4.5を参 照.

各プレイヤは一定量のスタミナを持っており,dashコマンドによっ てスタミナは消費される. 各ハーフの最初に,プレイヤのスタミナ値はstamina_maxにセット される. プレイヤは前方へ加速した場合(power $> 0$),スタミナの減少量は power である. 後方へ加速した場合(power $< 0$),プレイヤの支払う代価は大きく なり,スタミナの減少量は $-2~\cdot~$power となる. プレイヤのスタミナがdashに必要とされる量よりも少ない場合, 残りスタミナで可能な数値まで power が減らされる. ヘテロジニアスプレイヤは extra stamina を持っており,必要とされるスタ ミナが不足している場合には, extra stamina 分のスタミナを追加で使うこ とができる. 追加スタミナ量の大きさは,プレイヤタイプとパラメータ sparamextra_stamina_delta_min, extra_stamina_delta_maxに依存している.

スタミナ減少後,サーバはdashコマンドに対する有効なダッ シュパワー: effectivedash powerを計算する. 有効なダッシュパワーedpは,dash_power_rateとプレ イヤの現在の effort によって決定される. プレイヤのeffortの範囲は effort_mineffort_maxの 間となり,プレイヤのスタミナ管理によって変化する.


\begin{displaymath}
\mathrm{edp} = \mathrm{effort} \cdot \mathrm{dash\_power\_rate} \cdot \mathrm{power}
\end{displaymath} (19)

edp とプレイヤの現在の体の向きがベクトルに変換され,プレイ ヤの現在の加速度ベクトル $\vec{a}_n$ へと加算される. (通常,プレイヤは1サイクルに一回しかダッシュできず,ダッシュ以外の方法 で加速を得ることは無いため,$\vec{a}_n$ は事前に0にセットされている [*]).

シミュレーションステップ $n$ から $n + 1$ への移動において,加速度 $\vec{a}_n$ が適用される:

  1. $\vec{a}_n$ の長さの最大値は player_accel_max へと正 規化される.
  2. $\vec{a}_n$ が現在のプレイヤのスピード $\vec{v}_n$ へと加算され る. $\vec{v}_n$ の長さの最大値は player_speed_max へと正 規化される.
  3. ノイズ $\vec{n}$ と風 $\vec{w}$$\vec{v}_{n}$ に加算される. ノイズと風に関するパラメータはserver.confによって変更可能であ る. 風に関するパラメータは wind_forcewind_dirwind_rand である. 現在の設定では,フィールド上に風は全く存在しない. ノイズに関連するパラメータは player_randである. ノイズベクトルのXY成分は, $[ -\vert\vec{v}_{n}\vert \cdot
\mathrm{player\_rand} \ldots \vert\vec{v}_{n}\vert \cdot
\mathrm{player\_rand}]$ の範囲の値を取り得る.
  4. プレイヤの新しい位置 $\vec{p}_{n+1}$ は,古い位置 $\vec{p}_{n}$ に速度ベクトル $\vec{v}_{n}$ を加算した値になる.
  5. プレイヤの速度へ player_decay が適用される: $\vec{v}_{n+1} = \vec{v}_{n} \cdot
\mathrm{player\_decay}$. 加速度 $\vec{a}_{n+1}$ が0にセットされる.


Table 4.5: DashとStaminaに関するパラメータ(バージョン9)
基本パラメータ ヘテロジニアスプレイヤのパラメータ
server.conf player.conf
名前 名前 Range
minpower -100      
maxpower 100      
stamina_max 4000      
stamina_inc_max 45 new_stamina_inc_max_delta_factor -10000.0  
    new_dash_power_rate_delta_min 0.0 25
    new_dash_power_rate_delta_max 0.002 -- 45
extra_stamina$^a$ 0.0 extra_stamina_delta_min 0.0 0.0
    extra_stamina_delta_max 100.0 -- 100.0
dash_power_rate 0.006 new_dash_power_rate_delta_min 0.0 0.006
    new_dash_power_rate_delta_max 0.002 -- 0.008
effort_min 0.6 effort_min_delta_factor -0.002  
    extra_stamina_delta_min 0.0 0.4
    extra_stamina_delta_max 100.0 -- 0.6
effort_max$^a$ 1.0 effort_max_delta_factor -0.002  
    extra_stamina_delta_min 0.0 0.8
    extra_stamina_delta_max 100.0 -- 1.0
effort_dec_thr 0.3      
effort_dec 0.005      
effort_inc_thr 0.6      
effort_inc 0.01      
recover_dec_thr 0.3      
recover_dec 0.002      
recover_min 0.5      
player_accel_max 1.2      
player_speed_max 1.2 player_speed_max_delta_min 0.0 1.2
    player_speed_max_delta_max 0.0 -- 1.2
player_rand 0.1      
wind_force 0.0      
wind_dir 0.0      
wind_rand 0.0      
player_decay 0.4 player_decay_delta_min 0.0 0.4
    player_decay_delta_max 0.2 -- 0.6
 
$^a$server.confには無いが,サーバには 組み込まれている.



next up previous contents index
Next: Staminaモデル Up: Dashモデル(スタミナモデル含む) Previous: Dashモデル(スタミナモデル含む)   Contents   Index
Hidehisa Akiyama 2004-11-21