mixi(日記)からのリンクって (16:00)
2ch(ime.nu経由)からのリンクや非公開(イントラとかの)サイトからのリンクよりも気持ち悪いなー。mixiという内輪の中でどう肴にされているのかいまいち想像がつかない。なんとなく、公開Web上に書けないようなネタを書いているんじゃないか、とか邪推したくなる。
時間の進み方および吊る人間の選択 (14:09)
実時間の1日で1ターンが進むというアプローチは、やたらと時間がかかる印象があるけど、実際にやってみるとそんなに悪くない。ゲームの内容が濃いので、このくらい時間をかける価値はある。が、実際問題このゲームに1週間程度拘束される(自ら望んでだけど)のはかなりつらい。
村によっては、1ターンが1時間の村があっても面白いかもしれない。その場合は突然死はなくてもいいだろう。それならばトータル7〜9時間程度で1ゲームが終わる。そのくらいばたばたした展開になると、推理をしている時間が少なくなり、ゲームのノリが変わってきそうだが、それはそれで別の面白さが出てくるかもしれない。
あともう一つ考えているのは、暗黙の行動ポイントを積み重ねていき、特定のポイントがたまった段階で日付が変わるというパターン。参加者の閲覧・発言・投票先/占い先変更などが起こるたびに、時間ポイントが加算されていく。そして、ある程度の時間ポイントがたまるとその時点で日付が変わる。またそれとは別に実時間での期限も切っておき、ポイントがたまる前に特定の実時間が経過したら、その段階で日付が変わる機能も併用するといいだろう。この仕組みにより、アクティブな村ほど早くターンが進んでいくことになる。
また上記にあわせて、吊る人間の選択は単純な投票過半数ではなく、「発言数」「発言に対する各人の評価」を元に計算した結果、もっとも怪しいと評価された者が選択されるようにする、というのはどうだろう。基本的に発言しないと吊られる可能性が高まる(発言することを奨励する)。しかし、その内容を他の人間が怪しいと評価すると、逆に吊られポイントが高くなる。という仕組み。ステルスするにしても、ある程度会話に参加しないと吊られてしまう。
あと東風荘みたいに、場のルールと参加者のレートの2軸で、参加できる村を振り分けるのもいいかもしれない。麻雀みたいにわかりやすくレートが計算できるものでもないんで、基本は参加回数で、ちょっとだけ勝敗も加味する感じかなー。発言数も加味していいかもしれない。
ようやく2回目が終わった (15:53)
初心者が多すぎると紛れが多くてわけわかんねーよ。基本的なセオリーはすべて理解しつつ、そのセオリーに乗るか裏切るかというレベルで、展開を読んでいっているのに、実際にはみんなかなり適当に思うがままに行動しているとは。まあ参加している人の年齢も性格もばらばらだから、そんな感じになるのが当たり前なのかもしれないけど、あの手の論理推理ゲームをやるときには、全員がその手の濃いめの人ばかりだと思いこんでしまうのじゃよ<モーリッツの残り香。
それにしてもちょっと暇ができたら、オリジナルの人狼BBS作ってみようかなー。ひとまず漠然と考えているのは、
- 世界観は宇宙船の中に紛れ込んだ海賊を捜すSFもの
- 能力者や海賊(人狼)の数は明示しない
- 共有者相当の能力者をテレパスにして、テレパス同士は裏で相談できるようにする(人間側にも裏で相談できるキャラクターを作る)
とかかなー。
東芝、DVD-R VRモードに対応したハイエンドDVD/HDDレコーダー「RD-X5」 (18:26)
RD-XS53を飲み込んだ甲斐があったかな。でも17万円はちょっと高いな。15万円くらいにしておいて欲しいところなんだけど。
野球大会 (18:19)
あっさり一回戦負けしちゃったよ。攻撃力守備力ともに勝っていたんだけど、体力と人数に負けた。俺なんてもう疲れで出だしから吐き気がして、キャッチャーをやりながら、こみ上げてくるものを飲み込み続けていたし。尿管結石をやってから二ヶ月くらいほとんど運動していなかったんで、たぶん今は史上最高の運動不足状態だ。あーあ、それにしても今年もあっさり終わっちゃったなー。もう一試合くらいやりたいなー。
trackbackの__mode=rssを使えばいいのか (13:44)
「特定の記事のRSSを取得する方法」というネタを前に書いたけれども、そういえばちょうどいいものがあることを思い出した。現在のところほとんど役に立っていない、trackbackの__mode=rssによるRSS出力を流用したらいいんじゃなかろうか?
trackbackの仕様書によれば、__mode=rssで返すXMLは、
<?xml version="1.0" encoding="iso-8859-1"?> <response> <error>0</error> <rss version="0.91"><channel> <title>TrackBack Test</title> <link>http://this.is/the/trackback/item/link/</link> <description>Description of the TrackBack item</description> <language>en-us</language> <item> <title>TrackBack Demo</title> <link>http://this.is/the/permalink/</link> <description>Excerpt</description> </item> </channel> </rss> </response>
なんて感じになっているけど、どうせならば、
<?xml version="1.0" encoding="utf-8"?> <response> <error>0</error> <rss version="0.91" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <channel> <title>TrackBack Test</title> <link>http://this.is/the/trackback/item/link/</link> <description>Description of the TrackBack item</description> <dc:date>date</dc:date> <dc:creator>author</dc:creator> <content:encoded><![CDATA[encoded body]]></content:encoded> <trackback:ping>http://this.is/the/trackback/ping/url/</trackback:ping> <language>ja_Jp</language> <item> <title>TrackBack Demo</title> <link>http://this.is/the/permalink/</link> <description>Excerpt</description> <content:encoded><![CDATA[encoded body]]></content:encoded> </item> <item> <title>Comment Demo</title> <dc:creator>commentor</dc:creator> <description>Excerpt</description> <content:encoded><![CDATA[encoded body]]></content:encoded> </item> </channel> </rss> </response>
みたいな感じに拡張して、記事情報にcontent:encodedやdc:creatorなどの情報も含めつつ、従来返していたtrackback一覧に加えて、コメント一覧も返してしまう。すると、HTML中に埋め込まれた記事のRDFから、trackback ping urlを抽出すると、それを使ってその記事に関するすべての情報をXML形式で取得することができるようになる。
RSSには通常descriptionしか含めないようにしつつ、それより詳しい情報が欲しい場合は、trackback ping urlに__mode=rssをつけてGETし、そこにcontent:encodedが含まれていたらそれを表示。なかったらしょうがないからpermanent linkをブラウザで開く、といったイメージ。
どかんと買ってみた (02:38)
MMにためてあった購入予定本・CDをどかんと買ってみた。せっかく携帯対応しているんだから、携帯片手にでかい本屋に行ってのんびり探そうと思っていたら、いつの間にやら大量にたまっていたんで、まとめてAmazonで。本当は今後できるだけbk1を使おうと思っていたんだけど、一個でもCDが入っているとやっぱりAmazonかなーとか思ってしまう。
というわけで、今日買ったもの一覧。プラグイン表記は、
{{rss_recent "http://mm.ishinao.net/index.rdf/1?kind=bought&sort=title&order=asc&from=20040921&to=20040922", 100, 9999999}}
な感じね。
RSSのキャッシュ有効期間をやたらと長くしているのは
現在MMのメモはステータス管理にも使っていて、そのうち状態が「買」以外に移動してしまうから。行動記録的に使うならば、同じ本に対しても「買」「了」「想」は別々のメモにしておくと、それぞれのタイミングのメモが残るんだけど、メモ数が増えると管理も面倒くさそうなんで、現在は一つのメモを使い回す方針。両用で使う使い方には対応していないんで、使う人がどちらの使い方を主にするか選択する必要がある。
欲しけりゃ作ろう (20:38)
rss_recentプラグインで、各項目に日付を出力するパッチ。rss_recentに第4引数を追加し、そこで出力したい日付フォーマットを指定する。上記では'%Y-%m-%d'を指定している。
*** rss-recent.rb.org 2004-09-20 20:29:01.000000000 +0900
--- rss-recent.rb 2004-09-20 20:36:04.000000000 +0900
***************
*** 21,27 ****
"Using RSS parser version is #{::RSS::VERSION}.",
}
! def rss_recent(url, max=5, cache_time=3600)
url.untaint
cache_file = "#{@cache_path}/rss-recent.#{CGI.escape(url)}"
--- 21,27 ----
"Using RSS parser version is #{::RSS::VERSION}.",
}
! def rss_recent(url, max=5, cache_time=3600, dateformat = '')
url.untaint
cache_file = "#{@cache_path}/rss-recent.#{CGI.escape(url)}"
***************
*** 39,44 ****
--- 39,47 ----
rv << '<li>'
rv << %Q[<span class="#{rss_recent_modified_class(time)}">]
unless url.nil?
+ if dateformat != ''
+ rv << %Q[#{CGI.escapeHTML(time.strftime(dateformat))} ]
+ end
rv << %Q[<a href="#{CGI.escapeHTML(url)}" title="#{CGI.escapeHTML(title)}]
rv << %Q[ (#{CGI.escapeHTML(time.localtime.to_s)})] unless time.nil?
rv << %Q[">]

