_ another blog@hatena/Wiki/BBS
GameDeep vol.14の作版作業は完了、予定部数の半分刷ったところで表紙用の紙が尽きた。これから徹夜の眠い状態のまま買いに行く予定。せっかくなのでハンズでも行ってなにか余計なものも買ってきたい。
まあコミケに参加するわけですが。
ぶっちゃけ飲んでません。主に起き抜けが辛くて飲んでいた時期が半年ぐらいあったけれど、それってひょっとして副作用なんじゃ、と気付いて意識的に朝飲むのを避け気味にするようにしていたら、一月ほどで朝の辛さはさっくりと軽減。で、なんだかんだでここ一月半ほどソラナックスの服用もなし、と。朝やや辛いときはゆっくりしてから、とかで十分な感じに。
家を出てそろそろ駅に着こうか、というあたりでいきなり鼻血が。暑さでのぼせたとかだろうか。日蔭でちょっと様子見したが、これはとっとと涼むなり冷やすなりした方がいい、と判断してとりあえず駅構内に。お手洗に直行し鼻周辺に着いた血を洗いつつ水で冷やす。冷やしながら(鼻を)押さえていると出血量が減ってきたのでこのぐらいなら支障あるまいと判断してホームへ。車内の方が冷房が効いていて涼しい。
会社の最寄り駅までくるころにはすっかり出血も止まっていた。ちょっと困りはしたけれど、まあいつもの通り。
「クレヨンゲーム」ことエンパイアビルダー系のボードゲーム。メカニズムが楽しいのですがゲームとしてのバランスがいまいちなのでなんだか敬遠されてますが、バランスを取るだけなら「仕事のトレード」ができるようにすればそれでうまくいくような気がしてきましたよ。
_ノーマルのルールが引き勝負の運ゲーっぽくなってしまうのは、仕事をこなしてしのぎながら「全部がうまく回る手札」の到来を待ち、それが首尾よく通ったら勝つという構造が問題なわけで。その手札を作る部分にまったく工夫ができないのがどうしようもなく運ゲー。で、それを是正する方法としてトレードを導入すればよいのでは、と。本当にそれだけで、他に余計な工夫はなくてもOKな感じなのがなんというかインチキ臭い。
_実はトレードってのがすげえ卑怯なメカニズムってことなわけで。オークションほどではないけど、プレイヤーが勝手にバランス取ってくれるって意味ではすごく似てる。カタンのデザインのよさの結構な部分をトレードが握ってるのかなあ、とも思えてきます。
コミケも終わって久々にゲームができる気分、ということで最近やってるゲームの話
次のGameDeepのネタはちっとも考えてないのですが、このへんのゲームのデザインレビューとかでお茶を濁すかみたいなことも考えてたり。
NIUがさくらで借りてるサーバ(bardiel.niu.ne.jp)が老朽化してきたのでリプレースすべく新サーバに移行したら、SQLite絡みで問題が発生。
_家のマシンで構築したDBをサーバに上げて使う、という形で動かしているプログラムがあるのだが、そいつがSegmentation faultで落ちる。コマンドラインのsqlite3でDBファイルを開こうとしても落ちる。
バージョン違い(家は3.3.6/サーバは3.4.1)? Full Text Searchが導入されてるのでそれ絡み? ChangeLogでは両バージョン間で互換性に問題が出るような記述はない。となるとFTS絡みか。EUCで突っこんでたのをUTF8にしてみるか、とか思って家でdumpしてnkfで変換してサーバでreadをかけてみる――Segmentation fault。
_いったいどこで落ちているのか。試しにコマンドラインで新しいDBファイルを作ってみる。起動はする。適当にテーブルを定義してみる――Segmentation fault。
どうもまともにDBエンジンとして機能するかが怪しい状態のようだ。設定を変更してのリコンパイルを決断。/usr/ports/databases/sqlite3でmake config、FTS2が有効になっていたので無効。無効になっていたFTS1を有効にして、make reinstall。
コマンドラインのsqlite3でさっきまで開けなかったDBファイルを開いてみると、無事起動。
_"sqlite FTS2 ports" でぐぐってみると、sqlite3を起動するとSegmentation Faultするというそのまんまっぽい話が。
ええと、今のところ出たのは:
なんか中途半端な状態だけどとりあえず報告。既に動いているサーバなのでこれ以上の実験は勘弁。
_エンパイアビルダー系のゲームは楽しいが、ゲームデザインとしてはわりと大味になりやすい。ボードの上にクレヨンで線路を描いていくというそのメカニズムは運用するだけで楽しいが、問題はその先だ。
線路を引いて、引いた線路に列車を走らせて、荷物を産地から指示された目的地へ運ぶ。すると報酬がもらえるので貰った報酬でまた線路を引く。エンパイアビルダーは、基本的にはそれを繰りかえすゲームだ。
運ぶ荷物と目的地は各自に配られたカードによって指示される。ゲームの最初に3枚配られて、各カードには3つの仕事が書いてある。達成したらそのカードは捨てて、山から代わりの1枚を引いてくる。運ぶ距離が長い仕事の方が、おおむね収入が多いようにできている。
_ゲームの勝敗を大きく分けるのは、このカードの引きだ。都市AからBに荷物を運び、Cに行って次の荷物を積み、それをDまで運ぶ。このときBとCか近ければ空荷の時間が短くなる。B=Cとなら更に嬉しい。あるいは2枚のカードが都合良くEで荷物を2つ積んでFとそれにほど近いGに運ぶようなことができればますます嬉しい。
そういう「嬉しい」組み合わせを発見して遂行できれば、そのぶんアドバンテージが得られる。他人の足をひっぱる要素はほとんどないので、アドバンテージを得た回数が勝敗に直結する。しかしそもそも発見するのにはそういう手札がこないといけない。
ではそういう手札をそろえるためにできることは?
答:なにもない
基本的には運任せ、神様なり仏様なりに祈るぐらいはできるけれど、祈るぐらいが関の山。短い仕事をガンガン回して手札も回す――という手が一見あるように思うが、短い仕事の合間の回送による損失は馬鹿にならない。
_問題は手札だ。山札からカードを引く以上、そこには運の偏りが発生する。その偏りによって生まれる良い流れをしっかり捕まえて一番手に踊り出るのはまあいい。問題は、一番手より運が良くなかった二番手以降が一番手に追いつくための手段があるかどうか。そしてその手段は標準ルールには用意されていない。
_で、これを是正しようとあれこれ考え始めるわけだ。初期の手札をn枚引いてそのうち3枚とか、手札を引くときにn枚引いてそのうち1枚とか、仕事を入札制にするとか、手札の代わりに共有の台札にするとか。しかしこれらの手段はあまり解決にならない。なぜなら、二番手以降を利するのと同様に、一番手を更に利する可能性があるからだ。一番手が更に伸びてしまっては、二番手以降に追いつくための手段となるかは怪しい。
_そこでトレードである。
トレードなら、一番手を利さないことができる。一番手とはトレードしない、基本的にはそれだけでいい。二番手以降がお互いの手札をやりとりしてよい形を作って一番手を追いかける。それで二番手が一番手を追い抜いたら「手札カルテル」のメンバーが入れ換わる。戦況判断についての認識が綾になるが、これならとてもシンプルな変更で、一番手にはうまみがない、でも二番手以降には追いつくための手段を提供できる。