Takunojiのプログラミング・プレイグラウンド(遊び場)

Javaプログラミングを基本にして、ゲーム作成に必要なことの調査結果、やったら面白そうなことなどを記載します。プログラミングのススメ的なことも記載します。プログラミングで楽しく遊ぶために色々と記載して行きます。

Java Console Game〜キャラ作成、仕様作成〜

イントロダクション

今迄、Javaの基本的な事を学習(実装)しながらコンソールゲームの元を作ってきました。
ポイントとしては、Javaの基本パッケージ(JavaSE)のクラスにあるList, Map, String配列などをかいつまんで実装しました。
そして、今後の方針としては「テキストRPG」の実装に向けて必要な技術を習得しながら製造していこうという次第です。

まずは仕様を決める

プログラミングで最も難しく、楽しい部分「仕様作成」です。
まずは、作成するイメージ(やりたいことを考える時と同じ要領です。)

イメージを形にする方法

上記のリンク「やりたいことを考える」に詳細は記載していますが、大雑把におぼろげなイメージから具体的な実行するべきことを洗い出す手順を記載しています。

今回の仕様

RPGについて考えてみると、下のよう要素が必要だと思いました。詳細に関してはこちらに記載しています。

  1. ストーリー、世界観、などの設定(前提)
  2. バトルシステム、戦い(競争)のルール
  3. ゲーム(プレイヤー)の目的(何かを育てる、魔王を退治など)

そして、コンセプトとして配下のようなものをイメージしています。

リアルとファンタジーの交差点

「リアルとファンタジーの交差点」というのは以下のような要求から出てきました。

  1. ゲームと現実を部分的にリンクさせたい
  2. 現実で頑張ったことなどをゲームにフィードバックしたい
  3. ゲームとして楽しめる読み物にしたい

これらを網羅するための1番の障害となったのは「リアル」と「ファンタジー」のリンク方法でした。
ここの部分の解決策として(100%満足ではないが。。。)「世界中の神話」に着目してみました。理由は「現存する神話の足跡がある」という事実があるからです。
例として、以下のものをあげておきます。

  1. ウルル(地球のヘソ)
  2. アーサー王物語などに出てくる土地や人(書籍)
  3. 天の岩戸(古事記)

などがあげられます。

今回作成する「テキストRPG」はゲームブックと近しいものを感じたのでサンプルに「ドラゴンクエストⅢ(ゲームブック)」をやってみました。

ゲームブックをやってみる - Takunojiのプログラミング・プレイグラウンド(遊び場)

ゲームブックをやって見る2〜テキストRPGを作るために〜 - Takunojiのプログラミング・プレイグラウンド(遊び場)

このドラゴンクエストⅢの現実との接点に関しては「ムウ」という土地(楽園)があげられます。ストーリーの中ではウワサの「ムー大陸」かどうか?に関しては触れられていません。が「連想」させるのは否めないところだと思います。結局のところは「そーかもしれない。。。」の領域を出ませんが、それはそれでよいことだと思います。

キャラク作成

正直のところ、まだ確定の領域まではきていないのですが、割と身近にあるファンタジックなものの1つとして「占い」があると思います。そして、パソコン(計算機)との相性が良い占いとして「数秘術」に着目、使用する事にしてみました。

数秘術の特徴

大雑把に、生年月日、名前などから数字を導き出して一定の法則ものと計算した結果を占いに使用するというものです。ちなみに自分は占い師ではないのであくまで「調べてみた」結果です。 この占いで導き出した「XXナンバー」が被術者の今後や運命などを決定づけるキーになります。

ゲームでの用途

上の「XXXナンバー」をゲームで使用するキャラクターのステータスや特徴に紐付けしてキャラク作成を行う想定です。

情報整理

まずは整理してどのような形で表現するか?に対する答えを出していきたいと思います。 つまり、数秘術で使用する「数字」=「占いの判定材料」を一覧化してどのような用途に使用するか?を決定していく作業になります。

数字のカテゴリ

参考にした書籍によると以下のような分類ができます。下のリンクは広告です。

<前提として書く数字は11種類ある>

  • 普遍数: 数秘術で使用する土台(基本)になる数字
  • 人格数: 生まれつきの性格、行動パターンなど
  • 運命数: どんな生き方をするか?の特徴を示す
  • カルマ的な数: カルマ数、ハート数、意思数がある

上記の分類ができるようで、ここからステータス or キャライメージに結びつけたいと思います。前提としては、表現方法が「文章」であり、「絵ではない」ところがミソです。

上の各分類の数からして、作成できる項目数は「11 x 4」の44個になります。

今回のゲーム(RPG)で使用したい項目 = 表現したいパラメータは以下の通り、なのでこれらを下のパラメータに振り分けます。

  1. HP: 生命力(ヒットポイント)
  2. MP: 魔法力(マジックポイント)
  3. 力: 物理攻撃力(体力テストから算出)
  4. 素早さ: 攻撃時に、先手を取りやすい
  5. 知力: 知識の応用力、パズルやナゾナゾ、問題の解決をした回数
  6. 協調性: 算出方法検討中、ゲーム内の「パートナー」との連携力を示す
  7. 行動力: 算出方法検討中、ゲーム内の魔法の効力を決定する

今のところは上記のような感じで分類しようと思っています。 となると、数が全然違うのでちょっと頭をひねります。

プログラマちっくに

上に紹介した本を見てみると普遍数の説明部分に以下の特徴を分類するカテゴリが載っています、ラッキーな事にこれが丁度7つ(笑)。でわ早速。。。

数秘術の本>

  • 基本原理
  • 心理機能
  • 高次の性質
  • 様相
  • エレメント
  • 支配星
  • 人物像

上記のパラメータの数が7つなので上記の普遍数を7バイトの2進数に変換します。

ちょっと記事が長くなってきたので次回に持ち越します。

でわでわ。。。