preview.0004)今日は新しいプレビュー版を公開します。preview.0004History.txtまだ、これまで創ってきたパーツがひとつに繋がったとはいえない状態ですが、前回のプレビュー版から1ヶ月たっていますし、そろそろアップデートしておこうかな、と。preview.0003からの更新点は、第13、14次報告の内容と今週の作業分ということになりますね。今週の作業ですが、フィールド画面でのコマンドメニュー「パーティ」コマンドを実装していました。フィールド上でコマンドメニュー(スペースキー)を開いて「パーティ」コマンドを選んだところです。プレイヤーのステータスが表示されます。この画面では、カーソルキー左右で主人公とパートナーキャラを切り替えられます。ちなみに主人公の名前が「ケン☆シロウ」という寒い(苦笑)名前なのは、上限の6文字でいい名前が思いつかなかったからです。名字が「オレの名前は」となっているのも同様です(^^;「パーティ」コマンドの背景には、1枚絵を表示するようにしてみました。画像素材はタイトル画面の背景でお世話になっている「多趣味多芸@-Wide&Shallow-」さんの素材を利用させていただいています。画面の右上にはいくつかコマンドが表示されています。今のところ選べるのは「装備品」だけです(^^;「装備品」を選んだところです。ほか、「装飾品」を3つまで装備できます。各装備品にはSSにあるように、結構いろいろなパラメータが設定されています。中央のウィンドウをよく見ると「レベル」やら「熟練率」という表記もありますね。「装備品」も成長します。以前「nayuta」では成長を楽しむゲームにしたいと書きましたが、プレイヤーだけでなく装備も鍛えることができるわけです。イメージとしては、使えば使うほど手に馴染んで武器の切れ味が増す、という感じでしょうか。...逆にいえば、手に入れたばかりの頃は武器の力を完全に出し切れていないので能力が低い、といえるかもしれません。各装備品のレベルには上限が決められています(上記SSでは10レベルまで)。武器なら、ひたすら攻撃力を強化するのもありだし、あるいは弱点(装備品によってはパラメータがマイナスからスタートする場合もある)を補強して使い勝手の向上を狙う、とかいろいろ悩んでもらえるとおもしろいなぁ、とか考えています。レベルの上限も一律ではなく、レアな装備品はもっと上限レベルが高かったりするので、敵を倒したときに「レアアイテムキターーーー!」とか盛り上がるといいなぁ、とか(笑)。ま、妄想系は置いておいて(^^;「ノービスソード」(アイテムデータは全て仮です)を選んでみましょう。左側SSのように、いくつかのコマンドが表示されます。初期状態では「ノービスソード」を装備しているので「装備を外す」というコマンドもあります。今週はこの「装備する/装備を外す」関係の処理を作っていました。今度は「やたら重い剣」を選んでみると(右側SS)「装備する/装備を外す」コマンドがありません。「やたら重い剣」は(現時点では)装備できないからです。攻撃力/15」とあるとおり、この剣を装備するにはプレイヤーの能力値「攻撃力」が15以上必要になります。続いて「ノービスソード」の「強化」を選択するとこの画面になります。「GP(成長ポイント)」を消費して各パラメータを増やすことができます。「必要GP」の欄に「強化不可」とあるように装備品によっては強化できないパラメータも存在します。来週は、この「強化」画面の続きを作成していきます。(phase.0100)先週はフィールド画面での「魔法詠唱」「アイテム」コマンドの実装を行っていました。フィールド上で「魔法詠唱」コマンドを選んだところです。パワー」→「ターゲット」の順に決めていきます。「アイテム」コマンドを選んだところ。こちらは「アイテム選択」→「ターゲット」の順に決めます。一度バトルで同じような処理を作っているので、すぐできるかなと思っていたのですが、ひと通り動作させるまでにはそれなりに時間がかかってしまいました。共通の処理をベースクラスに移動させるためにプログラムを整理したり、画面レイアウトを検討(結局、上記のようにバトルとの差がありませんが)してみたりと作業としては難しくなかったものの、あんまり楽しくなかったなぁ(苦笑)。あと、これまで手を付けてなかった、使用できる魔法やアイテムがひとつもない(初期状態ですね)時の処理やら、フィールド画面ならではのプレイヤーが死んでいて魔法を詠唱できないときの処理を入れました。この手の処理としては、選択できない項目にはカーソルがいかないようにするパターンと、上記SSのように使用できない旨を表示するパターンの2通りが考えられます。前者はすでに実装済みで、戦闘中コマンドでは「スキル」を選べない(まだ作ってないので)ようになっています。これと同じように処理してしまう手もあったのですが、ここはあえて後者のパターンで作ってみました。コマンドを選択できない理由を表示した方が親切かなと思ったからです。その他細かい処理では、フィールド〜バトル間でパラメータを持ち越すようになったり(これまでは1回戦闘が終わると常に体力が満タンに回復...というか、パラメータの持ち越しが入ってなかった)、プレイヤーが死んだ状態を引き継ぐようになりました...って、当たり前の処理がいくつか入ったという感じですね。ここまでで、回復手段はアイテム&魔法、ただし使い切ったらおしまい、復活手段は一切なしでどこまでダンジョン探索ができるかという割とシビアなゲームが遊べるようになった、といえるかもしれません(^^;そろそろ次のプレビュー版も見えてきたかなということで、今週は「パーティ」コマンド(ステータスやら装備やら)を作っていきます。(phase.0095)少し間が開いてしまいましたが。先週は、フィールド(ダンジョン)画面の続きを作成していました。これまで使用していた仮マップデータを差し替え、3階層のダンジョンを用意しました。イメージとしては、ゲームを始めて最初に潜る比較的低レベル向けの初心者用ダンジョンです。今回新たに出入り口(左側SS:地下1階)と上下階段(右側SS:地下2階)のキャラを追加しました。出入り口に関してはまだダンジョン外が存在しないため同じところにワープしてしまいますが(苦笑)、階段の方は次の階層に繋がっています。階段の処理について書いておくと、いろいろと実装の方法があると思います。今回、WindowsPCという比較的リッチな動作環境なので作りやすさ優先とし、地形当たりデータに階段当たりを埋め込むようにしました。以前紹介したマップエディタ「Platinum」は階層構造(レイヤー)を持つことができるので、2階層目(レイヤー1)に階段当たりを置きます。当たりキャラはこんな感じで、とりあえず階段00から階段0Fと宝箱00〜1Fがあります(当たりデータとしては0x10〜0x3Fとなる)。白い四角のキャラは通常の壁当たりで、これは地形(マップキャラの床以外は全て壁とする)データからマップデータに変換するツールが生成します(自分で置く必要はない)。「Platinum」でマップデータ(マップチップキャラを組み合わせたもの)を作って自前の変換ツールを通すと、いったんマップデータから壁と床だけの地形当たりデータが吐き出され、次にレイヤー1の階段&宝箱当たりが上書きされます。これが最終的な地形当たりデータになります。階段当たりが1個だけでなく番号を振った複数個存在するのは、階段の処理には飛び先のステージ番号やらプレイヤーの位置情報が別途必要になるからですね。上記の当たりキャラから「1フロアにつき階段16個、宝箱は32個まで置ける」仕様ということになります。...宝箱の方はまだ処理を作ってませんが(^^;次に、フィールド上でのコマンドメニューを作成していました(こっちはまだ途中)。こんな感じで、フィールド上でスペースキーを押すとコマンドメニューを開きます(リターンキーは「話す&調べる」コマンドにする予定)。今回プレイヤーのHPとSPを表示するウィンドウ(俺内部ではインフォバーと呼んでます)も更新しました。フィールドではレベル、バトル中にはフェイズカウンタを表示するようにしたのとHP・SPバーに枠線を追加したほか、見た目も少し変わっています。「魔法詠唱」コマンドを選んだところ。今はまだフィールド上で使えないはずの火属性の魔法が表示されていますが、気にしない(^^;「魔法選択」やら「魔法パワー」「ターゲット選択」のウィンドウは、基本的にはバトル中のものと同じで良いわけですが、さすがにそのまま持ってこれないので、共通の処理をベースクラス側にまとめているところです。今週の作業はこの続きになります。preview.0003)プレビュー版第3弾を公開いたします。今回の更新内容は「アイテム」コマンドの追加です。History.txt「アイテム」コマンドの説明の前に余談をひとつ。ここまで制作を進めてきて、まだ構想だけというか、頭の中にしかないシステムってのがいくつかあります。その中のひとつ、「妖精さん」について語っちゃいましょう。これはフィールド画面やバトル中にプレイヤー(主人公)の周りを妖精キャラが飛び回っていたら絵的におもしろいんじゃないだろうか、というのがそもそもの発端でした。飛び回るだけだと意味ないし、セーブやら冒険の記憶(プレイ時間とか戦闘の回数とかいろいろ記録するという割とありがちのもの)を妖精さんにやらせたらどうかな、と思ったわけです。他にもゲームの舞台や世界観やらの説明役としても使えるな、ということで「アイディアメモ(妄想メモ、ともいう(笑))」にはいろいろと書いてあります。日の目をみることができるかはさておき(^^;「nayuta」での「アイテム」はパーティ共通の持ち物ということになっています。「薬草」やら「毒消し草」をひとりひとりが別々に持つのではなく、ドラクエでいう「ふくろ」で一括管理するということです。戦闘中にアイテムを使いたければ全員共通の「ふくろ(「nayuta」でふくろとは呼びませんが)」からそれぞれが取り出して使えます。これは俺自身がドラクエ等のRPGをプレイしている時にキャラクターごとに「薬草」を持たせるのが面倒だったり、戦闘中に「袋にはあるのに(持たせてなかったから)使えない」のが悲しかったからで、それなら「袋から直接使えるようにしたれ」という流れからの採用です。ユーザー的には楽ちんなシステムだと思うのですが、実際の風景を思い描いてみると「いったいどうやって受け渡ししているんだろう?」という疑問が浮かびますね。アイテム袋を空中に放り投げているんだろうか...。...空中...飛ぶ...妖精さん...妖精さんがせっせと袋からアイテムを取り出して使いたい人に運ぶ!いいじゃん、これ。名付けて「妖精さん空輸システム」でどうよ(笑)。ま、実際に「空輸」するシーンが見られるわけではありませんが、イメージとしてはそんな感じです(笑)。「アイテム」コマンドを選んだところです(左側SSが1ページ目。仮でいくつかのアイテムを持たせています。アイテムは最大64種類(8ページ分。1種類につき99個まで)持てますが、とりあえず12種類用意してみました。「お香」シリーズは回復アイテム、「爆竹」シリーズは攻撃アイテムです。アイテム欄の先頭にある「愛の魔宝石」というのはドラクエでいう「けんじゃのいし」と同様に、パーティ全員の体力を回復してくれます。何度使ってもなくなりません。左側SSが「愛の魔宝石」を選んでターゲットを選択しているところ。右側は「山盛り爆竹」を選んだところです。ちなみにスペースキーでキャンセルして前の画面に戻れます。このウィンドウは「魔法詠唱」のターゲットウィンドウをいろいろと改良して使っています。今回からターゲットがプレイヤーの時は蒼いウィンドウ、敵だったら赤と背景色を使い分けるようにしてみました。実際にアイテムを使う処理は「魔法発動」とだいたい同じ流れです。...と、ここまで書いてきてひとつ問題が。「魔法詠唱」と「アイテム」のターゲット決定は上記のウィンドウで行います。操作はカーソルキー上下がターゲット選択、左右でレンジ(範囲)切り替え(切り替えできない場合もあり)です。「武器攻撃」だけは左右でターゲット選択(&カーソル移動)となっています。う〜む、「魔法・アイテム」側で操作を統一した方がよさそうですね。これは改良しなきゃなぁ。今回の「アイテム」の実装で、バトル時の基本コマンドがひとつを残してだいたい出揃いました。残りのひとつは「スキル」ですがこれはちょっと後回しにするとして、次回以降はしばらくフィールド画面(ダンジョン)の続きを作っていこうと思います。1階層しかないダンジョン(しかも出入り口もない(苦笑))を3〜5階層くらいに拡張して、ゲーム開始後最初のダンジョン探索をできるようにしたいな、と。具体的には階段の設置やらフィールドでのコマンド画面(「装備」とか「ステータス」とか)の実装関係ですかね。preview.0002)ようやく「魔法詠唱」の基本システムが実装できたので、プレビュー版第2弾を公開いたします。History.txtでは「魔法詠唱」の流れを説明しましょう。今回から画像の縮小方法を変えたので文字が読めるようになりました(苦笑)。プレイヤーのコマンドメニューから「魔法詠唱」を選ぶと左側SSのようになります。この画面で、使用したい魔法を選びます。)を切り替えられます。ちなみに魔法の名前は仮です。今のところ、どの魔法を選んでも同じ効果(敵にダメージを与える)ですが、光属性の魔法だけは違っていて、プレイヤーの体力を回復できます(右側SS)。魔法を選ぶ(リターンキー)と次は「魔法パワー」「レンジ」を決めます(左側SS)。「レベル」と表示されているのが「魔法パワー(威力)」です。「レベル4」まで選べるようにしておきました。レベルを上げると画面右上の「必要SP」と「フェイズ」が増えます。「フェイズ」とは、バトル中の時間のことで「nayuta」ではターン制ではなく、半リアルタイムでゲームが進行します。)を選ぶと行動に応じた「フェイズ」がそれぞれ加算され、フェイズカウンタが「0」になれば実行できるという仕組みです。ちなみに画面下の「PHASE」というのがプレイヤーと敵の現在のフェイズカウンタです。現時点ではデバッグ文字で表示していますが、実際にどのように表示するかは検討中(表示しないかもしれない)です。バトル開始直後には敵味方関係なく全員フェイズカウンタが「0」からスタートします。いっせいのーで、って感じですね。PL1→PL2→EM1→EM2の順にフェイズカウンタを調べる仕様(同時に「0」になった場合はプレイヤー側有利)なので、バトル開始時はPL1から順にコマンド入力することになります。「魔法詠唱」コマンドでの「フェイズ」ですが、これは詠唱時間です。魔法パワーを上げたりレンジ(範囲)を広げると、それだけ魔法が複雑になり詠唱に時間がかかるというわけですね。魔法パワーを決めるとレンジの方にカーソルが移動します(右側SS)。こちらのメニューでは、カーソル上下でターゲット(上記の場合では敵)の選択、左右でレンジ(単体、2体、全体)の切り替えです。今版では単体と2体を選べるようにしておきました。そうそう、今のところ敵のHPやパラメータは全て同じ(敵の種類関係なく)にしてありますので、魔法パワー「レベル2」、レンジ「2体」で魔法攻撃をかけると一発で全滅させられます(笑)。光の魔法(回復系)を選ぶとこんな感じ。回復するプレイヤーを選びます。基本システムの実装を最優先に進めているため、魔法発動の演出等はまだ入っていません。メッセージだけです(^^;どうにもショボショボですが、ヒットマークやらの効果の追加はもうちょい先になりそうですね。今週は「アイテム」コマンドを作成していく予定です(とりあえず、回復アイテムの使用処理かな...)。