2005年1月アーカイブ

人狼β1

| コメント(0) | トラックバック(0) |はてなブックマーク この記事をクリップ!

早速もの凄い勢いでバグが出てて幸先悪くて最高です。

タイトルは色々挙げて貰った中では人狼裁判ってのが割とよさげな気はしたんですが
  異議あり
が飛び交うのが目に見えてたのでやめました。

サブタイトルはこないだTVで宮崎アニメの特集をやってたので、となりのトトロ(My Neighbor Totoro)……
まっくろくろすけを追いかけて森に入ったら変な生物がいたので第一印象で黒判定として吊ってみたけど白で、意気消沈して家に帰ってきたらお父さんが黒でした。
とかそういう感じのハートフルストーリーです。たぶん。


デッドロックキタ━(゚∀゚)━!!
ロックが怪しかった箇所を3つほど掃除しましたが、原因自体は確証持てず。
とりあえずロックをタイムアウトさせてデバッグログ吐くようにはしてみました。

人狼β1

| コメント(0) | トラックバック(0) |はてなブックマーク この記事をクリップ!

「人狼の村」とか投げやりな名前になりそう。「人狼のアレ」とかでもいいけど。
シンプルでよさげな名前ないっすか。
だじゃれとか、「人狼BBS以外の何か with 妖魔」みたいなの以外で。

携帯用インターフェースに関するメモ
・1ページあたりの表示量をもっと柔軟に変更・処理出来るようにする
・過去ログの閲覧が出来るようにする。PC版みたいにStaticに出力すると、携帯ごとの制限に追従出来ないんで、CGIかなぁ。
・進行中のよその村をのぞけるようにする
・携帯から独り言が送れるようにする
・携帯をロールバックに対応させる

 うーん、何か抜けてる気がする……

 本日の進捗。ささやきにアンカーを使用出来るようにしました。表記は>>*10みたいな感じで、
 ちなみに、現在、コアであるwolf_base.plが5800行ほどになっています。α2.5が3500行、α3が4200行って感じです。

 あ、っていうかアンカーのとこにバグ発見。直すか……

 ふう。概ねFix。
 ついでにバックアップを見てみると、α1で1700行、α2で3000行、ってとこみたいです。
 ってことは、α3から、α1丸ごとくらい書き足した計算ですね。書き直した部分もかなり多いので、4~5割は書いた感じかな。
 ……やっぱ一旦α4として人柱募集した方が良さそう……

人狼β1

| コメント(0) | トラックバック(0) |はてなブックマーク この記事をクリップ!

(6)実装
2003/12/11のF-2もついでに実装。

もうさすがに携帯に手を付けないといけなさそうですが、β1はかなり大量に手を加えたため稼働させてまともに動く自信がありませんというか、まともに動かない確信めいたものを感じます。
ので、携帯使えなくした状態のを、人柱版α4として公開し、とりあえずテストして貰おうかなと考えてるんですがどうでしょうね?

人狼β1

| コメント(0) | トラックバック(0) |はてなブックマーク この記事をクリップ!

発言を一旦デーモンに預け、保留発言として表示。
一定時間後に書き込み、保留発言を消して正式の発言にする。
保留中はキャンセルが可能で、キャンセルするとptは戻らず自分にしか見えない発言として残る。

人狼の発言は保留中でも他の人狼からも見えて、他の人狼でもキャンセル可能。
ptは却下した側の人狼が肩代わりする。
人狼のキャンセル発言は他の人狼からも見える。

まだ細かい動作検証はしてないけど、とりあえず動いた。通信部の実装は結局UNIXドメインソケットで。
思いの外ややこしい実装になり、かつ慣れないものを書いたので出来映えには強い不安を感じる。

(1)0%
(2)実装
(3)実装
(4)やめ
(5)実装
(6)次これ
(7)実装
(8)実装

(1)0%  ← うはwwwwwwww
携帯めんどくさいんすよ。
PC版は全ページStaticに出力している一方、携帯版は全ページDynamicに出力しているため、携帯版はPC版丸々と同じだけのコード量が……
マージ出来るところは極力マージして行きたいけど、どう実装したものか。

---
補足。
名前付きパイプをselectで待たせる作戦は、読み側がいない名前付きパイプをwでopenしようとした時点で刺さるため、selectでは駄目だった。
openってノンブロッキングモードで開けたっけ?と思ってリファレンスを見たらsysopenってのがあってこれでやってもよかったのかな。
シグナル周辺のシステムコールを色々勉強するハメになったり、ソケット周りを全然覚えて無くて実質1から勉強するハメになったりと、まあ勉強になったからいいか。駄目だなぁ、ソケットほんと全然覚えてない。

人狼β1

| コメント(0) | トラックバック(0) |はてなブックマーク この記事をクリップ!

携帯まだ手も付けてない('A`)

更新時刻決定処理を少し整理しました。
これまでの処理はもの凄くアクロバティックかつ泥縄なコードになっていたのですが、
1ターンに要する時間(24or48時間)の倍数+更新時刻(午前8時とか)を求め(=A)
A+係数B(=24時間)*nが、「localtime+1ターンに要する時間」より大きくかつnが最小になる
ようなA+B*2……という感じにしました。
これにより、現時刻から最低1ターン分の時間を確保した上で、そこから最も早い更新時刻、に更新されます。
#要するに本来当たり前な処理になった。

携帯以外だと……ロールバックか('A`)モットヤダ
ロールバックは非常に悩ましいところです。
daemonになるため配布しても設置の敷居が異常に高くなってしまいますし
そもそも俺自身がdaemonを1から書いたことがなく、プロセス間通信も簡単なシグナルとソケットしか使ったことがないため
作る自信そのものがありません。
こういうのって名前付きパイプでさくっと書いちゃっていいのかなぁ。
まあ試しに書いてみるか……

人狼β1

| コメント(0) | トラックバック(0) |はてなブックマーク この記事をクリップ!

突然死ペナルティ一応実装。
委任と突然死自動吊りを実装。突然死吊りはデフォルトでオン。

委任はどうもインターフェースに不安を感じます。委任と間違って吊るケースが多いようなら考えます。
案外平気な気もしますが。
委任が再帰してるとか、委任先が自分を吊ろうとしてるとか、解決不能な委任はランダムになります。
それ以外なら、委任の委任の委任とかもちゃんと(?)解決されます。

委任と無記名投票は若干バランス変化を伴いそうです。微妙に人狼側有利な要素かと。
ただまぁ、委任があれば全員が時間ギリギリまで起きている必要が無くなるので、これはこんなもんかなぁ。
結社員に負担が掛かりそうですが、どうせ元々負担掛かってるので今更ということで……

(1)0%
(2)実装
(3)実装
(7)実装
(8)実装

携帯が残った……('A`)

人狼β1

| コメント(0) | トラックバック(0) |はてなブックマーク この記事をクリップ!

・村ごとに発言ポイントの支給量を変えられるようにしました。
 具体的に言うと、48時間村は多めに支給されます。
・過去ログは全部1日1ページになっていましたが、200発言とか行くと相当重いため、ある程度ページ分けされるようにしました。
 今日→1ページ50発言  それ以外→1ページ100発言
 みたいな感じ。
・突然死を実装開始。

 垢作成にメールアドレス必須にしたため、テスト環境で垢を作るのがかなりめんどくさくなりました('A`)
→大量に作成リクエストを送りつけるHTMLを書いた。めんどくさ度が30%ほど軽減された

 突然死、一応動いてるみたい。これから突然死のペナルティを実装。
 あと、Pendingに積み忘れてたのを思い出したので追記。
(8)投票に「委任」と「突然死優先」を追加する

 む、携帯用インターフェースの改善が送り送りになってるな。
 不味いおかずが最後に残りそうな悪寒。

 まとめると
(1)0%
(2)50%
(3)実装
(7)実装
(8)0%

(4)~(6)やるかどうか自体を保留中。やるとすれば(5)かなぁ。

人狼β1

| コメント(0) | トラックバック(0) |はてなブックマーク この記事をクリップ!

('A`)すすまん

不調なので簡単なのからやろう……
(7)村番号のスタート値を0以外からでもいけるようにする(他バージョンの村と呼称が紛らわしいらしい)
これから('A`)

(10分後)
完了。

次、垢取得時のメールアドレス認証

とりあえず動いた。重複アドレスを蹴るとこがまだ。もう寝る。

人狼β1

| コメント(0) | トラックバック(0) |はてなブックマーク この記事をクリップ!

すいません、ここ一ヶ月全然進んでません。
一旦Pendingをまとめておきます。

(1)携帯用のインターフェースを再編する
・アンカー周りをもうちょっとまともな処理に
・独り言を使わせろ
・ページごとの最大サイズを指定させろ
・ていうか個別に設定保存出来るようにすべき?

・全体的に強制リロードを行う
・ログインとアンカー移動以外はPOTメソッドを使うべき?

(1-2)携帯から過去ログ読ませろ

(2)失踪対策関係
・ID登録時の処理を変更、メールアドレス認証を行う
・突然死を実装

(3)村設定テーブルの拡張
・村ごとに発言量なども変えられるようにする(48時間村用)


以下保留中
(4)各プレイヤーごとのページを作る、各村の終了後に部外者が突っ込めるような一行BBS(IDとパスは必要)
 超荒れそう。無理か。
(5)システムが自動的に用意する村以外に、各プレイヤーが村名・人数制限などを指定した村を立てられるようにする
 乱立するかもしれないのが怖い。
(6)追加の誤爆対策
 発言ロールバックは仕様上、一時的に発言をプールしておいて一定時間後に自動的に書き込むというトランザクション・デーモンを別に作ることになるため、実装面倒だなぁ。
 一度書き込んでしまってから取り消しが無ければそのままにする、という処理だと、メールを逐次配信する性質上、取り消しても既に取り返しが付かなくなるため却下。

おまけ
・村番号のスタート値を0以外からでもいけるようにする(他バージョンの村と呼称が紛らわしいらしい)

2009年7月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

あわせて読みたい

Google 検索

Web www.juna.net