ヒッキー共同開発に関するページ > RPG

RPG


コンソールのRPGを作るスレッド - 1489470921 - したらば掲示板
http://jbbs.shitaraba.net/bbs/read.cgi/computer/44607/1489470921/

テーマ

  • 引きこもりが家から出るまでを冒険として、家の玄関を開けたらエンディング

システム

  • コンソールで実行できるテキストRPG
  • ドラクエの戦闘画面の絵が付いていない感じ

開発環境

  • go
  • termbox

ゲームスクリプト

  • XMLで書く
  • 文字の表示
  • 選択肢の表示 (と番号の入力)
  • アンカーへのジャンプ

ゲームスクリプトの具体例 (案)

  • HTMLとしても表示できる感じのフォーマットにする
    • 段落はdivタグ
    • 選択肢はselectタグ
    • 文字の表示速度はdata-rpg属性で変える (cssのように書く)
    • 対応していないタグや属性はスルーする

<html>
<head>
<title>RPGのゲームスクリプトの例</title>
</head>
<body>

<div data-rpg="text-speed:10ms">
最初の段落<br />
text-speed属性で1文字ずつの表示速度を変える
</div>

<div data-rpg="cursor-x:10;cursor-y:20">
カーソルを移動して、その位置にテキストを表示する
</div>

<div data-rpg="text-color:2">
テキストの色を変更する<br />
コンソールなので、0から15の番号で指定する
</div>

<div>
選択肢の表示<br />
value属性でジャンプ先を指定する
<select>
<option value="anchor1">選択肢 1</option>
<option value="anchor2">選択肢 2</option>
<option value="anchor3">選択肢 3</option>
</select>
</div>

<div id="anchor1">
選択肢 1 を選んだ場合
</div>

<div id="anchor2">
選択肢 2 を選んだ場合
</div>

<div id="anchor3">
選択肢 3 を選んだ場合
</div>

</body>
</html>


起動時のコマンド

$ rpg

組み込みのゲームが起動する


引数にURLを入力できる
URLに既定の設定ファイルのファイル名を追加して読み込み、エラーがなければゲームを起動する
設定ファイルが配置されていない場合、ゲームスクリプトがない場合はエラーメッセージを表示する


起動時の処理

  • タイトルを画面中央に表示する
  • ニューゲーム、コンティニューを選ぶ選択肢を表示する


設定ファイル

  • JSON形式で書く
  • ファイル名はrpg.jsonで決め打ち

{
  "name": "ゲーム名",
  "scripts": [
    "001.html",
    "002.html"
  ]
}

scripts内の1番目の要素を起動する


セーブデータ

ホームディレクトリ/.rpg

に保存する

TODO: ゲームごとに保存先のファイルを変える処理を考える

{
  "title": "ゲーム名",
  "line-number": 100,
  "status": {
    "hp": 20,
    "str": 10
  }
}


検証したいこと

termboxで、できることをまとめる作業が必要そう

  • 画面のクリア
  • 文字の上書き
  • カーソル位置の変更
  • 文字色の変更

は、できる想定で考えてた。


懸念事項

  • コンソールのウインドウサイズ (縦横の文字数) は環境によって変わりそう
    • センタリングとか右寄せがきちんとできるかチェックしたい
  • 半角移動した位置から日本語の文字を上書きした時に、画面が崩れてしまわないか

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2017年03月17日 16:42