投稿記事

進捗報告の記事 (22)

[進捗]5月の活動報告

こんばんは。

5月の活動報告です!🎏


先月は久しぶりに「眠れる勇者のRPG」の作業に戻ったテンションから、
思いつきで街の散策パートなど実装してました。


今月は打って変わり、後回しにしていたもろもろの雑作業をこなしていました。

ビバ・地味作業!!😇

(※AI関連活用の話題が含まれるためうんざりな方はご注意)



ChatGPTの活用つづき

先月はモブのセリフにChatGPTを活用するツールを作成してましたが、
引き続き汎用的な用途に使えるようにツールの拡張を進めました。

汎用化してるので何にでも使えますが、現在のところ各街の設定やアイテム類のフレーバーテキストなど、ブレインストーミング形式でのアイデア出しに活用しています。


武器の名前とフレーバーテキスト

https://twitter.com/thiropGames/status/1653665083883683842

ネーミングセンスが皆無なので、ひと世代前のGPT3.5くんでも私の名付けより良さげ🤸‍♂️



街の設定案BS

https://twitter.com/thiropGames/status/1653723178114646016

最初に簡単なコンセプトのみ与えて、


名前→歴史→文化・産業→クエスト概要→依頼人の設定→導入会話


と順にブレインストーミング形式で案だしをして、良さげのものを修正しつつ採用していきます。


例えば歴史設定を決定したら、その歴史設定も変数として与えて文化・産業の設定を練ってもらうので徐々に設定の解像度が上がっていきます。

最終的に欲しいのは街で発生するサブクエストのアイデアなので、道中はわりとおかしな部分があっても気にせず進めていきます。


最終的に生成されるクエスト案もそのまま使えるものではありませんが、自分で0から設定を練るよりもずっと手早くおおまかな流れをまとめられるので👍


キャラの性格や特徴

ストーリーを考えるのはパズル的に理詰めで作れてあまり苦手意識はないのですが、シナリオと直接は関連しないキャラの趣味や好きなもの・癖といった細かな性格を掘り下げるのは自分は苦手だったりします。

こういうのもChatGPTを使ったブレインストーミングがかなり有効です。

まぁ、精度はお察しなのでこれもたくさんガチャって良さげな要素を少しずつピックアップして固めてくのが◯



生成したデータの管理をしやすいようにAPIを通じてChatGPTを使ってますが今のところ3.5しか使えないので若干精度が悪く、早くGPT4を使ってみたいです。
(4は別途申請して順番に解放されるみたいだけど、いつになるやら……)

また、ローカルで動くLLMモデルもすでにいくつか出ており、(ChatGPTより精度は悪いものの)日本語対応のものもあるみたいです。

ローカルで動くのであれば、世界観設定やシナリオプロットなど大量の変数を渡してより精度の高い案だしも行ってくれるはずなので、高性能なモデルがそのうち出てくれると嬉しいですね🤞




画像生成AIの活用

過去進捗を見てる方はご存知かとは思いますが、「眠れる勇者のRPG」では主に街の遠景マップに画像生成AIを活用予定です。

画像生成AIについては世論が真っ二つに分かれてセンシティブ以上にセンシティブな話題となってますが、拙作においては

  • 日本では現状、AIの使用自体は適法(生成物が他者の著作権を侵してるかが焦点)
  • (こんなマップを旅できたら)自分自身がワクワクする!

という2点でAI使用を採用してます。


……たびたび、自分の創作は「辞世の句」みたいなものと言ってたりしますが、
自分のゲーム制作は「自分がワクワクするゲームを作りたい」の一心で制作しており、
街背景へのAI使用に限ってはあらゆるリスクを負っても採用したい、
そう強く思った次第です、はい。

(※AIに関する法整備はなんらか進展があると思うので、リリース時点での法規制に従うつもりです。)


生成管理ツールの制作

当初はMidJourneyを駆使して画像を生成する予定でしたが、

  • Discordに張り付いて1回1回手動で生成ガチャをしなければならない
  • 生成した画像を管理するのが手間

という2点で厳しいなぁと感じてローカルでStableDiffusionを動かせる環境を整えました。

(10数年ぶりにWindows機を調達しましたが、すっかりマカーに調教されてしまい操作に違和感がが……)


(↑マングローブ+ジャングルなイメージで生成の様子を垂れ流し。)

こちらも自分用のツールなので細かい解説はしませんが、

  • 生成ガチャを回しながらプロンプトの編集(ChatGPTと連携した翻訳機能つき)
  • ランダムに採用されるワード機能
  • 生成画像をクリックで評価して間接的にワードの評価
  • 気に入った画像からのI2I
  • タグをつけて決定稿の管理

といった機能をつけて概ね快適です。
(量を賄うため日常習慣に組み込めるよう操作性はかなり作り込んでます。ご飯食べながらとかちょくちょく準備していく予定)


APIでは使用できない機能があるので、最後に生成した画像をWebUI1111本体にインポートしてアップスケールとインペインティングでの余計な人物除去などを行って完成です。

おそらくゲームを通して街が50ほど登場する計算になりますが、遠景マップに関してはなんとか用意する目処が立ちました。たぶん🤸‍♂️



クラファンプラグインの導入

クラウドファンディングで制作した自動装飾プラグインやマップオブジェクトプラグインの導入を行いました。

……毎度のことですが、

  • 本プロジェクトでプラグインのプロトタイプ制作
  • →機能をまとめてプラグイン化

という流れなので、自創作のプロジェクトで採用しているプラグインのほうが機能が劣っているという本末転倒なのですが、今回はしっかりとプロトタイプのプラグインからクラファンプラグインに移行しました。

https://twitter.com/thiropGames/status/1658960836981841922


なお、未だにツクール本体はMVを使って作業しているのですが、マップ制作は明らかにMZの方が優れているためマップ制作用のMZプロジェクトを別途用意して自動装飾プラグインはそちらに組み込みました。

  • タイルセットデータ/画像
  • マップデータ

を両プロジェクト間で同期する仕組みを作りました。
素直にマップ制作はMZ、それ以外はMVと分業できそうです。



導入ついでにフォグプラグインのアップデートなども
https://twitter.com/thiropGames/status/1659161175194738689



タグの日

スーパーゲ制デー

スーパーゲ制デーは仲間キャラとの会話イベントの進捗を紹介しました。
https://twitter.com/thiropGames/status/1657038672531714050

……先月すでに出来ていた内容ですが、わざわざ温めて取っておきました。

以前は我慢できずにすぐに放出し、「タグの日に紹介すること無い!どうしよう!」

とあわあわしていたものですが、成長して我慢することを覚えました!偉い🤞

(え、6月のスーパーゲ制デーのネタ…?知らない子ですねぇ…)

プレミアムツクールデー

たまにはゲームを紹介する内容のツイートをしてみようと、雑に進捗動画を詰め合わせたりキャラを並べた画像を用意してみました。

https://twitter.com/thiropGames/status/1658605302646972416

意外と好反応で嬉しみ!


時期によって進捗内容が偏ってしまうので、ゲームの全体像を短時間でしっかりと伝えられるPV的なものを早く用意したいところです。




細かなシステム整備

ひたすら後回しにしていた細かなシステム整備を行いました。

ダンジョン探索シーンから散策シーンへの遷移

動画をみても「だから何?」といった感じですが、

これで重要なイベントシーンやボス戦前に、パース付き遠景マップに飛ばして臨場感のあるキャラ演技を見せたりできます。

自分的にはかなり重要!!


見逃したイベントの再生

https://twitter.com/thiropGames/status/1662827500844765189

オープンワールドなRPGではサブイベントはシナリオのどのタイミングで訪れても違和感ないような内容になっていることが多いですが、本作では

  • サブイベントにもメインキャラを絡ませたい
  • そのときどきの心情に沿った会話内容にしたい

と考えており、基本シナリオ進行と連動した時限イベントとなる予定です。


そこで、バランスを取るために見逃したシナリオをあとから体験できる仕組みを設けました。

やりこみコンテンツの夢夜世界で取得できるレアアイテムを使うことで、基本的に取り返しのつかないイベント逃しというのはなくすつもりです。

ソシャゲ形式のスマホゲーで周回プレイは想定しないため、ここらへんのバランスは重要ですね。

(※プレイヤーが結末を選ぶ真のRPGを謳うソシャゲは惜しむらくもサ終してしまいましたね…。拙作はとても分岐シナリオに手を出せそうもないですが、クリア後の世界で各キャラENDとか作れればいいなぁとか考えてたり。)


会話イベントの回想

https://twitter.com/thiropGames/status/1662826299860332546

街中で発生する仲間キャラとの会話イベントも回想できるようにしました。

キャラごとに「友情度」「親愛度」といった関係値が設定されており、会話イベント内の選択によってキャラクターの特性が変化します。

(※あとは先述のとおりキャラごとのエンディング作れればいいなぁ)


パーティーキャラの離脱

https://twitter.com/thiropGames/status/1663158876764803074

ソシャゲと違い(?)、シナリオと連動してメインキャラは離脱・再加入します。


……キャラの永久離脱は、どうでしょうね?

(すっかりフロム脳なので物語終盤なんてのは特に意味もなくみんな消えてくくらいでいい気がしちゃってるのですが、ソシャゲ形式だとそうもいかないですからね……。そこらへんの落とし所はお楽しみにということで)


電信機能

街の名声を上げると、離れた街の店の品揃えやクエスト発生状況といった施設情報を確認できるようになります。

https://twitter.com/thiropGames/status/1663510901566361602


仮に「電信機能」と名付けているのですが、「電気がないのに電信とは?」とか悩み中。
(安易に「魔法」とか「魔導」とかつけるのもなんか負けた気がして(?)、うーん。)


どうせ中世設定で作ろうとしても創作を読み慣れた人たちが納得できるような世界観を作り込めるスキルはないので、いっそ1900年前後の近現代のイメージもありかなとか。

シャドウハーツとかゴールデンカムイとかGosickとか、あのあたりの時代の物語がわりと好きだったり。

博物館でその頃の開拓史とか触れるのも好きなんだけど、あの時代って新しい技術や生活へのワクワクとか、人々が新しい土地や技術を開拓していく熱量が感じられてなんか良いんですよね。

科学とオカルト(宗教や信仰・都市伝説)が混沌と混ざりあってる感じも良き。


……時間さえあれば世界観設定もちゃんと作り込みたいですけど、作業量が膨大なRPGだとどうしても優先度が落ちてしまって結果ナーロッパが生まれてしまうのは致し方なしなのですよね🤯




幻牢トラップのギミック追加

https://twitter.com/thiropGames/status/1663536885627748353

ダンジョン内のギミックも少しずつ作らないとなぁと重い腰をあげて息抜き作業枠として並列して作業を進め始めました。


宝箱が無いと「トラップ」として面倒なギミックイメージでしたが、目に見える報酬を用意すれば楽しさが増えていいですね。

幻牢トラップはあくまでダンジョン探索をマンネリさせないためのスパイスなので、成功したらラッキーくらいのゆるさの予定。




5月の進捗はこんな感じでした。

かなり雑多な内容でしたが後回しにしていた作業がいろいろ片付き、いよいよ来月(6月)でゲームシステム部分の大枠が出来上がりそうです!

まぁ、テストプレイを始めたらまた修正地獄に突入するのですが、それでもシステム全体を通しで遊べる環境が整えば制作モチベーションもぐっと上がるはず!

来月も細かな作業が続きますが踏ん張りどころですね🤸‍


システムが出来れば、制作メンバーの募集なども行う予定です。

  • UI
  • BGM
  • キャラ歩行/戦闘グラ

外注でも良いのですが、どうせなら目指すゲームの方向性に賛同してもらって利益供与(+成果物単価)で一緒に制作してくれるメンバーが見つかると嬉しいですね。




怪文書雑記枠のネタもあって書きたくてウズウズなのですが、長くなりそうなのでまた今度にでもノシ

https://twitter.com/thiropGames/status/1653891449321304065

https://twitter.com/thiropGames/status/1660281828132139009

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

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

[進捗]4月の活動報告

こんばんは。

義務でもなんでも無いけど3月まで活動報告を書いてたので、途中でやめるのも気持ち悪くて筆を手に取っているシロップです。

(しかし、もう4月が終わりですね。3月の活動報告が4月頭にずれ込んでたので余計に短く感じます…)


クラファン作業が一段落して今月からはいよいよ「眠れる勇者のRPG」の制作に戻り、

本腰を入れてドシドシと進捗して……行ったのでしょうか??

はてさて。


街の散策システム

https://twitter.com/thiropGames/status/1644672474720894978

眠れる勇者のRPGは基本ノンフィールドRPGの設計なのですが、ふと、


「やっぱりキャラを動かしたい!!」


と思い立ってしまいました。

キャラを動かすと世界の中にいる実感が湧くし、動かすキャラにも愛着が湧くというものです。

むしろなぜ、ここまで放置したし…!
(ゲーム制作開始時はコンパクトなゲームを想定していたので仕方ないのですが……)


衝突判定の実装

https://twitter.com/thiropGames/status/1644266818977284096

今までパース付きマップはイベントシーン専用に考えてたので衝突判定や専用の操作移動システムはいらなかったのですが、ガッツリと作り込みはじめました。


トランジション

https://twitter.com/thiropGames/status/1645739014136430593

↑遠景マップは画像生成AI頼みです。
基本的に生成AIはじゃじゃ馬で街内のマップ間の整合性を取るのは難しいと思います。

クロスディゾルブをもっと長めにとって、大きく転換してる感じを出したほうがいいかもですね。
(マップ切り替え時のクロスディゾルブはデフォであっても良さそうですよね。)

あとは中世ヨーロッパ風の街にこだわらず、もっとファンタジーを活かして街ごとの特徴を尖らせることで相対的に街内のマップのずれを小さくできるかなとか考えてます。


遠景マップの設定ツールの改善

https://twitter.com/thiropGames/status/1645740825002016769

やっぱり効率化ツールを作るのはたのしー


プレミアムツクールデー

https://twitter.com/thiropGames/status/1647616587392794625

散策システムのモックがなんとか完成。

動画中でも述べてますが、街の散策システムのメインにスターオーシャンシリーズのプライベートアクション的なのを入れる予定です。

(……というより、進捗に出してませんが実装しました。めませかでPCキャラが街を徘徊するシステムが気に入ってるのですが、パーティーキャラがマップ上にいると世界に一個人としてちゃんと存在している感があって好きです。特に眠れる勇者のRPGはソシャゲに寄せている関係でキャラ=資産的な側面も大きいので、キャラの実在を感じてもらう良いきっかけになるかなと思います。)


フキダシウィンドウ

https://twitter.com/thiropGames/status/1647919790605103105

フキダシとメッセージウィンドウ、どっちを使うか悩む人もいるかと思いますが自分の場合は判断基準はわりと明確です。

  • キャラの動きを見せたいときはフキダシ
  • 散策中のちょっとした会話はフキダシ
  • テキストをじっくり読ませたいときはメッセージウィンドウ
  • 立ち絵の表情を見せたいときはメッセージウィンドウ

テキスト編集ツール

https://twitter.com/thiropGames/status/1649345844074917888

イベントシーンの制作効率化のためにテストプレイしながらテキストやスタイルをぱっと編集できるようにツール化。

テキスト演出は気まぐれで思い出したように設定してしまうので、これで全体を通してクオリティを担保できるようになりそうです。


(個人的に、テキストアニメとかちょっとしたウェイトから語調とか想像するのが好きです。最近は動かせる絵本のようなRPGを作りたいと言ってますが、絵本は読み手によって話やキャラの印象が変わるのが体験として面白いと思います。今はフルボイスが当たり前ですが、予算があってもテキストボイスは無くてもいいかなと最近は思ってます。)


https://twitter.com/thiropGames/status/1649376086256660481
まばたきも制御可能。


……ヒロインのこの子、ゲーム制作当初からずっと性格が定まらず迷子になってしまってましたが、ようやく固まりそうです。


ヤンデレ → 毒舌 → クーデレ → 恥ずかしがりな恋する少女


と渡り歩いてきましたが、結局……

少し内気な普通の女の子になりました。


自分の趣味100%で決めていいなら迷わずツンデレになってしまいますが、
大事なのは主人公の悠君にとってのヒロインにならないとですからね。

異世界でキャラの強い人達と出会い感情をジャイアントスイングされ続ける主人公にとって、ヒロインは一服の清涼剤となる……のでしょうか?


性格は普通だけど、設定はかなり破茶滅茶です。

シロップ作品は基本ドタバタラブコメですので、ご期待を!

(しかし、どんなキャラも演じられそうなポテンシャルは流石テツノカさんのデザインセンス)



隊列歩行

https://twitter.com/thiropGames/status/1650136825401606144

二人だとデートっぽくていいですね!!

例えばシナリオごとのパーティー固定キャラとだけ2〜3人で隊列組むのがいいかなとか考え中。

(最高5人パーティーだけど、5人は……うーん🤔)




ChatGPTの活用

https://twitter.com/thiropGames/status/1651230377590005762

モブのセリフ量産のためにChatGPTを活用するための基盤を作り始めました。

話題になったV4のAPIを使うには別途申請して順番待ちする必要があるので、とりあえずはV3.5のままシステムだけ作り始めました。


リロード/手直し機能

https://twitter.com/thiropGames/status/1651533453614268417

ある話題に沿って、キャラ画像ごとに性格を設定してセリフを生成しています。

一発で使えるセリフを引くのは難しそうなので、個別にリロードしたり手直しできる機能を追加。

自分はモブの雑談的なセリフを考えるのが苦手なので、実用度は高そうです。

また、V4で精度良くセリフを生成できそうであれば、シナリオ進行に沿った噂話なども気軽に実装できそうです。





ということで4月の進捗でした!

進捗はしてますが、それ以上に道が延びてるように見えますね。

錯視かな?不思議!!




RPG≒旅体験を推してる自分にとって、RPGを始めるときのワクワク感というのは未知への期待が大きいと思ってます。

それは目新しいシステムであったり、独創的なビジュアルであったり、魅力的なキャラが繰り広げるドラマへの予感であったり、単純に広大な世界の物量であったり。


個人開発の規模であれば「クローズドな世界観」を作り込むのが正攻法かと思いますが、「眠れる勇者のRPG」では世界を旅する王道RPGを作ってみたいなぁと軽い気持ちで決めてしまいましたからね。


コンテンツにあふれる今の社会であってもなお、プレイヤーが未知への期待にワクワクできるようなゲームを作れるのなら、物量でもなんでも思いつくままぶち込んでやりますよ!🤸

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

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

[進捗]3月の活動報告

3月の活動報告です。(……さ、3月?)


3月はクラファンのマップ自動装飾プラグインの開発作業を集中してこなしました。

もともとは支援者の方のリクエストに応じて機能を開発するという趣旨でした。

結果、リクエストはほぼ0で、シロップのおすすめ機能を実装する「おまかせ開発」という体で、独断と偏見で好きな機能を好きなようにゴリゴリと追加していきました。


操作性にはまだ少し難がありますが、機能面では当初想定していた以上のものに仕上がったと思います。


リドゥ・アンドゥ/バックアップ保存

https://twitter.com/thiropGames/status/1635241629044047872
かなり大味なリドゥ・アンドゥ機能と、バックアップ保存の仕様変更。
ロックをし忘れて再抽選してしまう事故を何度もやってたので、これで一安心。


装飾タイル種類の手動ロック

https://twitter.com/thiropGames/status/1635978785911898114
床装飾の種類が多いと狙った装飾が出てくるまで抽選……(そしてクリックしすぎて見逃す)という本末転倒なことがあったので、手動でもロックできるように機能追加。


ランダムシフト/モック表示

https://twitter.com/thiropGames/status/1636315078583808000
オブジェクトがタイル中央に規則正しく配置されてるとグリッド感が強いので、全オブジェクトを少しだけずらせば多少遠景マップっぽくなるのでは?

……と思って実装した機能。

通行判定に影響が出ないように最大で上下左右1/4タイルしかずらさないこともあり、そこまで効果はなかったかも。


モック表示はこの手のプラグインのデメリットだったので、なんとかしたくて実装。

ただし、このときの実装ではレイヤー数の制限があったりタイルセット内の画像以外は表示できないなど欠点もあったので、個人的にはギリギリ及第点といったところ。


カーソル変更

https://twitter.com/thiropGames/status/1636318840174026754
現在のモードがわかりやすいようにカーソルを変更。

……これも専用の画像がないとやはり微妙でした。
MZアイコンくんではやはり限界が。

カーソル変更は、PC向けならゲームの仕様に入れるとちょっとうれしいかもですね。
専用のプラグインも神により配布されてるみたいです。


タイルセット画像からオブジェクト配置

https://twitter.com/thiropGames/status/1636878260792623104
今まではパレット用のオブジェクトとして登録する必要がありましたが、タイルセット画像から直接選択できるようになりました。これは便利!


パラメータ変更

https://twitter.com/thiropGames/status/1637056789433954304

各種パラメータを自動装飾エディタ内で変更できるようになりました。
部屋ごとにオブジェクトの配置率を調整したり、テンプレートのパラメータ設定用に「Ctrl+C」でパラメータを一括コピーできたりと地味に便利な機能も。


オブジェクト操作の改善

https://twitter.com/thiropGames/status/1637367703978807297
移動中にグリッド表示したり、オブジェクトに青枠表示したり、細かな操作バグがあったのを撲滅したり。

ほぼストレス無く操作できるようになったと思います


オブジェクトグループ

https://twitter.com/thiropGames/status/1638841486556151808
大本命機能。

花畑のような本来大量のオブジェクトが必要な表現もかんたんに作れます!

リッチな有償素材もツクラーやコアプレイヤーはだいぶ見なれてしまっていると思いますが、手軽にタイルを組合わせてオリジナルなオブジェクトを作ろう!(SA○AN感)


他のタイルセットからオブジェクト配置

https://twitter.com/thiropGames/status/1639219428717101057
すんごく手軽に他タイルセットの画像からオブジェクトを配置可能。強い。


遠景モック表示

https://twitter.com/thiropGames/status/1639495752400662529
独自オブジェクトがエディタで表示されない問題をパワーで解決する本命機能その2。
内部でマップのスクショを撮って、遠景画像としてエディタで表示。

モック表示の方法はあれこれ悩んだけど、正解はいつもシンプル。


他タイルセットオブジェクトの画像登録

https://twitter.com/thiropGames/status/1639510490404769793
大本命機能その3。

他タイルセット画像から配置したオブジェクトを精査し、まとめて現在のタイルセット画像に登録。

B-Eタイルに限りますが、実質フォトショなど触らずにタイルセット画像を編集できるので、新規タイルセットを組む手間や心理的ハードルがぐっと下がると思います!


没機能:タイルセット外画像の内部スプライトシート化

https://twitter.com/thiropGames/status/1639977045315977217
苦労して実装したわりに、何ら効果がありませんでした😇
PIXI(WebGL)なんもわからん🤸‍♂️


Booth販売開始!

https://twitter.com/thiropGames/status/1642038624119316480
この時点ではまだ全タスクが終わったわけではありませんでしたが、だいたいの機能が出揃っていたので週末のタイミングでBoothでの販売を開始しました。



置換機能強化&テンプレート整備

https://twitter.com/thiropGames/status/1642839443274084352
自作でも使いそうなものを中心にFSMタイルセットのテンプレートを整備しながら、置換機能の改修を行いました。

やっぱり自然地形の壁・崖縁を自動で補完できるのはツヨツヨ。

オートタイルを経由してA5/B-Eタイルを配置するテクニックも鉄板。


置換機能などのアプデ紹介記事

……やはり街や建物といったもともと直線が多い人工地形は自動装飾プラグインの苦手なところ。

地下水道テンプレは物は試しにとオートタイルの(Shiftキーを使わない)ベタ配置以外は極力なくすように、シェイプ操作や影の配置・修正、斜め壁などのB-Eタイルの壁バリエーションなどをすべてルール化してみました。
(数えてみるとルール数は29!……と聞くとそこまででもなかったり?)


自創作の場合だと1つのタイルセットでそこそこのボリュームのマップ数を用意するので、こういった細かな活用でも時短効果はギリギリありそう。

何よりタイル配置の肩が凝る細かな作業を、得意なプログラミング的作業に置き換えられるのは大きなメリット。


テストプレイ時に影の塗り残しや修正忘れを見つけては修正というケアレスミス修正の手間も減らせたり、バランス調整などのためにマップを大きく修正する際も気軽に手を加えられそう。

……人工地形だとコスパ微妙かと思いましたが、トータルで考えると細かな部分の自動化でもペイしそうですね。やったZe!



みなさんはサンプルマップを参考にタイルの使い方さえ覚えればすぐに活用できると思うので、私が用意したテンプレは思う存分ご活用くださいね!


自分でルールを作ってみたい!という方は試行錯誤する手間もかかるので、沼らないようにコスパが高そうな部分にしぼって挑戦してみることをおすすめします!
(わからない部分はディスコなどで気軽にご質問を)



以上をもってクラファン関連のタスクは一区切りつきました!!

クラファン自体が初めての試みでしたが、なんとかトラブルなくここまで来れました。


他人のお金で焼き肉……ではありませんが、みなさんに支援を頂いて(もはや自分の趣味となりかけている)ゲーム制作の効率化ツール開発というニッチな作業に時間を気にせずじっくり取り組めたのはとても楽しかったですし、スキルアップにもつながりました。

もちろん、自創作の制作にも活用していきますし一石三鳥以上でやって良かったととても満足しています。


(他ジャンルがエクスカリバーやレバ剣で最前線をドシドシと切り開いているのに対し、インディーズのRPG制作はヒノキの棒でいきなりエンドコンテンツに飛び込まなければならないような状況だと思ってます。微力ではありますが自分が作ったプラグインを通して、JRPGが少しでも多くのプレイヤーに広がる手助けになれば嬉しく思います。)



今回の自動装飾プラグインをもって販売用のプラグイン開発は休止し、4月からは「眠れる勇者のRPG」の制作に本腰をいれて、リリースまで一気に駆け抜けるつもりです!

今後も、RPG制作者としてのシロップも変わらず応援いただけると嬉しく思います。

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

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

[進捗]2月の活動報告

こんばんは!

2月はついぞ1度も進捗ツイートができませんでした😇
実際、ゲーム本編の進捗もゼロです!

作業はしてるのにおかしいですねぇ…。


2月の活動報告

先月から引き続いてAWSの通信周りをずっと実装していました。

AWSの通信のベースシステムは去年の時点ですでに完成していたつもりでしたが、考えがあまあまでした……。


上旬:同期処理の修正続き

  • ユーザーサイドの操作(例:ガチャの実行)
  • サーバーサイドの処理(コストの消費&結果の実行&送信)
  • ユーザーサイドの結果表示(ガチャ画面)

この1連の流れを確実に実行しなければなりません。


問題はサーバーサイドの処理までは実行され、通信エラーなどで結果を受信できなかった場合。


ガチャであれば最悪サーバー側できちんとアイテムの取得処理を行えたら問題ないでしょう。

しかし、スタミナを消費してコンテンツを開始するといった操作であれば、結果を受けてユーザー側でダンジョン突入処理を行わなければコストの払い損になります。


また、ガチャであっても通信エラーで結果が表示されずにもう1度ガチャを回してしまうと、意図せず複数回ガチャが実行されてしまいます。



ソシャゲなんて簡単に作れるだろ、と高をくくってましたが全くセオリーがわからない初心者にはなかなか厳しい…。


結局、眠れる勇者のRPGではこういった同期が必要な操作を汎用化し、

  • ユーザーから同期処理のリクエスト送信
  • サーバーでリクエストの処理
  • サーバーで結果の保存&送信
  • ユーザーが結果を受けて必要な処理を実行
  • ユーザーの処理が完了したことをサーバーに送信
  • サーバーで保存していたリクエスト結果を削除

といった処理の流れにしました。


同期処理リクエストの通信と、結果完了通知リクエストの2回通信を行うことで完全に同期させることができる……はずです。


サーバーに処理結果が残っている状態で他のリクエストが飛んできても新規の処理は行わず、未処理の結果を返答してユーザー側で確実に実行されるまで新規操作をロックします。



さて、データ通信処理自体は実装して終わりなのですが、例えばダンジョンに突入しようとして「ガチャ結果が残っている」と通知されれば現在表示中のUIがどんな状態であれ、ガチャ結果表示を開始する必要があります。


「どんなUI状態であれ、どんな結果も実行させなければならない」と考えると割と大変です。

大変でした🤸‍♂️


同期処理のリクエストを汎用化し、

  • 成功した場合に即時実行されるデータ処理
  • 正しい流れで実行された場合のUI処理
  • キャンセルされた場合のUI処理
  • シーンを問わず実行される結果の開始処理

これらが確実に定義される状態にして実装漏れを防ぐことにしました。

キャンセルされた場合にはUI側に「残っていた他の処理の開始処理の実行ハンドラー」も渡されて必要に応じて実行させます。



例えばコンテンツが終わって報酬を処理する同期処理であれば、他の処理結果が残っていたとしてもキャンセルするわけにはいきません。

そういった場合には受け取ったハンドラーは実行せずに結果の表示命令だけスタックして保存し、結果は処理したものとしてサーバー側に通知し、報酬受取処理のリトライを行います。


かなり複雑な流れになりますが、ここ1年でPromiseを使った非同期処理や即時関数の扱いに慣れたおかげでなんとかまとめられました。


中旬:時間・期間限定のフラグ

時間・期間限定のコンテンツ、ショップセール、ガチャフェスなどはソシャゲではごく当たり前ですよね。

UI遷移のたびに通信してサーバー側でその時間にあったコンテンツをレスポンスするというのが簡単そうですが、なるべく通信は減らしたいところ。


眠れる勇者のRPGでは、サーバーとユーザーで共通して利用するスケジュール変数を導入しました。

変数ごとに期間と値がセットで、一意に値が決まるようになっています。


ただし、スケジュールデータは随時更新されるためユーザー側が保持しているデータが古い可能性が出てきます。



下旬:サーバー管理変数のキャッシュ

スケジュールデータのようにサーバー側が本体データを管理し、ユーザー側にキャッシュさせて自主的に判断させる場合には、ユーザー側のデータがリアルタイムに更新されずにずれる場合があります。


これも想定されるエラーケースが多岐に渡るため、汎用化して処理しないと実装漏れが生じそうなので大工事を施しました。


同期処理時に関連するキャッシュ変数をリクエストに付記しておき、間違った値であった場合には処理失敗のレスポンスと一緒に正しい値を返します。

ユーザー側は「端末上のデータが古かったため処理がキャンセルされました」など表示し、UI表示のリフレッシュなどを行います。

動画で見るとなんてことなさそうな処理なんですけどね……



当初はここまで厳密にエラー対処するつもりは無かったのですが、結局ここらを雑にするとリリース後のユーザーサポートに苦労するだろうと丁寧に作りなおしました。

通信に失敗してガチャ結果をバックグラウンドで処理させても良いけど、「石だけ減ってガチャできなかった」という問い合わせ対応がどうしても増えてしまいますからね。

リリース後に本編制作に時間を割けなくなるのも問題ですし、完結させたあともサ終させずに残したいのです。できるだけ手間をかけずにサービスを残せる基盤を整えておこうという判断で、2月もじっくりAWSまわりの処理と向き合ってました。


来月はクラファン作業の続きを集中してやる予定ですが、4月にはゲーム本編の制作に戻ってゴリゴリと進めていく予定です!



ツクラーでインディー界隈にも興味があると、Unityと違いツクールのスキルを磨いても潰しが効かないというモヤモヤを抱いたりしてしまいますが、自分は結果としてAWSでサーバーレス構成まわりのスキルを磨けたのはこれはこれで有りかなと思ってます。(LambdaをJavascriptで書けるのも大きいです)

今回作った基盤システムを使い回さないのは勿体ないので、次作以降でまたソシャゲライクにしたり、ユーザー間協力要素やPvPを入れたり、ゲーム以外でもSNSっぽいアプリも作れそうだったりと自分の創作における武器になりそうです。


……それはそれとして、「HD-2D」なRPGも興味あるのでやっぱりUnityもいつか触ることになりそうですけどね。

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

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

クラファン目標達成! / 進捗報告

(…最近、Ci-en記事を書くカロリーが上がって腰が重い感じになってるので、ツイートの引用しつつ近況のご報告をば)


先日から始めましたマップ自動装飾プラグインのクラウドファンディングですが、無事に目標金額を達成しました!

https://twitter.com/thiropGames/status/1589199149106618369

しかも、なんと開始初日の達成です!!

内心、厳しいだろうなぁと諦め半分でしたが、思った以上にスポンサープランをご購入していただけたこともあって達成することができました。

ご支援していただいたみなさま、本当にありがとうございました!



クラファン達成の公約として100時間分の「おまかせ拡張機能実装」作業をしてまいります。(だいたい、土日のどちらかに10時間ほど作業してきます)

先週は「床装飾の手動調整」を実装しました。

https://twitter.com/thiropGames/status/1592134613618806787


今週末は「オブジェクトの手動調整」を実装予定で、合わせてエディタの操作性がかなり改善されると思います。

(ちなみに、来週末はバリエーションパーツの自動置換を実装予定です。)




クラウドファンディングの期限は、開発速度がゆっくりなのもあって1月末まで長めにとってます。

機能リクエストが可能な「スポンサープラン」もまだ残ってますので、気になる方はぜひご支援を!!




クラウドファンディング開始記念のBooth販売プラグインの20%オフセールは今週末までなのでお忘れずに!



「眠れる勇者のRPG」進捗

クラファン準備で先月は作業が滞ってましたが、
中途半端になっていた「狩場ダンジョン」の実装作業にもどりました。

スーパーゲ制デー

https://twitter.com/thiropGames/status/1591084584183205890
ネトゲみたいに「狩場にこもって素材集めをしたい」欲求と
「飽きないようにローグライト要素も盛りたい」欲求。

同時に叶えよう!という完全自分向けな贅沢仕様となってます!


「鍛冶・露天」施設

「ダンジョン内通貨/強化素材」が有効で、「鍛冶」「露天」が配置されてます。

「ローグライト要素を入れたい!」というシステム的な要件なのですが、
「狩場のロケーション・雰囲気も損ないたくない」という欲求もあり、
動画のような「異空間につながる」ような演出にしてみました!


ちなみに、鍛冶場・露天の絨毯のタイルは「キャラ画像化」しており、配置スペースがあればどこにでも設置可能です!!

こうやって汎用化させておくことで、マップにタイルを組み込む時間を節約できて👍


プレミアムツクールデー

https://twitter.com/thiropGames/status/1592896020114919424

汎用ギミックばかり増やしてもダンジョンごとの個性が出せないので、ダンジョン固有のギミックもできれば入れたいなぁと検討してました。

ただ、ダンジョンごとにギミックを考えて実装するとなるとかなりの時間を要してしまうため


  • 汎用的な「遺跡ギミック」
        ↓
  • ダンジョン固有の「テンポラリアイテム」取得
        ↓
  • テンポラリアイテムを使って固有ギミックを解く

という流れを基本とすることにしました。


これで、ドラえもんの秘密道具よろしくどんなご都合アイテムもそれっぽく取得できるので考えることが大幅に減るはず!


真面目に作るとなると、ギミックを解く専用アイテムを「サブクエストなどで素材を集めて作ってもらう」みたいな感じでしょうか。

(※ボリュームを膨らませたいときにはむしろアリですね!)



お気に入りの精霊ギミック↓


その地域特有の生態系みたいのをギミックに組み込めるといいですよね。

全然、そこまで考えられてないですが…👀



狩場ダンジョンがだいぶまとまってきたので、

今月は残りの夢夜世界コンテンツの実装を進めて来月のスーパーゲ制デーに備える予定です。

個人的には自創作から離れてたクラファン準備中に、神シナリオ化するアイデアが舞い降りたので、早くシナリオ関連の作業に移りたいのですがゲームコンテンツ周りのシステムも大詰めなので踏ん張りどころです。


今年も残りわずかとなってきましたが、年内に何かしら区切りが良いところまで進めたいところです。

それではまたノシ

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

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

« 1 2 3 4 5

月別アーカイブ

記事を検索