SINCE : 2001.05.29
MOVED INTO HERE : 2006.01.01
遊星ゲームズ
FrontPage | RSS


2008/12/30 18:57

mp3ランダム再生してたら
 日記

 ものすごくどうでもいいけど。
 ランダム再生してたら、VISIONERZの次にナンバーワン・バトルブローラーズが流れてきた。
「open your eyes. open your minds.」ってコーラスがw

 でいま知ったけど、爆丸ハリウッド映画化なのか。なんだそりゃw


2008/12/28 20:18

掲示板のコメントスパム対策
 プログラム

 以前も書いたけど、そのページは事故で消えましたorz
 数ヶ月たつけど荒らしにはあってないので、方法を紹介だけします。

 まず、スパムは人間ではありません。ロボットです。なので、ちゃんと理解して対策をとれば防ぐことができます。まだまだロボットでは人間さまにかなわないのです。
 スパムがロボットであるという前提に立って考えてみます。ロボットはどうやって、コメントフォームを捜すのでしょうか?
 Googleのクローラーと同じ。リンクを辿ってやってくるのです。そして、まあ単純に考えて、formタグを捜すのでしょう。
(あくまで推測)
 というわけで、ロボットに対抗するために考えられる方法は↓。

  • フォームを、ロボットには見えないようにする

 とそんなことを考えて、このサイトでとってる方法。
 フォームタグをHTML中に書きません。Javascriptのdocument.writeで書きます。

 PHPでやる場合のソース↓。

<div id="hoge">ふぉーむ</div>
<script type="text/javascript">
	document.getElementById("hoge").innerHTML = "<?
ob_start();
?>
フォームをここに書く
<form ……
	……
</form>
<?php
$h = ob_get_contents();
ob_end_clean();
$h = preg_replace_callback(
	'/[<"\'>&aiueo\n\r\\\\]/' , 'ordChar' , $h);
echo $h;
?>";
</script>
<?php
function ordChar($matches)
{
	return '"+String.fromCharCode(' . ord($matches[0]) . ')+"';
}

 HTML特殊文字と、\とあとてきとうに何文字かを

String.fromCharCode()
 に変換。これで、formという単語すらなくなります。ロボットでは、フォームがあることがわかりません。
 もっとも、ロボットがJavascriptを解釈しはじめたら別。そうなったら別の方法を考えるしかない。
 この方法の欠点は、すでにスパムサーバのDBに登録されてしまっているページでは効かないかもしれないというところ。まあ、そういうDBがあるのかどうかは知らないけど。

 もちろんほかにも方法はある。

  • 「半角英数のみで、URLが含まれる投稿」をNGとする
     以前ここで使ってた方法。効くけど、でもこれじゃあ、外国人を排除してしまう。あと、近ごろは韓国からのスパムとかも増えてるらしい。
  • サイト全体で投稿コメントに含まれるURLを集計し、頻度の高いものをNGとする
     はてなはこんな方法らしい。すごく大きなサイトでしかできない。
  • コメントフォームへのリンクにJavascriptを仕込む
     ただのaタグじゃなくて、onclickでページ遷移させる。理屈としてはこのサイトの方法と同じ。
  • コメントにログイン(またはワンタイムパスワード)が必要
     確実だろうけどユーザビリティを犠牲にしてる
  • IP制限
     こういうめんどくさい方法は本質的にダメだと思うけど……、まあ効くのは確かだろう。

2008/12/28 19:37

ルールブックの文章
 ゲーム・論考

 ゲームにはルールブックがついてくる。ルールブックは、ゲームそのものを規定する非常に重要なものだ。
 しかし、それなのに、ルールブックはあいまいな自然言語で記述されていることが多い。特に日本語は文法が自由だから、複数の解釈ができてしまうルールもしばしばだ。
 ボードゲームというのはそもそも、日本の文化ではないのだ。ヨーロッパやアメリカからの輸入が多いため、我々が目にするルールブックは翻訳を介したものにならざるを得ない。日本はそもそも、ルールブックという文化からは遠いところにある国なのだ。

 翻訳されたルールブックをどう解釈すべきか悩む、ということは、じっさいよくある。
 そんなときは、英語のルールブックがついていればそちらを読んでみたりする。ドイツ語しかついていないときは……。けっきょく、参加しているプレイヤーの総意で「今回のルール」を決める、という事態もしばしばだったりする。
 特にインストを担当する場合は、「これで興を削いでしまったらどうしよう」などと、いらん不安を感じてしまうものだ。
 もっとも、そうしたコミュニケーションもゲームの一部ではあるんだけど。


 こうしたルール記述について、わたしが知るもっとも成功した例は「マジック:ザ・ギャザリング」だ。

 トレーディングカードゲームは、常にルールが更新され続ける。特にマジックには「基本ルールとカードの効果が矛盾した場合はカードの効果を優先する」というルールが明確に書かれている。
 新しいカードが出るたびにルールが更新されていったのである。
 以前は問題なかったものが、新しく出たカードの効果によって問題になる、ということも、しょっちゅうあった。
(わたしがプレイしていたのは何年も前だが、いまもそうしたことは起こり続けているはずだ)
 はじめから厳密なルールが定められていたわけではない。むしろ、はじめのうちはカードの記述もばらばらで、あいまいな記述も多かった。
 だが、なにしろ世界中でプレイされたゲームだ。新セットが発売されるたびに問題が発生し、問題を解決するたびに記述は厳密になっていった。そうした過程を経て、ついには独自の言語体系といいたくなるものを確立してしまったのだ。
 ただしそのためには、基本ルールが何度も塗り変わったり、カードの効果が変更されたりと、多くの犠牲があったわけだが。

※慣れたプレイヤーにとっては、英語のほうがわかりやすかったのだ。なぜなら、やはり日本語はあいまいだから。
 わたしの周囲では、これを「英語じゃなくてマジック語」などといっていた。

 記述が成熟してからのマジックでは、あいまいなところはほとんどなくなった。
 また、語順も単語の意味も明確だったため、英語が得意でなくとも英語版カードで、なんら支障なくプレイできた。※
 記述は英語だが実態は、ほぼアイコンの組みあわせといえるところまで洗練されている。
 もっとも、そうなってしまったがために展開の多様性が失われたという気も少しするのだが……。


 マジックのカードテキストについて、せっかくだから少し例を挙げてみる。

 カードテキストにそのカードの名前が書かれていたら、これはそのカードのみを指す。「同名のカードすべて」ではない。ルールにそう書いてあるのである。

「ショック」というカードには、こう書かれている。

クリーチャー1体かプレイヤー1人を対象とする。ショックはそれに2点のダメージを与える。

 冗長な書きかたと思えるかもしれない。こう書いてはダメなのだろうか?
「クリーチャーかプレイヤーに2点のダメージを与える」
 もちろんダメだ! この記述には多くの問題がある。

  • 対象をとるのか?
    (カードの中には「呪文や効果の対象にならない」と書かれているものがある)
  • 対象はいくつなのか?
  • なにがダメージを与えるのか?
    (これがわからないと、「プロテクション(赤)」の効果を解決できない。「ショック」は赤のカードだが、このダメージは赤いのか?)

 確立されてからのマジック語では、決して主語を省略しない。また、必ず主語と述語の一対で一文を構成している。
「クリーチャー1体かプレイヤー1人を対象とし、それに2点のダメージ~」という書き方を許容すると、文法が統一されず、あいまいさを生む懸念がある。だから不適切なのである。
 日本語としていい文章かどうかは関係ない。文学ではなくルールだからだ。マジックで使われる文章においては、常に厳密に解釈できることが第一義なのである。

 ちなみにこれ、英語版の記述はこうだったりする。

Shock deals 2 damage to target creature or player.

 日本語は文をいじっている。あいまいな日本語では、そうする必要があったのだろう。


 で、ボードゲームの話に戻る。
 インストのためにルールブックを読んでいると、しょっちゅう思ってしまうのだ。「なぜマジックのように書かない?」
 しかし、現実には難しいだろう。
 マジックでは、購入時に付属する小冊子のほかに、テキスト形式で何メガにもおよぶルールが公開されている。そこには、カードテキスト中に現れる単語の意味も含めたルールが詳細に書かれている。
 ひとつひとつのボードゲームで、そこまでのことはやれない。
 しかし、マジックに学ぶこともあるはずだ。
 たとえば、文法を統一すること。主語と述語を省略しないこと。ひとつひとつの文章を簡潔にすること。などだ。
 もっともこれもケースバイケースだろう。やはり読みやすいことは重要だ。バランスをとる必要があると思う。

 究極的な理想は、すべてのゲームのルールを記述するための「ボードゲームルール言語」が開発されることかもしれない。もちろんそれは不可能だ。また、それによって画期的なアイデアのダイナミズムが失われる懸念もあると思う。
 なにより、そこまでの必要がない。ボードゲームはたいてい、ひとつで完結だ。マジックのように、はてしなくルールが増えていくということはない。
 プレイアビリティの面からも、むしろルールブックの分量を増やさないことのほうが重要な場合も多いと思う。
 けっきょく、書く人がなんとかするしかないのが実情なんだろうけど。

2008/12/28 バックアップから復帰
 いただいたコメントはなくなってました。もうしわけないです。
cut4.jpg

2008/12/27 03:08

ドミニオンプロモカード
 日記

 イベントで配られたプロモーションカードらしい。もうほんとにTCG(笑)
 右下のエキスパンションマークもちゃんと違ってますね。

Envoy (Action - Cost 4)
Reveal the top 5 cards of your deck. The player to your left chooses one for you to discard. Draw the rest.

 そして、ちゃんとプロモカードらしい微妙な効果。あれば使えるレベルだが、ゲームをぶっ壊しはしない程度。よくわかってる。


2008/12/27 01:38

RSS死んでた
 日記

 mixi見たら「最近の更新はありません」みたいになってることに気づいた。というかそういえば、前にmixiにRSSのURL入力したような。
 で気づいてみると、しばらくRSSが機能してなかったです。失礼しました。
(ていうか、小文字のrssのページがなくなってた)

 なおしたらmixiにもちゃんと出た。
 自分はあまり使わないけど、知人の中にはmixiにしかいない人たちもいるしな。


FrontPageを



Copyright © 2001-2024 てらしま(terrasima @gmail.com)