投稿記事

ローグライトの記事 (11)

白玉餅 2023/08/27 18:34

キャラクタースキルを実装

キャラクターが所有するスキルと、スキルメニューを作りました。

スキル実装の目的

今作では操作キャラクターは変更できる予定です。
キャラクターをスキルによって個性を持たせて、いろんな人に楽しんでもらえたらいいなと目論んでおります。

また、レベル上昇によってスキルが増えるので、攻略の目標にしてもらえることも期待してます。

スキルメニュー

スキルメニューはアイテムメニューとほぼ同じフォーマットで表示。
スキル獲得に必要なレベルもここで確認できます。
アクティブスキルの場合は必要レベルを満たせば、ここで選択できるようになります。

獲得メッセージ

こちらもアイテムと同じように出します。

スキルの必要レベル

前回の進捗で紹介した「空腹」「油断」などの状態異常に相当するアイテム「ココライト」を持っている場合、スキルの必要レベルが緩くなります。
種類によらず「ココライト」所持数だけ実際の必要レベルが下がります。

例えば「回復」の必要レベルが5ですが、「油断」を1つ所持していれば、レベル4で「回復」を獲得できます。
ただし、「油断」を失うと条件を満たさなくなるので一時的に使用不可になります。

アイテム枠を占有する上によくないことを引き起こす「ココライト」ですが、上位スキルを前借する手段として使えることにしてみました。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

白玉餅 2023/08/15 17:45

状態異常とメッセージログを作った

シナリオを書くのが嫌すぎたため、プログラム制作に逃げました。
今回は状態異常とメッセージログの機能を作りました。

▼状態異常


▼新規メッセージ表示処理

状態異常

かなり変化球な実装なのですが、受けた状態異常はアイテム枠1個を占有します。
ネガティブな感情が結晶化した「ココライト(仮)」というカテゴリのアイテムという扱いです。
持ってるだけでよくないことが起こりますが、使用できず、投げることもできないため、効力が切れるまで苦しめられることになります。

▼ココライト

動画では「空腹」を獲得し、元気度の減少が早まっています。
何かしら食べ物を食べると「空腹」は消滅するので、追い詰められる前に食べるとよいでしょう。

逆にポジティブなものも実装する予定です。
「元気」みたいなやつ。
今のうちに感情を表す語彙収集しておこうかな。

メッセージの表示、履歴の閲覧

メッセージ表示

表示させるメッセージ全てが、プレイヤーにメッセージ送りさせるタイプだとあまりにテンポが悪いです。
なので、画面左下に一定時間表示させるタイプのメッセージ表示機能を実装しました。

▼アイテム獲得如きでメッセージ送りさせたくない


▼短い会話でも使えそう

メッセージ閲覧

一定時間で消すということは見逃すリスクも大きくなるわけで……
もちろんいつでも見返せるようにしました。

▼履歴表示

雑談

制作中の苦悩を書き殴ります。
※熱がこもっており、多少口が悪くなります。それと、ちょっと長いです。

ログの処理作っていた時の話なのですが、過去の履歴を表示しようと思ったら今までのメッセージをどこかに保存する必要がありますよね。当たり前の話なんですが。

一番最初、メッセージをテキストファイルに保存してました。
履歴を表示するときにこのテキストを読めばいいわけですね。
……と思ったら、なんかうまくいかないんですよ。

\c[2]てすと

こんなメッセージを保存しようとします。
「\c[2]」はウディタ(僕が使っているゲーム制作ツール)では「以降の文字を赤くする」意味の特殊文字として扱われます。
じゃあウディタの外のテキストファイルに持ってきたらどうなるか?
ウディタ専用の文字なんだから読まれないのは当然として……

・・ ・・・・てすと

こうなります。たぶん環境によって見え方も変わります。困ったね。
メッセージ履歴表示時にも文字色を反映させる夢は潰えました。
他にもアイコンや画像も特殊文字で表現しており、これらも反映できないことになりました。なんと味気ないことか。
……いや、待てよ?
ウディタ側で特殊文字として認識されない、自作の特殊文字作ればよくない!? 僕天才!

が、これがなかなかうまくいかないんですよね。

  • 保存したいときに「\」→「@」に置換
  • 表示したいときに「@」→「\」に置換

みたいな単純なことやってもダメでめちゃめちゃめんどくさいことがわかりました。

▼わかる人用の補足
1回の文字列操作で特殊文字1個完成させるように書かないと「\」以降の文字は消えます。
「\c」の文字列に「[2]」を連結しても無駄です。
半人前の特殊文字は消滅します。

「\c[2]」の例で言うと、以下のような方法で作る必要がありそうです。

  • 「\」は「@」に置き換えて表記することにする。 例)@c[2] と書く
  • 「@c[2]」をログに保存。
  • 文字列操作の「1文字切りだし」を利用して「c[」を読んで、\c[]に変換する必要があることを認識する。
  • ]を読んで、[]に挟まれた文字色ID「2」を認識する。
  • 1回の文字列操作で「\c[2]」を生成する。 ←ここ重要

これを必要な特殊文字全てでやります。
\img[](画像)、\icon[](アイコン)、\E(フチ付き文字)……全部やりましょうね。
いやじゃ。

▼以下つづき
お茶を飲んで冷静になったところでようやく気付きました。
「ウディタ側の文字列変数に保存すればよくない?」
そうです、ウディタ側では特殊文字は特殊文字として保存できます。
そらそうよ。当たり前。バ○なんでしょうか。半日溶けました。
※「\v[0]」などの数値に変わるものは別です。念のため。

今回の苦悩はいずれ「文字をデコった文章を他人と送受信する」機能を作るときに役に立つでしょう。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

白玉餅 2023/08/07 10:42

やっと主人公のデザインが決まった

主人公のデザインをどうするか結構悩んでました。
が、ようやく決まりまして立ち絵とキャラチップもできたのでお見せします。

▼立ち絵の表示テスト

難産だった主人公

前回の記事に書いた通り、主人公のデザインは相棒のゼロ(動画右側のロボット)と対照的なデザインにしようと考えていました。
が、ほぼそれだけのテーマだけで見切り発車で考え始めたためか、デザインが決まるまで時間がかかってしまいました。

「とりあえず基本色白で赤差し込めばそれっぽくできるやろ」
途方もなく見積もりを間違えていました。

ふんわり決まってる主人公の設定

ここから先は妄想です。
動画左の子が主人公のニル(予定)です。

▼ニルの立ち絵

過去の記憶がなく、ゼロのサポートを受けながらあてもなく帰る場所を探すことになります。

「感情が結晶化することがある」という世界観を考えていて、だったら髪飾りやペンダントにそれっぽいものをと考えてこんなデザインになりました。
過去の記憶のトリガーとなる感情がアクセサリーに封じられているとか、そんな設定とか面白そう。
もうすでに闇。

ざっくり考えてるシナリオの流れ

いろんなプレイスタイルを受け入れたいため、プレイ感覚の違う複数のキャラを使えるようにしたいです。
また、攻略のマンネリ化も防げるでしょう。

とりあえずシナリオ上1回は各キャラを使って欲しいので、主人公組以外に操作キャラを変える時はその間ニルとゼロは通信でサポート(もといガヤ)を入れるイメージでシナリオに参加させます。

フォロワー以上限定無料

ニルの4方向キャラチップです。

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

白玉餅 2023/08/01 07:11

立ち絵とキャラチップを表示

※今回は新しく描いたキャラチップをフォロワー限定公開にしています。

こんな感じで立ち絵とキャラチップを表示しました。
▼テスト表示

立ち絵について

それなりの数を描く予定なので

  • サイズは64×64pixel
  • 描くのは右向きだけ
  • 無理して描きこまない

というルールにしました。
絵を描くのは好きだけど、苦手だしキリがないのでサボります。

画面右側に配置する立ち絵は左右反転させるように処理を書いてます。
つまり左右非対称のキャラを右側に表示すると破綻しますが……知らなーい

キャラについて

サラ

画面左側のキャラは前作主人公のサラといいます。
見習い魔法使いですが、過去に2回主人公となって修羅場を潜り抜けてきました。
今作では主人公ではありません。恐らく。

ゼロ(未定)

画面右側のキャラは今回新しく作ったもので、主人公の相棒ポジションのロボットになる予定です。
ダンジョンを攻略する主人公を通信でサポートする感じにしたいなとぼんやり考えてます。
ほとんどの設定がまだふわっふわですが、名前はたぶんゼロになりそう。

肝心の主人公はまだ外見の案が固まっておらず、描けてません。
人間だけど、ゼロと対になるようなデザインがいいかな〜とかぼんやりと思う。

フォロワー以上限定無料

新規キャラチップの4方向アニメーションを載せてます。

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

白玉餅 2023/07/24 11:46

アイテム作ってる時が一番楽しいよね

新規アイテムを4つほど作りました。
長くなってしまうので、そのうちの2つ「トンネルの杖」「ヒトツメの魔導書」を紹介します。

新規アイテム

▼使用シーン

トンネルの杖

杖なので、複数回使えて、魔法弾を発射するタイプのアイテムです。
魔法弾を壁に当てると、壁をまっすぐ掘り進みますまんまシレンのパクリじゃん。

▼トンネルの杖でまっすぐに壁を破壊


ただし、地雷やアイテム、ゴールなどのオブジェクトがある場所は掘れません。
そして、掘れなくなったところで終了します。
壁がない空間を貫通してトンネルを掘ったりすることもありません。

想像よりも使い所の難しいアイテムになりそうです。

▼調子が良ければいっぱい掘れるけど……

ヒトツメの魔導書

前作には「ヒトツメの巻物」というアイテムがありまして、それとほぼ同じ効果のものを作りました。

読むと、数字1がある場所すべての壁を破壊します。
ただし、今回は「今いる部屋の中の」という条件を追加しました。

▼ヒトツメの魔導書で1の壁を破壊


元がぶっ壊れ性能だっただけに、かなり控えめになりましたね。
それでも強そう。

雑談

バランスのことを考えず、とりあえずアイテム考えてる時が一番楽しいですよね。
僕の場合はプログラム(スクリプト)を書くのも好きなので、一粒で2度美味しい。
絵も仮置きするだけなら描かなくてもいいし最高。

楽しい作業は後に取っておいたほうがいいという話もありまして……気分転換として使うこともできますからね。
なので、残りの楽しみは後に取っておきます。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

« 1 2 3

月別アーカイブ

限定特典から探す

記事を検索