人狼プレイ目録

人狼物語~月狼国~に関しての記事や、長期人狼をプレイした中で思ったことを纏めてます。

サイト運営の話①

2021-02-28 12:24:50 | 人狼物語~月狼国~について
人狼物語のソースをお借りして長期人狼のサイトを設置した当初の話は全て人狼SNSに書いていたのですが、今となっては閉鎖され、その内容も見ることが出来なくなってしまいました。
短い期間ではありますが私が運営していた間のこと、設置した経験談などを書き残しておこうかと思います。
同じ道を辿ろうという方がいらっしゃるかはわかりませんが、もしいた時にはなにかの参考になれば幸いです。



1、サーバーの設置

人狼物語システムは、あず様が開発してくださった長期人狼用のシステムです。
http://asbntby.sakura.ne.jp/
perlというプログラムで書かれていて、cgiとHTMLの基礎知識があれば、それほど難しくなくサイト上に設置が可能です。

当然そこから改良しようと思えば、プログラム言語を覚えて書き換える必要は出てきます。
そこはまた置いておいて、ひとまず設置の段階までは、それほどハードルは高くはありません。

最近のレンタルサーバーってコントロールパネルからファイルのアップロードが可能になっていますよね。
正直、私はよくわかっていません。
今も昔ながらのFFFTPというソフトを使ってやっています。
アップロードする際には、ファイルのパーミッションだけお気をつけください。

なお、このブログでは詳細な解説は特にする予定はありません。
レッツ検索。



2、テスト環境

設置自体は出来たとしても、改良しようと思うと大変です。
何度もテストプレイや試行錯誤を重ねることでしょう。
しかし、その度にサーバー上にあるデータを書き換えていたのでは、おちおち村を遊べません。
進行中の村に影響を及ぼすかもと考えたら、実験なんて出来ないですよね。
そういう時のために、テスト用の環境を作ることを推奨します。

テスト用の環境といっても、わざわざ別にサーバーを用意する必要はありません。
自分のPC内に設置するのです。

perlを実行させるためのシステムをPC内にインストールすることで、自分のPC内でも人狼物語を動かすことが出来るようになります。
主に必要な物は以下。

①perl本体
②HTTPD

①のperl本体。
プログラムを実行させる部分。
お使いのPCにもよりますが、有名どころとして
・ActivePerl
・Strawberry Perl
などがあります。

私も最初はActivePerlから入りましたが、現在はStrawberry Perlを使わせていただいてます。
お好みでどうぞ。

②HTTPD
馴染みのない方には「なんだそれ?」と思われるかもしれません。
HPPTデーモンと言われる、自分のPC内にサーバーのような環境を構築するシステムです。

ちなみに、私はAN HTTPDという開発終了したソフトを今でも使っています。
使いやすいんだ……。

これら二つを正しく設定すると、自分のPC内でサイトを動かすことが可能となります。
これでサーバーにも負荷をかけず、ユーザーの邪魔することもなく、システム改良の実験ができますね。

ちなみに、私が運営していた国(月狼国)は魔改造ばかりしていました。
元々プログラム知識などないが故に、その大半がトライ&エラーによって成り立っています。
あって良かった、ローカルサーバー。



3、プログラムの話

先ほど人狼物語の開発者あず様のサイトを紹介しましたが、あず様のブログもあります。

http://asbntby.blog56.fc2.com/
https://asbntby.exblog.jp/

この中から一つ記事を紹介させていただきます。

Q: 人狼物語は人狼審問の後継スクリプトですか?
https://asbntby.exblog.jp/4839247/

この中に、人狼物語を設置するにあたって大事なことが書かれています。

> また実用面ですが、人狼物語は負荷面でぞんざいな作りになっているため、一度に多数の村を稼働するのはおそらく厳しいと思われます。

人狼物語は発言だけでなくキャラチップも表示され、長期人狼を遊ぶにはとても使いやすいシステムです。
ただ、機能が多ければ多いだけ、当然負荷も大きくなります。
多くの村を同時に稼働させる用の作りには元々なっていないことを、覚えておいていただけたらと思います。

私が運営していたサイトでは、負荷を分散させるためにいくつかサーバーを別に用意していました。
ユーザーの皆さんにはご負担をおかけしましたが、そのような理由であることをご理解いただけたらと思います。



4、負荷の話

改良して機能をつければつけるだけ、重くなります。
これも当たり前の話ですね。
便利な機能ほど負荷も高いことはままあります。

当国で設置した「単語検索」は、一日分の発言の中から該当するワードを含むものだけを表示するシステムです。
それを開くためには、該当日の全発言を精査して「そのワードが含まれているか否か」の検索をかけなければなりません。
開くのはごく一瞬ですが、裏ではプログラムが動いています。
新着レス機能(自分宛のアンカーが含まれている発言のみ表示する)にいたっては、アンカーがある度にそのアンカー先の発言を調べてまわる必要が出てきます。

あまりに重い機能はログの多くなる雑談村では使えなくしたりと色々対策は取っていますが、それでもやっぱり重いんですよね。
なので、月狼国は村数をかなり少なめの設定にしています。
サーバーの状態とプログラムの改造具合等も加味して判断してください。

村枠を絞る以外では、地上人数と見物の人数も絞っています。
地上はとりあえず20人いればいいかな~?なんて適当な理由です。
あまりに人数が多くなると、編成を考えるのも大変。
見物は元々見物人システムが好きではないという理由もあって、かなり少なめに設定していました。



5、霧の話

今では「霧ってなんぞ?」と思う方もいるかもしれませんね。
いわゆるサーバーエラー、サーバーに接続できない状態です。
RPや世界観を大事にする村では、システム的な用語を避けてサーバーが重いことを「霧が濃い」などと表現しておりました。

サーバー上に設置したゲームですから、サーバーエラーはそりゃもう起こります。
天敵です。
プログラムエラーも起こりえますが、負荷が高い時にも発生します。
今回はその高負荷状態のエラーについて話します。

当国でも度々503が発生しました。
(503がわからない人は、調べてみようね。サーバーエラーの一種だよ!)
サーバーの状態を調べても、転送量自体はレンタル元の定めた範囲内に収まっている。
ではなぜ?

どうやら「同時に多くの接続が集中する」と503が起きやすいようです。
トータルで見た時に転送量が規定値以下に収まっていても、波があってその波が一定ラインを超えてしまったら、サーバー側で規制がかかってしまう。
そのようなケースが度々発生していました。

人狼ゲームをやっていると、多くの日に処刑と襲撃が発生します。
村側は今日誰が襲撃されたか、気になることでしょう。
人狼だってひょっとしたら護衛されているかもしれない、ちゃんと襲撃は通ったかと心配になることも多い。
そう、一番同時に接続されることが多いのが「更新前後」の時間です。
この時に負荷が一定ラインを超えてしまいやすい。

負荷を軽減させようと思えば、なるべく「更新時間が被らないような村を建てる」ことをおすすめします。
おっと、これは村建てさん宛のお願いですね。
村枠を余裕のある数字に絞っても、建っている村が全て同じ時間に更新される場合は、その時間に全村の参加者、閲覧者が多く殺到することになります。
なるべく避けてもらえると嬉しいな~なんて、今更ですがお願いをしておきます。

話が横道に逸れてしまいました。
サイトの転送量自体はレンタル元の設定した数字を下回っていても、同時接続によってエラーが生じたり、規制がかかることがあり得ます。
これは覚えておいてください。

また夜のコアタイムは議論も活発となり、更新時間前後のような大きな盛り上がりではなくとも、全体的に高くなりやすい。
村を快適に遊ぶためには、村数を絞って余裕のある状態にしておくことをおすすめします。




続きというか他の話は、また気が向いた時にでも。
向くかはわかりませんが。あしからず。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

コラム「狼視点の推理について」

2021-02-13 09:18:38 | コラム

友人が最近色々なことをnoteに書いてまして、その中に面白い記事がありました。

村人の推理と狼の推理

狼を苦手としない人は、どういうことをしているか。
自分が狼の時を思い出して羅列してみましょう。



①最初はまず、フラットに議事録に触れる

初日初動は、狼利とかそういうのはまず二の次。
頭を真っ白にして議事録に触れていきましょう。
あれこれと考えるのはその後です。

ただ仲間がどう取られているか、どう評価されていくかにはアンテナを伸ばしておきましょう。



②各人のイメージを構築する

この人はこういう人。
この人はこんなことを言って、こんなことを考えているんだろうなぁ。
相手の役職ではなく考え方、人となりを固めていきます。



③発言の中からチェックポイントを見つける

チェックポイントとは、いわゆる村人で言うところの「ここ気になる」「これはどうして?」という部分。
狼だからといってそれが持てないわけではありません。

自分が見ている中で、培ったイメージ②との差異。
それを見つけていきましょう。

同じ人の中で差を感じた場合は「どうしてそうなったんだろう」という疑問に繋げる。
「君の考えなら、こうだと思っていた」
AさんのBさん評に対して差を感じた場合は「Bさんはこう思っているんじゃないの?」とチェックをつけておく。
それ以外でも気になる発言があった場合は、チェックをつけていきます。

逆に「ここはいいな」「なるほど」と思った部分も積極的にチェックしていきましょう。
これは加点部分のチェックとなり、違和感を持った部分とは使い方は逆になりますが、こちらもまた有用です。

このチェックポイントが多ければ多いほど、自分が色々と思考しているように発言に盛り込んでいくことができます。
喉が潤沢にある村ならば、その都度対話を持ちかけて相手に確認していくと良いでしょう。



④自分の推理を固める

自分が培ったイメージ②、拾ったチェックポイント③とその確認を元にして、自分の考えを纏めます。
②に近い過程ですが、そこよりもさらに深める。
灰や占い師の中に序列を作り「誰がより信頼に値する人物か」を作り上げる。

そう、いわゆるグレースケールや真贋部分の構築です。
推理出来ない立場だからといって、これが作れないわけではない。
簡単にではありますが、以下にグレースケールの作り方を一つ置いておきましょう。


1、スキル順に並べる

灰を強者順に並べます。
強者とは、いわゆる人狼ゲームに長けた者。
発言力と推理力のある対象。
強い相手はそれだけ、GS上位にいることが多い。


2、チェックポイントを加算し、並び順を入れ替える

プラス評価ができるチェックポイントならば、GS上位に。
マイナス部分のチェックポイントならば、GS下位に。
それぞれ調整していきましょう。


この二つだけでも、おそらく「それっぽく」は見えるのではないでしょうか。
さらに以下も加えていきましょう。


3、村内評価を勘案する

狼から見て発言強者であっても、村からは白く思われないこともあります。
ベースを1ではなく、村内評価を元にすることも可能です。
また、自分が思う以上に相手が村内で評価されていない場合は、それによってGS位置を下げることも検討しましょう。
「自分からはこう見えるんだけど、皆からは違うのか……」
「ひょっとして自分が間違えているのか……?」
こんな疑問を差し挟んだならば、立派な村人偽装になります。

村内評価と剥離しすぎていると「なぜそう思うのか」といった疑問から「知っているのではないか」と勘繰られてしまいやすい。
差を持たせる時は、説得が可能な材料をしっかりと用意しておくこと。
また、対象の位置を引き上げることで自分のアピールに繋げるくらいの気持ちでいましょう。


4、狼としての打算、計画を組み込む

Cさんはこのままなら吊れそうだから、GS下位に置いておこう。
Dさんは狼を白く見てくれているから、GS上位にいて発言力を持ってもらおう。
Eさんは真占を偽視してくれているから、吊りたくない。等々。

狼とて村参加者の一人。
その評価は村の総意に組み込まれます。
発言力を上げたい相手は積極的に上げていき、また発言力を落としたい相手はGS下位にいてもらうことにしましょう。


・対象の発言力を上げる場合
相手が「村人として違和感がない」ことを主張します。
加点部分のチェックがあれば、積極的にそれを開示する。
相手の村内位置が上がったならば、相手の発言はそれだけ浸透しやすくなります。

また、発言力を高めるためには「他の人もそう思っている」と見ている誰かに思わせることが大事。
「こうだと思うんだけど」
この主張だけでは「へー」で終わりやすい。

「こうだと思うんだけど」「わかるー」
ここまで聞こえると「そうなのか」と思われやすくなります。

狼にとって有利な発言が出たならば、積極的に「なるほど」「確かに」「わかるわー」「それいいね」と相づちを入れていきましょう。
それだけで、相手の主張になんとなーく信憑性を持たせることができます。(※1)


・相手の発言力を下げる場合
大雑把にわけると、二通りの方法があります。
「相手が狼だと思わせる」か「相手の推理があてにならない」と思わせるか。
前者の場合は、そのまま相手をGS下位に入れてしまいます。

「相手の発言が不都合だから、疑いを向ける」わけではありません。
「おかしな発言をしているから、狼じゃないかと疑う」のだと思っておきましょう。いえい。
もし相手の口調が強ければ「どうしてそうまで思うの?」「そう言い切れるの?」から、誘導している狼だったら、という不安に繋げる。
それ以外の場合でも「本当にそうなんだろうか」と首を傾げるだけで、相手の発言内容は否定でき、かつ相手を疑ってもおかしくはありません。

やり過ぎると「わざと理解しないようにしているのでは」と言われます。
ご利用は計画的に。

それとは別に「こいつは白だと思うけど、でも推理が当たっているとは限らない」と位置づけることもできます。
あまり良い言い方ではないんですけどね。

たとえば村の中で偽占い師が信用を取っている中、一人だけ「いや、こいつは偽物だ!」と声高に主張をして、偽占を偽視&真占を擁護している灰がいるとしましょう。
相手を狼だと思わせる場合は「こいつ真占の信用を落としたいんだろう」として、相手を狼位置に持っていく。
相手の推理があてにならないとしたい場合は「こいつ狼だと一人で悪目立ちしすぎなんだよなー。多分村人だと思う。まぁ、真贋は全然あてにならないけど」と"ミスリード村人であること"を印象付けてしまいましょう。

これらの小細工を行う場合は、自分の発言力もある程度持っておいた方が便利です。
発言力を保持させるためにも、発言は常に要素ありきで行い、説得力を持たせる。
また仲間には自分をあまり低評価させず、良い位置をキープできるようにしておくといいでしょう。



※1を利用して、自分の発言にも信憑性を持たせることができます。
コツは「誰かに投げかけて同意させる」こと。
投げかける相手の選定が大事です。
自分と全然違う意見を持つ相手に投げかけても「えぇ、そう?」と言われて終わります。

a、自分と近い推理をしている人に投げる。
b、フラットに見ている人に投げる。
c、あるいは、他者の意見に流されやすい人に見える。
d、自信のない人に投げる。

aは当然肯定的な返信が期待できます。
bは相手をこちら側に引き寄せるつもりで、発言に説得力を持たせられると良し。
c、dも同様に、相手を引き込むつもりで行います。

同意がもらえたならば、それだけ「村内で賛同されている」というイメージがつきます。



途中からなぜか誘導の仕方に脱線してしまいました。
ともあれ、ここまででだいたいのグレースケールはできたのではないでしょうか。
序盤はだいたい、これで推理者としての体裁は整うと思います。

終盤になってくると、もっとしっかりとした「狼陣営の推理」が必要になってきます。
単体での狼視ではなく、狼陣営全体を推理する段階ですね。
そちらはまた、気が向いた際にでも。

気が向く予定は、今のところありません。あしからず。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする