DCSS webtileチャットボットbeemの紹介
この記事はRoguelike Advent Calendar 2019の1日目の記事です。
DCSS webtileチャットボットbeem
現在私が運営しているDungeon Crawl Stone Soupサーバーに先日からチャットボット機能が付いたので紹介いたします。
付いたと言っても、私自身がボットを運用しているわけではないのですが……(本家開発チームのgammafunk氏が運用しています)
特定の手順を踏むことによって通常のチャットにbeemというユーザーが常駐するようになり、コマンドを送ることによってプレイに役立つ情報を得たり、特に役立たないメッセージを得たりします。
常駐のさせ方
まず、beemが既に常駐しているユーザーのプレイを観戦し、チャット欄に
!subscribe
と入力することで自分のプレイ時に常駐させることができます。
beemが常駐している状態で、
!unsubscribe
と入力すると、常駐設定を取り消すことができます。
……はて、常駐しているプレイヤーがいないと常駐させることができないのならば、最初に常駐させた人はどうやって常駐させたのでしょうか?
という疑問が湧いてくるところですが、beemがチャットに入ってくる条件はもう一つあります。
beemは(通常設定では)4人以上観戦者が入っているゲームを「賑わっている」と判断して自動的に観戦開始します。そのチャンネルに入って!subscribeを入力し、改めて自分のプレイを開始しましょう。
botのコマンドいろいろ
IRCやDiscordの公式チャンネルにいるbotとほぼ共通のコマンドが使用できるようです。
!help
beemの簡単な自己紹介を表示し、説明書へのリンクを張ります。
??[文字列]
LearnDBに登録された項目を表示します。例えば、
??sigmund beem: sigmund[1/4]: A yellow @ with a shiny scythe, a magic wand, and a necklace of player skulls. A notoriously lethal early-game unique human wizard. Spells: throw flame, confuse, invisibility, magic dart.
複数個文章が投稿されているワードについてはデフォルトでは一番最初のものを表示します。
項目番号を指定したい場合は以下のようにします。
??sigmund[4] beem: sigmund[4/4]: Proof that Crawl hates you and wants you to die.
@??[モンスター英名]
モンスターの情報を出します。例:
@??the royal jelly beem: Royal Jelly (J) | Spd: 14 | HD: 21 | HP: 196-273 | AC/EV: 8/4 | Dam: 50(acid:7d3), 30(acid:7d3) | eats doors, see invisible, unbreathing | Res: magic(180), poison, acid+++, blind, drown | Vul: silver | XP: 14306 | Sz: Large | Int: brainless.
接頭辞を%??にすると、Cheibriadosボットで処理を行うようになります。文字列が変わらないこともあります。
Cheibriadosボットでは、バージョンを指定して情報を出すこともできます。
%0.15?cigotuvi's monster beem: royal jelly (J) | Spd: 14 | HD: 21 | HP: 230 | AC/EV: 8/4 | Dam: 50(acid:7d3), 30(acid:7d3) | eats items, sense invisible | Res: magic(196), poison, acid+++, asphyx, drown | Vul: silver | XP: 14176 | Sz: Medium | Int: plant.
!lg
一つ前のゲーム(Last Game)の情報を出します。
!lm
最後に表示されたmilestone表示を出します。
!won [プレイヤー名]
[プレイヤー名]の脱出した回数や組み合わせを出力します。
プレイヤー名を省略した場合は、今プレイ中のプレイヤーの情報を出します。
!gamesby [プレイヤー名]
[プレイヤー名]のゲームプレイ情報を出します。(最高スコア、累計スコアなど)
プレイヤー名を省略した場合は、今プレイ中のプレイヤーの情報を出します。
!apt [種族名]
[種族名]のスキル適性を出力します。
%git [コミットidやブランチ名]
DCSSのgitリポジトリにおけるコミットの情報を出します。例:
%git 0a147b9 beem: gammafunk * 0.17-a0-488-g0a147b9: A new wizlab: Lehudib's Moon Base (5 years ago, 8 files, 203+ 1-) https://github.com/crawl/crawl.git/commit/0a147b9ce386 %git stone_soup-0.24 beem: Aidan Holm * 0.24.0-37-gcf1ca85: Fix various small alignment issues (10 days ago, 2 files, 8+ 2-) https://github.com/crawl/crawl.git/commit/cf1ca852f132
!firestorm [文字列]
[プレイヤー名] points at [文字列] and mumbles some strange words. A raging storm of fire appears! The great blast of fire engulfs [文字列]!というメッセージを返します。単なるジョークコマンドです。
ゲームプレイヤーだけに反応するようにする
万一観客がbotのコマンドで荒らし行為を行ってきたときなどは、以下のコマンドでプレイヤーのみに反応するようにできます。
!player-only on
解除するときは
!player-only off
とします。
DCSS 0.24 Tournament開催のご案内
Dungeon Crawl Stone Soup 0.24のリリースに伴い、今回もDCSSオンライン大会が開催されます。
http://lazy-life.ddo.jp:8080/ を含む各公式サーバでの参加が可能です。
開催日程
日本時間 2019/10/26(土) 05:00 〜 11/11(月) 05:00
参加のしかた
1〜6人のチーム(clanと呼びます)を組み、期間内のプレイ内容に応じたポイント合計を競います。
チームリーダーはDCSS 0.24の設定ファイルの先頭に
# TEAMNAME nameofteam # TEAMMEMBERS player1 player2 player3 player4 player5
とclan名(半角英数、アンダースコア、ハイフンのみ可)とプレイヤー名(1人チームの場合はTEAMMEMBERSのみで可)を指定します。
また、各チームメンバーは同様に
# TEAMCAPTAIN nameofcaptain
のようにリーダー名を指定します。
チームメンバーの入れ替えは日本時間 11/2 05:00まで可能で、それ以降は凍結されます。
ポイント
ゲームプレイで稼げるポイントを得る条件は「オーブを手にして脱出」「各分岐の最下層に到達」「各神の信仰値を******まで上げる」などオーソドックスなもののほか、
「オーブを手にした後霊廟分岐に突入して黄金のルーンを入手」「異なる組み合わせで4連勝」などプレイヤーページにバナーが付与される特殊条件も数多くあります。
また、「Nemelex' Choice」として「ランダムに指定された組み合わせで先着順に勝利した8名」が得られる実績も期間中に何度か更新されます。
詳細は公式ページをご覧ください。
Discordサーバ
日本鯖用のDiscordのサーバが設置してあります。雑談、観戦、相談などさまざまな用途にどうぞ。
それでは、参加をお待ちしています!
DCSS 0.23 Tournament開催のご案内
Dungeon Crawl Stone Soup 0.23のリリースに伴い、今回もDCSSオンライン大会が開催されます。
http://lazy-life.ddo.jp:8080/ を含む各公式サーバでの参加が可能です。
開催日程
日本時間 2019/2/9(土) 05:00 〜 2/25(月) 05:00
参加のしかた
1〜6人のチーム(clanと呼びます)を組み、期間内のプレイ内容に応じたポイント合計を競います。
チームリーダーはDCSS 0.23の設定ファイルの先頭に
# TEAMNAME nameofteam # TEAMMEMBERS player1 player2 player3 player4 player5
とclan名(半角英数、アンダースコア、ハイフンのみ可)とプレイヤー名(1人チームの場合はTEAMMEMBERSのみで可)を指定します。
また、各チームメンバーは同様に
# TEAMCAPTAIN nameofcaptain
のようにリーダー名を指定します。
チームメンバーの入れ替えは日本時間 2/16 05:00まで可能で、それ以降は凍結されます。
ポイント
ゲームプレイで稼げるポイントを得る条件は「オーブを手にして脱出」「各分岐の最下層に到達」「各神の信仰値を******まで上げる」などオーソドックスなもののほか、
「オーブを手にした後霊廟分岐に突入して黄金のルーンを入手」「異なる組み合わせで4連勝」などプレイヤーページにバナーが付与される特殊条件も数多くあります。
また、「Nemelex' Choice」として「ランダムに指定された組み合わせで先着順に勝利した8名」が得られる実績も期間中に何度か更新されます。
詳細は公式ページをご覧ください。
Discordサーバ
日本鯖用のDiscordのサーバが設置してあります。雑談、観戦、相談などさまざまな用途にどうぞ。
それでは、参加をお待ちしています!
DCSS 0.22 Tournament開催のご案内
Dungeon Crawl Stone Soup 0.22のリリースに伴い、今回もDCSSオンライン大会が開催されます。
http://lazy-life.ddo.jp:8080/ を含む各公式サーバでの参加が可能です。
開催日程
日本時間 2018/8/11(土) 05:00 〜 8/27(月) 05:00
参加のしかた
1〜6人のチーム(clanと呼びます)を組み、期間内のプレイ内容に応じたポイント合計を競います。
チームリーダーはDCSS 0.22の設定ファイルの先頭に
# TEAMNAME nameofteam # TEAMMEMBERS player1 player2 player3 player4 player5
とclan名(半角英数、アンダースコア、ハイフンのみ可)とプレイヤー名(1人チームの場合はTEAMMEMBERSのみで可)を指定します。
また、各チームメンバーは同様に
# TEAMCAPTAIN nameofcaptain
のようにリーダー名を指定します。
チームメンバーの入れ替えは日本時間 8/18 05:00まで可能で、それ以降は凍結されます。
ポイント
ゲームプレイで稼げるポイントを得る条件は「オーブを手にして脱出」「各分岐の最下層に到達」「各神の信仰値を******まで上げる」などオーソドックスなもののほか、
「オーブを手にした後霊廟分岐に突入して黄金のルーンを入手」「異なる組み合わせで4連勝」などプレイヤーページにバナーが付与される特殊条件も数多くあります。
また、「Nemelex' Choice」として「ランダムに指定された組み合わせで先着順に勝利した8名」が得られる実績も期間中に何度か更新されます。
詳細は公式ページをご覧ください。
Discordサーバ
今回はDiscordのサーバも設置してみました。雑談、観戦、相談などさまざまな用途にどうぞ。
それでは、参加をお待ちしています!
DCSS 0.21 Tournament開催のご案内
Dungeon Crawl Stone Soup 0.21のリリースに伴い、今回もDCSS 0.21オンライントーナメントが開催されます。
http://lazy-life.ddo.jp:8080 を含む各公式オンラインサーバでの参加が可能です。
開催日程
日本時間 2018/1/6(日) 05:00 〜 1/22(月) 05:00
参加のしかた
最大6人のチーム(clanと呼びます)を組み、期間内のプレイ内容に応じたポイント合計を競います。
チームリーダーはDCSS 0.21の設定ファイルの先頭に
# TEAMNAME nameofteam # TEAMMEMBERS player1 player2 player3 player4 player5
とclan名(半角英数、アンダースコア、ハイフンのみ可)とプレイヤー名(1人チームの場合はなくても可)を指定します。
また、各チームメンバーは同様に
# TEAMCAPTAIN nameofcaptain
のようにリーダー名を指定します。
ポイント
ゲームプレイで稼げるポイントを得る条件は「オーブを手にして脱出」「各分岐の最下層に到達」「各神の信仰値を******まで上げる」などオーソドックスなもののほか、
「オーブを手にした後霊廟分岐に突入して黄金のルーンを入手」「異なる組み合わせで4連勝」などプレイヤーページにバナーが付与される特殊条件も数多くあります。
また、「Nemelex' Choice」として「ランダムに指定された組み合わせで先着順に勝利した8名」が得られる実績も期間中に何度か更新されます。
詳細は公式ページをご覧ください。
それでは、参加をお待ちしています!
DCSS 0.19日本語版αリリース
この記事は Roguelike Advent Calendar 2017 の24日目の記事です。
DCSS 0.16日本語版リリースから長いことお待たせしましたが、DCSS 0.19日本語版を石鍋試験鯖( http://lazy-life.ddo.jp:8080 )にてリリースしました。
ソースコードはGithubで公開しています。軽微な修正を含めた最新のソースコードを入手したい場合はdevelopブランチをどうぞ。
誤訳・未訳箇所、不具合等の報告は以下のコメントフォームにて受けつけています。github issueやtwitter経由でもいいです。
0.16から0.19までに本家で多くの更新がされています。目立つところは↓あたりでしょうか。
- ヘプリアクルカナ(Hepliaklqana)神、ウスカヤー(Uskayaw)神の追加。
- プレイヤーから見える範囲が円形から四角形になった
- 今まで耐毒があれば食べられていた死体の肉が完全に食べられなった
- アビスでモンスターを倒した際に出口が生成されることがあるようになった
- テレポート禁止階層の廃止
- オーク・沼・浅瀬・蛇穴・蜘蛛分岐の階層数減少
- トロル系やドラゴン系を倒した際には皮ではなく装備できる状態のものが生成される
他、変更の詳細は↓をご覧ください(英語)
- http://mars.kmc.gr.jp/~dis/dcss_wiki/index.php?%E5%A4%89%E6%9B%B4%E7%82%B9%2F0.17
- http://mars.kmc.gr.jp/~dis/dcss_wiki/index.php?%E5%A4%89%E6%9B%B4%E7%82%B9%2F0.18
- http://mars.kmc.gr.jp/~dis/dcss_wiki/index.php?%E5%A4%89%E6%9B%B4%E7%82%B9%2F0.19
DCSS 0.21のリリースが迫っているため次の日本語版は(やるとすれば)0.21ベースになるかと思います。今後もDCSSと石鍋試験鯖をよろしくお願いします。