Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb をよろしくお願いします。

todo

  • ヘッダーとフッターのテンプレート機構
permalink no tweet

プラグインのフック

複雑なので修正。

before

  @@hook_plugins = Hash[ *%w(
    before_content after_content before_entry after_entry before_entries after_entries
  ).inject([]) {|t, e| t << e.to_sym; t << []; t } ]
  def self.add_hook(key, priority = 128, &block)
    @@hook_plugins[key] << block
  end

  def self.render_hook(key, *args)
    %Q!<div class="#{key}">#{ @@hook_plugins[key.to_sym].map {|e| e.call(*args) }.join("\n") }</div>!
  end

after

  @@hook_procs = {}
  def self.add_hook(key, priority = 128, &block)
    @@hook_procs[key] ||= []
    @@hook_procs[key] << block
  end

  def self.render_hook(key, *args)
    @@hook_procs[key] or return ''
    @@hook_procs[key].map {|e| e.call(*args) }.join("\n")
  end

存在しないエントリーポイントに対して、render_hookしたときにエラーにしたかったんだけど、その機能はカット。

divタグで囲むのをやめた。 divタグなしのフックエントリを挿入できなくて悩んでたけど、 その辺はビューで解決すべきと判断した。

priorityは未実装。 プラグインの実行順序は、ファイル名で操作できるからいらない気もする。

after2

@@hook_procs[key] or return ''
@@hook_procs[key].map {|e| e.call(*args) }.join("\n")

上の部分はもうちょっとなんとかならないか。

@@hook_procs[key] ? @@hook_procs[key].map {|e| e.call(*args) }.join("\n") : ''

1行になった。

(a = @@hook_procs[key]) ? a.map {|e| e.call(*args) }.join("\n") : ''

ちょっと短くなった。

(@@hook_procs[key] or []).map {|e| e.call(*args) }.join("\n")

さらに短くできた!

(@@hook_procs[key] or []).map(&:call, *args).join("\n")

こうは書けないんだよなあ。 Symbol#to_procに引数を渡すのできないよね?

permalink no tweet

UIのアイデアをビューにメモしておく

まとまった時間が取れないので、電車の中とかで思いついたUIのアイデアをメモする形でビューを書いている。表面上の見た目を作るだけで、アクションは機能しないんだけど。細かい仕様は単に文章でボタンの横とか直接に書いておく。

あとはゴーストのインストールとアンインストール、 ユニットのフォーメーションのUIを考えれば、 基礎的なデザインが一通り決まる。

  • ゴーストのインストール
  • ゴーストのアンインストール
  • ユニットのフォーメーション
permalink no tweet

シナリオ担当者と打ち合わせ

昨日は秋葉原に用事があったのだけど、時間に余裕があったから飯田橋の職場から秋葉原まで歩いてみた。 すりとシナリオ担当者がついてきてくれて、歩きながら打ち合わせ。 じゃんがららーめんを食べて、さらに時間的余裕があったので、 キャラクター系グッズを眺めながらあれこれ打ち合わせした。

キャラクターの方向性とか抽象的な話が多くなったけど、狙ったものをちゃんと実現できるといいな。

見えてきたコンセプトは「外見的属性×内面的属性」を 自由に組み合わせることができるキャラクター作り。

permalink no tweet

UIに手を入れる

Railsベースで開発を進めているわだけど、現状でもそこそこ動く形にはなってきている。 ただUIがいまいち気に入らない。 まず表現したいのはデータ観覧の楽しみなんだけど、 今のデザインはどうも発想が既存のゲームのUIに縛られている気がする。

というわけで、いろいろ考えながら手を入れているんだけど、 ガタガタになっててショップとか操作できない状態。

これまではmixi見たいなトップページを考えたんだけど、 トップはチャット画面のみでいいような気がしてきた。

permalink no tweet