Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2006-12-28

[MyGame]MyGame::Task#run というメソッド名を変えたい

MyGame の多くのクラスはタスクとして管理する。タスクは最低限次のメソッドを持っている。

class Task
  def run
  end
  def draw
  end
end

描画プリミティブからゲーム全体を構成するシーンクラスまで全てがこのメソッドを持っていて、毎フレームそれぞれを一回呼び出す。

例えば、描画処理の負荷が大きい場合は、次のようにすると描画を一回キャンセルしてプログラム全体を倍速で動かすことが可能。

n = 2
main_loop do
  n.times { scene.run }
  scene.draw
end

で、この run というメソッド名はどーなのよという話。 run は何度も呼び出すようなイメージじゃないという意見を頂いたので、今はこの run は step に変わっている。ただ step も Ruby では繰り返しを行うメソッド名に使われたりしているので、どうも違和感を感じてきた。

シューティング本をみると move という関数でタスクの移動処理をやっていたけど、こっちのタスクは移動だけじゃなく描画以外の全てを行うし。

  • run …… run を何度も呼ぶのは違う気が
  • move …… 移動処理だけじゃないし
  • step …… 繰り返しっぽい?

どんな名前がいいのでしょうか。