/d6game-engine

Implementation of a minimal dice game system for us

Primary LanguageTypeScriptMIT LicenseMIT

⚠️ 開発中のゲームシステムです。破壊的な変更を行う場合があります。

はじめに

私はTRPGのようなトークベースで遊べるゲームが好きで、常日頃からもっとたくさん遊びたいと考えていました。そこで、ちょっとした空き時間で気軽に遊べるような小さなダイスゲーム(六面ダイスを振って、4以上が出たら成功だ!)を作って遊んでみましたが、いまいち面白くありませんでした。それは友人と話しはじめるきっかけとしては十分でしたが、ゲームが面白ければもっと最高です。それから何ヶ月か試行錯誤をして、ポーカーのルールを判定に組み込むことを思いつき試してみると、これが不思議と面白く日常的に楽しめるゲームが作れるようになりました。そういった経緯で、このゲームシステムは以下のモチベーションから生まれたものです。

  • 同僚や友人と短い時間でも楽しく遊べる
  • 一言目で興味を引けるゲームルール
  • 自分だけの小さなTRPGを簡単に制作できる

概要

d6game engine には、自分だけの小さなTRPGを制作することができるゲームシステムが実装されています。それらは、あなたのゲームの世界観に合わせて独自の要素を付け足したり、自由に変更したりすることができます。例えば、プレイヤーキャラクターがロボットである場合にライフをアーマーと言い換えたりすることができます。

ライフ(LIFE)

ライフはキャラクターの残された命や命運を示した値です。0以下になった場合には行動不能となります。ライフの初期値は、六面ダイスをひとつ振った結果を10に足した合計値で決定します。ゲームによってはライフの上限値を設定し、一定値以上に増えないようにすることもできます。

行為判定

このゲームでは、キャラクターの行動がどのくらいうまくいったのか、ダイスを使って判定をすることができます。判定時には、ゲームマスターがあらかじめ成功に必要な役の難易度を決定します。特に指定がない場合は「ワンペア以上」が成功です。

  1. 六面ダイスを5つ振り、役を作る
  2. 難易度よりも強い役であれば成功となり、役の得点と同じ値のライフを獲得する
  3. 役が作れない場合は、ひどい失敗(ファンブル)となり、ライフを-5点失う

チャレンジ!

判定を行う前に、プレイヤーがチャレンジ!を宣言することによって、難易度が1段階上昇する代わりに成功時に獲得するライフが2倍になります。プレイヤーが予定調和のゲームを退屈だと感じたら、いつでもハイリスクハイリターンの賭けに挑むことができるというわけです。

役の種類と得点

ノーハンド(-5点)

役が作れない(ファンブル) 例 ○○○○○

ワンペア(0点)

同じ出目が2つある 例 ①①○○○

ツーペア(1点)

ワンペアが2組ある 例 ①①②②○

スリーダイス(2点)

同じ出目が3つある 例 ①①①○○

フルハウス(3点)

ワンペアとスリーダイスがある 例 ①①②②②

ストレート(4点)

5つ出目が連番になっている 例 ①②③④⑤

フォーダイス(5点)

同じ出目が4つある(クリティカル) 例 ①①①①○

ザ・ファイブ(10点)

同じ出目が5つある(スーパークリティカル) 例 ①①①①①

戦闘

戦闘を行う場合には、キャラクターのライフの値を賭けて(命を賭けて)ゲームマスターやプレイヤー同士が勝負を行います。多くの場合、ゲーム中に手に入れたアイテムや情報を使って最後にゲームマスターの用意した敵役を打ち倒すことがゲームの目標になります。

  1. 戦闘開始時、ライフが低い順に手番を得る
    1. 手番が一巡したら、その時のライフの値に応じて順番を決め直す
  2. 手番のプレイヤーは攻撃対象を指定する
  3. 手番のプレイヤーは攻撃対象プレイヤーから見えないように判定を行い役を作る
  4. 手番のプレイヤーは役を確認し、その攻撃に賭けるライフの値を1~10点の間で決定する
  5. 攻撃対象となったプレイヤーは応戦か回避を選択する
    1. 応戦の場合、攻撃対象となったプレイヤーは判定を行い、役の得点が低い方が賭けられたライフと同じ数だけライフを失う。得点が同値の場合、ライフの減少は行わない
    2. 回避の場合、判定を行わず攻撃対象となったプレイヤーは賭けられたライフの半分の値(切り捨て)のライフを失う

ライフが0以下となった場合、戦闘不能となります。戦闘終了後に治療や周囲の助けが受けられる状況であれば、ライフを1点の状態に戻してゲームに復帰することができます。

キャラクターの創造

ライフの初期値を決定し、名前、年齢などのパーソナルなデータを決定します。また、オプションとしてキャラクターの持つ技能や装備を決定することもできます。

ライフ

六面ダイスをひとつ振った結果を10に足した合計値で決定します。

プロフィール

名前、年齢などのパーソナルなデータを設定します。以下の設定項目は一例であり、ゲームごとに変更して構いません。

  • 名前
  • 年齢
  • 性別
  • 職業
  • 説明

技能・装備(オプション)

ゲームマスターがキャラクターに対して装備や技能など設定する場合、以下のデータを参考に追加能力を付与することができます。ゲームによって複数を組み合わせたり、オリジナルのボーナスを創造しても構いません。

  • 戦闘時、与えるダメージを常に +n する
  • 戦闘時、受けるダメージを常に -n する
  • 初期ライフの値を +n する
  • 特定の条件下で、判定時のライフ獲得値を+1する
  • 特定の状況下で、判定に挑戦するための前提条件となる

技能例

  • 知識:薬学 ... 薬品を調べる場合、判定時のライフ獲得値を+1する

装備例

  • ショートソード ... 戦闘時、与えるダメージを+2する

利用について

このゲームシステムのドキュメントに書かれていることは、商用・非商用を問わず誰でも無償で自由に利用することができます。このルールを採用したからといって、誰かがあなたのゲームに対して何らかの権利を主張することはありません。ひとつだけお願いしたいことは、このゲームシステムを利用していることがわかるように、以下の権利表記をしてもらうことです。記載するのは、奥付などの目立たないところで構いません。

権利表記

This game is published under ccfolia/d6game-engine License.
Copyright (c) 2022 ccfolia