プチコン RPG (仮称,作成中)

Back Home

以前から設定していたオーソドックスなRPG仕様があるのですが、その基本部分を整理してプチコン上で再現してみました。
コンパクトさを維持しながら、ある程度の汎用性があるベースシステムを作る… ための練習って感じでw

基本システム

Back Home

テーブルトークRPGのD&Dから始まる、いわゆるオーソドックスなRPGのシステム化です。 Wizardly系RPGが好きなので、その影響も大きいですね。

ただ今回は基本システムの構築がメインなので、実際のプレイ部分はオマケだと思ってください。
たぶんWizardlyより、ファンタジー(ニカデモスとか出てくるアレ)とかRogueに近い気がします。 ファンタジーを実際にプレイしたことは無いんで、全然違うかもしれないけれど。 3Dダンジョンじゃない、もっと気楽にプレイできる感じ。

将来的にちゃんとしたRPGが作れたら… この作品はその街部分、キャラクター作成システムに練習ダンジョンが付いたもの、という位置づけになるとおもいます。

キャラクター

Back Home

各キャラクターは以下の基本データをもっています。

  • 名前 (8文字)
  • 職業 (1byte)
  • レベル (1byte)
  • 経験値 (2bytes)
  • 基本職業の履歴 (1byte)
  • 才能 (1byte)
  • 性別 (1bit)
  • 性格 (2bits)
  • 将来の拡張用 (3bytes+5bits)
これらは18bytesのコンパクトなサイズにおさまります。 アイテムを8個持てるので24bytes、6人パーティで合計252bytesになります。
プチコンで一度に扱えるメモリ領域は256bytesなので4bytes余り、うち3bytesはパーティの持つ金(ゴールド)、残り1byteは将来の拡張用です。

各キャラクターは以下の能力値をもっています。

  • 力 (Str: Strength)
  • 知恵 (Int: Intellect)
  • 信仰心 (Pie: Piety)
  • 強靭さ (Vit: Vitality)
  • 素早さ (Agl: Agility)
  • 運 (Lck: Luck)
能力値は8が基本で、これは標準的な冒険者の標準値となります。 それぞれの能力値は基本データの職業、レベル、基本職業の履歴、そして才能によって計算され決められます。

各キャラクターは体力(HP)、防具クラス(AC)、防御力(DEF)の値を持っています。
体力(HP)は職業、能力値の強靭さ(Vit)、レベルから計算されます。 この値が大きいほど、より多くのダメージに耐えられます。
防具クラス(AC)は主に装備しているアイテムより計算されます。 この値が小さいほど敵の攻撃が当たりにくくなります。 キャラクターに関する値のなかで珍しく、低いほど良い値です。
防御力(DEF)も主に装備しているアイテムより計算されます。 この値が大きいほど、命中したダメージをよく軽減できます。
これらの値は職業による補正がある場合もあり、また魔法で一時的に強化されることもあります。

才能はたった1byteのデータですが、各キャラクターの特徴を表現するための重要な要素です。 ただしゲーム中に明示的に表示されることはありません。
1~6ビットはそれぞれ、能力値に応じたボーナスを持っているかどうかのフラグになります。 例えば才能値1を持つキャラクターは、筋肉質な体を持って生まれ、力 (Strength)に +1 のボーナスを受けます。
この世界では才能のない者は冒険者として認められません。 また神に全てのボーナス値を与えられた人間も存在しません。 よって才能値は1~62の間に設定されます。
才能値の上位2bitsは将来の拡張用に保持されており、現時点では必ず0にセットされています。

性別、性格はゲームを楽しむための付加要素であり、ゲームプレイに大きく影響することはありません。 善と悪の性格のキャラクターが同じパーティに居ても問題はありません
ただしアイテムには性別や性格による装備の制限があるものがあります。

基本職業

Back Home

全ての職業(クラス)の基本となるもので、転職のための前提条件はありません。

戦士 (F:Fighter)

力(Strength)に祝福を受けた職業。
ほとんどの武器・防具を使いこなす近接戦闘のスペシャリスト。

魔法使い (M:Mage)

知恵(Intellect)に祝福を受けた職業。
高い攻撃力をもつ攻撃呪文のスペシャリスト。

僧侶 (P:Priest)

信仰心(Piety)に祝福を受けた職業。
探検に必須である回復呪文のスペシャリスト。

盗賊 (T:Theif)

素早さ(Agility)に祝福を受けた職業。
罠を発見し外すスペシャリスト。相手の隙をつき攻撃し、意外に大きなダメージを与えることがある。

蛮人

強靭さ(Vitality)に祝福を受けた職業?未実装。

遊び人

運(Luck)に祝福を受けた職業?未実装。

能力値の補正

戦士魔法使い僧侶盗賊
Str1-10-1
Int-11-1-1
Pie-101-1
Vit1-100
Agl00-11
Lck-1001

基本職業の特徴

基本職業をあるレベルまで上げると、その職業をマスターしたことになります。
例えば戦士のレベルを20まで上げると、戦士の職業をマスターしたことになり「基本職業の履歴」の戦士の項目が0から1に上がります。 これは戦士系の上級職への転職条件になっています。
例えば上級職の侍に転職するには、前提となる戦士と魔法使いの職業をマスターしている必要があります。 賢者になるには魔法使いと僧侶をマスターしている必要があります。
転職すると通常はレベルが0に戻りますが、いったんマスターした基本職業に転職する場合には、その職業をマスターするのに必要とされたレベルに戻ります。 例えば戦士をマスターしたキャラクターは、別の職業から戦士に転職すると、レベル20の戦士になります。

スーパー基本職 (仮称)

基本職をマスターすることで、「基本職業の履歴」が1になります。 通常はここで上級職に転職するわけですが、そのまま基本職を極めることもできます。
これをスーパー基本職 (仮称)と呼び、「基本職業の履歴」の2,3の値はこのために用意されています。 まだ未実装です。

上位職業

Back Home

侍 (S:Samurai)

力(Strength)と知恵(Intellect)に祝福を受けた職業。
防具の種類は限られるが、戦士と同様に高い近接戦闘力をもった職業。魔法使いの呪文も使いこなすため、どんな相手でも大きなダメージを与えることができる。
転職の条件は戦士と魔法使いのマスター。

騎士 (K:Knight)

力(Strength)と信仰心(Piety)に祝福を受けた職業。
武器の種類は限られるが、戦士と同様に高い近接戦闘力をもった職業。高い防御力を誇り、僧侶の呪文も使いこなすため、厳しい戦闘でも生き残ることができる。
転職の条件は戦士と僧侶のマスター。

忍者 (N:Ninjya)

力(Strength)と素早さ(Agility)に祝福を受けた職業。
転職の条件は戦士と盗賊のマスター。

賢者 (B:Bishop)

知恵(Intellect)と信仰心(Piety)に祝福を受けた職業。
転職の条件は魔法使いと僧侶のマスター。

魔術師 (W:Warlock)

知恵(Intellect)と素早さ(Agility)に祝福を受けた職業。
転職の条件は魔法使いと盗賊のマスター。

レンジャー (R:Ranger)

信仰心(Pietyと素早さ(Agility)に祝福を受けた職業。
転職の条件は僧侶と盗賊のマスター。

コードメモ

Back Home

キャラクター関係の変数

P=6 キャラクター数, J=JOB総数

*C_N$(6)名前
*C_R$(6)職業 (1文字)
C_RN(6)職業 (整数)
C_RS$(6)職業 (文字列)
*C_L(6)レベル
*C_E(6)経験値
*C_C(6)才能
*C_B(6)基本職業の履歴
C_S(6)ステータス
C_A(6*P+6*P)各キャラの能力値、能力値の増減結果値
C_BR(4*P)FMPTそれぞれの基本職業の履歴値
C_HP(6)体力値
C_MHP(6)体力の最大値
C_AC(6)防具クラス値
C_DEF(6)防御力値
C_M(9*P)攻撃魔法 MP
C_P(9*P)回復魔法 MP

その他 変数

R_A(6*J)職業ごとの能力値の増減値
MI$(18)
V_DBUF(32*24)