moe

MOE2 テストプレイヤー応募状況

moe

TYPE-A*1 2 PERIOD TYPE-B TYPE-C TYPE-D TYPE-E 01:00 1 1 2 2 02:00 1 1 2 2 22:00 2 1 2 2 23:00 2 1 2 2 24:00 1 1 2 2 *1:実施日、開始時刻は別途調整

MOE2 テストプレイヤー応募状況

moe

TYPE-A*1 1 PERIOD TYPE-B TYPE-C TYPE-D TYPE-E 01:00 1 1 1 1 22:00 2 1 1 1 23:00 2 1 1 1 24:00 1 1 1 1 *1:実施日、開始時刻は別途調整

MOE2 テストプレイヤー募集状況

moe

のべ人数。 TYPE-B は撤退調整フェイズが発生すると PERIOD から 1 時間少々待機している必要が生じる場合があるので注意。 PERIOD TYPE-A TYPE-B TYPE-C TYPE-E TYPE-D 01:00 0 1 1 1 1 22:00 0 1 1 1 1 23:00 0 1 1 1 1 24:00 0 1 1 1 1

MOE2 増設画面への解

moe

コミット操作を行うページを分けてみた。 あと増設命令の変更(取消)手順の説明を分かりやすく修正。

増設画面に悩む

moe

MOE1 から増設失敗の誤操作が度々発生している。 増設するユニットの種類と補給都市をラジオボタンとドロップダウンリストで選択して増設ボタンを押下する必要があるのだが、どうも選ぶだけ選んで増設ボタンを押さずにコミットしてしまうのはやはり I/F の問…

MOE2 テストプレイヤー募集

moe

まだ色々足りないがそろそろテストプレイに入ろうかと思う。 協力してやってもいいぜってひとは Twitter で @asagix まで DM を。 レギュレーションは TYPE-B 外交フェイズは 24 時間(コミット進行なし) 撤退、調整フェイズは 1 時間ずつ(コミット進行あ…

MOE1 と MOE2 の違い

moe

自分でも良く分からなくなってきたので整理してみる。 一部実装していないけどな。 ID 取得 MOE1: 任意の ID とパスワードを入力すれば即有効。無条件で複数 ID 取得可能。 MOE2: 登録フォームから申請し返送されるメールに記載された URL にアクセスして有…

MOE2 書簡送信フォーム

moe

JavaScript はせいぜい仕事で困らない程度にしか知らないのだが、かなり非効率で無茶な使い方をしている気がする。半年経ったらデバッグできる自信がないぞこれ。 JavaScript オフの場合は MOE1 と同じ。 これ JavaScript の ON/OFF で一部だけ差し替えてい…

MOE2 の相互評価

moe

MOE1 とかなり違うことになっているので注意が必要だ。 参加者の評価は他の参加者による多数決(MOE1 では合計値) プラス値マイナス値は過半数(=4 票以上)ないと無効 中止卓(1905 年春以前で和平)ではプラス評価なし キーワード卓では相互評価なし マ…

MOE2 煮詰まったのでレイアウトいじり

moe

少しでも MOE1 から離れようと足掻いてみる。マップや国旗、各国のイメージカラーがカラフルなので地味にまとめようにも限界があることを痛感した。確か MOE1 でも同じようなことを悩んでいた気がする。

MOE2 の終了手順

moe

ロシアさんが終了を提案。 首脳会議(ネーミングどうなの?)では終了動議と 24 時間の更新期限延長動議が提出可能。 1905 年の春なので廃卓扱いになるけどキニシナイ。 ロシアさんが終了動議を提出。 終了動議が提出されたことはシステムメッセージで周知。…

和平終了手順について悩む

moe

英軍の命令書作成画面。 コミット欄の付近に和平合意 I/F を配置することになると思うが現時点ですでに見通しが悪い。画面遷移のロスを嫌がって一画面に色々詰め込んだ結果がこの有様だよ。

代わり映えのしない MOE2 の画面

moe

マップと配色こそ違うが基本的には MOE1 とほとんど同じ。ていうか別に緑が特別好きなわけじゃないんだがなぜ緑寄りに……。 正直あまり気に入ってない。 マップはマウスカーソルを合わせるとパッと通常サイズになるという変な小細工。 不評なら外す。 上の開…

MOE2 マップもっかい描いてみた

moe

こんどは結構良いものができた。 ただエフェクトが少々うるさいかも知らん。

MOE2 のマップ

moe

新しいマップを自分で描いてみた。 もうちょっとカクカクした感じを狙っていたんだが難しいものだ。おれの方がカッコイイの描けるぜ、というひとは是非。

MOE2 の卓作成完了通知

moe

こんなメールが届く。 当然フッタの URL は稼動時に変更するから大丈夫。心配するな。 Diplomacy MOE2 の ID 卓作成通知メールです。 下記の条件で卓を作成しました。 卓作成から 7 日間で参加者 7 人が揃わなければ作成した卓は削除されます。 CODE : 4C675…

MOE2 の卓作成画面

moe

こんな感じ。 トップの画像は使い回し。 スタイルとか一切指定なし。 見た目は後で考えるからいいんだよ。

MOE2 の TYPE

moe

とりあえずこんな感じで。 卓立ても自動ではなく、誰かが TYPE や 更新時刻などのレギュレーションを指定して卓を立てて他の参加者を待つ方式に。 TYPE-A 開幕フェイズ 30 分、外交フェイズ 60 分 (1901 年春のみ 90 分)、撤退/調整 フェイズはそれぞれ 15 …

DiplomacyMOE Version2

moe

先に断っておくがまだ構想段階である。構想のまま終わる可能性も非常に高い。 とりあえず現時点で認識している問題点を列挙する。 アカウントが無制限に取得可能 LaCoocan サーバでは MySQL で InnoDB が使えないので排他に問題あり 期限延長が管理人による …

障害対応手順

moe

一度解決された行軍を変更する作業は下記の手順となる。 命令レコードを書き直す(ステータスの変更、解体増設命令の追加) 関連するユニットレコードを書き直す(配置変更) 秋ターンなら必要に応じて領土レコードを変更する(所有国変更) 結果キャッシュ…

内部構造的な話

moe

MOE は私が初めて作った CGI である。なにぶん初めてなのでかなりお粗末な構造をしている。主要なクラスは下記の四つ。 DiplomacyMOEindex.rb から直接起動されるメインのクラス。CGI パラメータによる処理の分岐制御を主とする。 GameAPI 的な機能を提供す…

プレイヤー解放タイミングと無政府国の扱いの変更

moe

これまでプレイヤーは参加した卓の感想戦が終了するまで他の卓には参加できない仕様になっていたのだが、掲示板での要望を受けてこれを変更した。具体的には、担当国が滅亡した場合と感想戦が開始された場合に ID が解放されて別卓への参加が可能となる。そ…

プラス評価 ID の付加価値

moe

プラス評価 ID については同時稼動卓数の制限を受けないこととした。これまで同一レギュレーションで 7 名の参加者が集まれば自動的に卓が新設されて開始待ちフェイズへと移行していたのだが、最近、負荷対策として同時稼動卓数を 5 卓までに制限する改造を…

flock を使わない排他制御

moe

man ページを見ると flock(2) は NFS 上のファイルのロックをしないとある。つまりそういうことなのだろう。しかしそれで排他を諦めるわけにはいかない。flock(2) の代替として提示されている fcntl(2) によるロックは Ruby からは使用できない。できるのか…

flock リベンジ

moe

唐突だが、前々から不審を抱いていた LaCoocan サーバの flock の挙動を検証してみた。 サーバ側 : flock を取得して 5 秒 Sleep する #!/usr/local/bin/ruby -Ku require 'logger' LOGFILE='logfile.log' LOCKFILE = '.lockfile' def main open(LOGFILE, 'a…

超短期戦

moe

Q. ボードゲームと同じように、15分ピリオド侵攻の1日で終わる ディプロマシーは、本MOEのシステムで実現可能でしょうか? Diplomacy MOE 掲示板 No.71 A. 結論から言えば、超短期仕様は MOE のシステムとは相性が悪そうです。 主に負荷耐性と即応性に起因し…

更新通知メール障害解決

moe

http://d.hatena.ne.jp/asagix/20070126/1169780168@nifty からの回答。 弊社側にて確認したところ、複数のメール送信CGIを同時に起動した際に、 不具合が発生し、ご連絡の現象が発生しておりました。該当の現象につきましては、機器の調整を行わせていただ…

更新通知メール実験

moe

やはり LaCoocan の sendmail がおかしい。 01: require 'net/http' 02: 1.upto(10) do |num| 03: fork do 04: start = Time.now 05: print sprintf("%02d: ", num) 06: print Net::HTTP.get('asagi.la.coocan.jp', "/***.rb?num=#{num}") 07: puts sprintf(…

ぐだぐだ

moe

多重 flock 争奪テストをやってみたが正常に動いた。 更新通知メールの不具合も排他制御のすり抜けもテストだと問題ないように見える。もう訳分からん。どうなってんだ LaCoocan。 結局負荷の問題なんだろうか。

File.flock

moe

もしかして 1 プロセスがロックできる数って上限があるのだろうか。もちろん OS やコンパイルオプション等によるとは思うが、どうも外部ライブラリが 2 回目の flock をやっていそうなタイミングで最初のロックが解除されている印象だ。あまりきちんと調べた…