NinaLabo

個人ゲーム開発者の技術メモ

ローグスフィア v0.3.3 アップデート情報

ローグスフィア

f:id:ninagreen:20180522040132p:plainトルネコの大冒険」や「風来のシレン」でお馴染みの不思議のダンジョン系のローグライクをベースに、スローライフの要素を加えたスマホ向けRPGです。現在、Androidにてベータ版公開中です。

Google Play で手に入れよう

ver 0.3.3 アップデート情報

◇仕様追加変更

・足元コマンドを追加しました

    - プレイヤーをタップすると「あしもと」ボタンが表示されます。

・会話/メッセージログを追加しました

    - メニューまたは会話ウィンドウのボタンを押すと履歴が表示されます。

・空腹の救済

    - ダンジョンクリア時に満腹度が100%回復するようにしました

    - 1日1回、調達係が配給の食料をくれるようにしました

*アジトで満腹度が減るのをやめてほしいという声が多く悩みましたが、一旦上記の救済策を入れて様子を見ることにしました。まだ遊び辛そうであれば、アジトではお腹が空かないようにしようかと思います。

・日付の切り替え

    - 1日12時間だったのを3時間に変更しました

    - 日付の切り替えに関しての説明をクイズ形式で出題するNPCを追加しました

 *日付の切り替えに関しての問い合わせが多かったので対応しました。また、雑貨屋の商品の入荷が1日1回なのですが、序盤が食糧難になりやすいということもあり、入荷を多くしてほしいという声があったので1日の時間を短くしました。まだ遊び辛そうであれば、入荷タイミングのさらなる追加を検討したいと思います。

 ・初期の最大アイテム所持数を27から24に変更

    - Galaxy端末などで画面の端のボタンが押しにくいためUIを調整した際に画面内に収まらなかったため、最大所持数の初期値を減らしました。

 ・命中率の補正

    - 会心の一撃、痛恨の一撃の時はミスしないように変更

    - 杖を装備してふった場合はミスしないように変更

    - プレイヤーの通常攻撃のミスする確率も若干減らしました

・画面遷移変更

    - 途中再開時にもタイトルを挟むように変更

    - キャラクター選択画面を一旦削除

*キャラクター選択画面に関して、現状はプレイヤーが1人しか選択できなくて意味がないので一旦削除しましたが、後で復活させる可能性があります。

・表示する地形を制限

    - フリックですべての地形が見えてしまっていたのを表示を制限するように修正

・カメラ位置を初期状態に戻すボタンを追加

・ベッドで寝れるようにしました 


◇コンテンツ

主にチュートリアル系のクエストを追加しています

 ダンジョン  9種類(+1) 
 街  2種類(±0) 
 家  1種類(±0)
 モンスター  39種類(+2)
 NPC  11種類(+1)
 武器防具  9種類(±0)
 アイテム  28種類(+1)
 食べ物  17種類(+1)
 スキル  2種類(±0)
 ワナ  9種類(±0)
 レシピ  2種類(±0)
 クエス  18種類(+13)
 家具  24種類(±0)
 トロフィー  9種類(±0)

 

◇不具合修正

・一度タスクキルすると発見済みの階段がミニマップ上から消えてしまう不具合を修正

・フッターのアイテム欄など、スクロール内のボタンの反応が悪いのを修正

・階段の上にNPC等が配置されることがあったのを修正

・スキルを床におくと牢獄で無限に鍵開けスキルがもらえたのを修正

・プレイヤーランクアップ画面でバーが伸びないのに音だけ鳴ることがあったのを修正

・「入れかえ」で足元のアイテムと入れかわらなかったのを修正

・ショップの購入画面で売り切れ表示になってしまうのを修正

 

◇その他調整

・UI全般のブラッシュアップ
・タイトル画面にバージョン番号を表示

・セリフを調整

・ダンジョンのモンスターやドロップするアイテム等を一部調整

 

◇次回アップデートは7月下旬前後を予定しています

→ すみません、9月下旬前後に延期します

 

前回のセーブデータでもおそらく遊べるとは思いますが、ストーリーのつじつまが合わなかったり、挙動が不安定になる可能性があります。

みなさまから多くのフィードバックをいただいたのですが、まだ半分程度しか対応できてません。引き続き対応していきたいと思います。

◇不具合情報

モンスターやNPCにアイテムを渡すとエラーになる不具合が報告されています。

ローグスフィア v0.3.2 アップデート情報

 ローグスフィア

トルネコの大冒険」や「風来のシレン」でお馴染みの不思議のダンジョン系のローグライクをベースに、スローライフの要素を加えたスマホ向けRPGです。現在、Androidにてベータ版公開中です。

Google Play で手に入れよう

ver 0.3.2 アップデート情報

◇仕様追加変更

・通路に入ると強制的に自動でダッシュしていたのをやめました。モンスターを通路に誘い込んで戦うことができない懸念が想像以上に多かったためです。ローグライクが好きなユーザーの要望を満たしつつ、スマホで手軽に遊ぶためにはどんな操作がいいのか、まだ悩んでおりましてひとまず以下の4モードを追加しました。どれが一番遊びやすかったかまたご意見いただけるとありがたいです。設定画面で挙動を変更できます。デフォルトはUI制御です。

  1. 自動走行なし:通路に入っても自動で走ることはありません。
  2. UI制御:通路に入るとボタンが表示されます。ボタンを押すと通路をダッシュで駆け抜けます。
  3. 戦闘制御:敵と戦闘中は走行しません。戦闘中でない場合は自動走行します。
  4. 自動走行:従来通り、通路に入ると強制的に自動でダッシュします。

・モンスターから盗めるアイテムを増やしました。従来はモンスターに盗みを仕掛けても何も持っていないことがありましたが、必ずアイテム1つは持っている状態になるように調整しました。

・街で盗みを犯しても周囲のNPCに気付かれなければ評判が下がらないように変更しました。
・自殺ボタンを削除しました。
・武器防具の材質として銅と金を追加しました。
・設定ページにBGMとSEのON/OFFを追加しました。


◇コンテンツ

 ダンジョン  8種類(+3) 
 街  2種類(+1) 
 家  1種類(+1)
 モンスター  37種類(+10)
 NPC  10種類(+1)
 武器防具  9種類(±0)
 アイテム  22種類(+4)
 食べ物  16種類(+2)
 スキル  2種類(±0)
 ワナ  9種類(±0)
 レシピ  2種類(±0)
 クエス  5種類(±0)
 家具  24種類(+5)
 トロフィー  9種類(±0)

 

◇不具合修正

・コガネガエルからお金を盗まれても、ヘッダーの表示が変わらなかった不具合を修正
・食料をモンスターやNPCに投げた時に不正なメッセージが表示される不具合を修正
・本バージョンに登場しないモンスターを図鑑から削除
・使用品/食べ物/スキルを使用しても図鑑がアンロックされない不具合の修正
・ダンジョンで食べ物がドロップしない不具合を修正
・自動走行の場合でもアイテムを拾った時は止まるはずが、そのまま走ってしまう不具合を修正
・料理レシピ選択ダイアログの背景をタップしても閉じない不具合を修正
・力が下がるのを疲労耐性の盾で防いだ時にサビ耐性と表示されるのを修正
・料理を作った後すぐにタップしたり連打したりするとエラーが発生する不具合を修正
・ダンジョンクリアで連打するとエラーが発生する不具合を修正
・最初のカシラとの会話後、荷物に入る時に連打するとエラーになり、次に起動するとカシラが増えてる不具合を修正
サウンドの抜け漏れ修正
・友好NPCが敵対の状態で死亡して復活した時でも友好NPCが敵対状態のままなのを修正。復活時にNPCの好感度が初期値よりも低い場合は初期値にする処理を追加しました。
・部屋の出入り口に罠を配置しないように修正

 

◇その他調整

・グラフィックやアニメーションのブラッシュアップ
・攻撃テンポの調整(速くしました)
・会話スピードの調整(速くしました)
・強すぎる家具のパラメータを調整(タンスや木が壊せないほど強かったので少し弱くしました)

 

 

ローグスフィアのリリース情報まとめ

スマホ向けローグライク、『ローグスフィア』のアップデートのまとめページです。

ダウンロード

Android 版は下記のリンクからダウンロードできます。

Google Play で手に入れよう

 

アップデート情報 

 

ブラウザ版は下記のリンクから遊べます

ローグスフィア v0.3.0 | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

 

 

【Unity】ポストプロセスでピンチ表現を実装する

製作中のローグライクゲームローグスフィア』では、HPが少なくなったときのピンチ表現にポストプロセス(PostProcess)を使用しています。

f:id:ninagreen:20180212004439p:plain

この程度の表現であれば、普通にSprite画像を重ねて表示するだけでもよく、わざわざポストプロセスを使わなくても良かったのかもしれませんが、今まであまり使ったことがなかったのでちょっと使ってみたかったんですよね。いろいろなトラブルにも遭遇したので、手順の備忘録を残しておきます。

1. ポストプロセス のインストール

昔は ImageEffects が Unity に同梱されていた気がするのですが、最近は Post Processing Stack を Asset Store から別途インストールするようです。

assetstore.unity.com

ダウンロードして Unity に import しましょう。

 

2. ピンチ表現の設定 (Vignette)

Post Processing Stack を使えば、ぼかしだったり明るさ調整だったりと様々な表現ができるのですが、今回のピンチ表現には Vignette(ビネット)という画面の周辺を暗くする技術を使いました。

 

2-1. プロファイルの作成

Post Processing Stack ではどんな効果を適用するかをプロファイルと呼ばれるもので定義するようです。Project Viewの好きな場所で、「右クリック」 > 「Create」 > 「Post-Processing Profile」 で作成できます。

今回は「DangerHpGuideSettings」と「DangerHpUISetting」の2個のプロファイルを作成しました。ローグスフィアの場合、UIレイヤーより上のレイヤーと下のレイヤーの2箇所でビネット効果を使うことで、画面の周囲を赤くするピンチ表現を実現しています。

f:id:ninagreen:20180212015557p:plain

 

2-2. プロファイルの設定

作成したプロファイルを選択し、Inspector上で「Vignette」のチェックボックスにチェックをつけて、色や円の大きさ等を設定します。

[DangerHpGuideSetting] 下レイヤー

f:id:ninagreen:20180212020131p:plain

[DangerHPUISetting] 上レイヤー

f:id:ninagreen:20180212020224p:plain

2-3. カメラオブジェクトに PostProcessingBehaviour をアタッチ

ビネット効果を付けたい Camera オブジェクトに Post Processing Behaviour スクリプトをアタッチし、アタッチしたスクリプトの Profile フィールドに先ほど作成したプロファイルをドラッグします。

今回のピンチ表現だと下記のような感じの設定です。

・UIを描画するカメラに Post Processing Behaviour をアタッチして「DangerHPUISetting」プロファイルをドラッグ

・UIの背面を描画するカメラに Post Processing Behaviour をアタッチして「DangerHpGuideSetting」プロファイルをドラッグ

2-4. Post Processing Behaviour の チェックは外しておき、スクリプトで制御する

初期状態ではビネット効果は使用しないので外しておきます。

f:id:ninagreen:20180212021130p:plain

あとはゲームのソースコード内で、HPが少なくなったら PostProcessingBehaviour のenabled プロパティを true にする実装をして完了です。

3. ビルドでフリーズする問題

Editor上では全く問題なかったのですが、Androidビルドを作成する際に毎回同じ場所で処理がフリーズして固まってしまいました。時間がかかっているのかなと思い1時間ぐらい待ってみましたが、下記の状態からまったく進まず・・・

Packaging assets - 85a45a6d8b2ffb84987d2b028ecfb220

何が原因なのか全然わからなくて(おそらく後述する問題だったのですが)、苦し紛れに Unity のバージョンを 5.6.4f1 から 2017.3.0f3 にアップデートし、さらに Post Processing Stack を最新版にアップデートしたところ、10分ぐらい待てばビルド処理が進むようになりました。

4. 処理落ちがひどい問題

ビルドは作れたものの、実機(Nexus5 Android4.4)上で確認したところ、ピンチ表現のポストプロセスを表示する際に明らかに処理落ちしてました(1〜2秒処理が固まってから画面が赤くなる感じ)。

https://forum.unity.com/threads/post-processing-stack-cannot-build-android-on-mac.484019/

上記にもあるのですが、Post Processing Stack のデフォルトのままだと大量のシェーダーバリアントが作られるみたいです。ちなみに、シェーダーバリアントって何か調べたのですが、この辺り前提知識がなさすぎてイマイチよくわからず...

docs.unity3d.com

とにかく、プロジェクトビューの 「PostProcessing」 > 「Resources」 > 「Shaders」> 「Uber」を選択し、Inspector上の Compiled Code の ▼部分を押すとバリアントの数を確認できます。

f:id:ninagreen:20180212024628p:plain

2.59k なので 2590 個もある... 

 

今回使用しているのはビネットだけなので、Uber.shader のソースを開いて、

        #pragma multi_compile __ UNITY_COLORSPACE_GAMMA
        #pragma multi_compile __ CHROMATIC_ABERRATION
        #pragma multi_compile __ DEPTH_OF_FIELD DEPTH_OF_FIELD_COC_VIEW
        #pragma multi_compile __ BLOOM BLOOM_LENS_DIRT
        #pragma multi_compile __ COLOR_GRADING COLOR_GRADING_LOG_VIEW
        #pragma multi_compile __ USER_LUT
        #pragma multi_compile __ GRAIN
        #pragma multi_compile __ VIGNETTE_CLASSIC VIGNETTE_MASKED
        #pragma multi_compile __ DITHERING

ここの部分を全部コメントアウトして、

f:id:ninagreen:20180212024947p:plain

こんな感じに、ビネット(VIGNETTE)のCLASSICだけ定義するように書き換えたところ、

f:id:ninagreen:20180212025217p:plain

2個だけになりました・・・・!

この状態で端末確認したところ、ビルド時間も早くなり処理落ちも緩和されました。

 

 

参考記事

unityshader.hatenablog.com

kan-kikuchi.hatenablog.com

 

ローグスフィア(ベータ版)をAndroidでリリースしました!

play.google.com

 

トルネコの大冒険」や「風来のシレン」でお馴染みの不思議のダンジョンローグライクをベースとしたRPGです。

f:id:ninagreen:20180203025011p:plainf:id:ninagreen:20180203025117p:plain

 

◇ プレイ時間

クリアまで1時間〜2時間程度

 

◇ ゲームシステム

▼ バトル

・自分と敵が交互に動くターン制

・武器防具の材質や品質はランダムに決定され、一定確率でエンチャントも付く

・ダンジョン5種類、 モンスター27種類、ワナ9種類

・武器防具9種類、アイテム22種類、食べ物14種類、スキル2種類

 

スローライフ

・お腹が空いたら釣りで食料を調達

・レシピを覚えて料理も作れる

・街の住人のお願い(クエスト)を叶えてお金を稼げる

・住人とお話したり、プレゼントをあげると好感度があがる

・悪いことをすると自分の評判が下がる

・NPC8人、レシピ2種類、クエスト5種類

 

◇ 今後の展望

最終的にはローグライクシステムをベースにした自由度の高いRPGを目指しています。高難度のダンジョンに挑戦し続ける冒険者になるもよし、農業や牧場や釣りでスローライフを楽しむ生産者になるもよし、悪行プレイを繰り返して犯罪者になるもよし・・いろいろな役割をスマホで手軽に楽しめるゲームにしていきたいです。

 

◇ 最後に

本業のかたわらに開発していたとはいえ、ここまで来るのに2年半もかかってしまいました。ベータ版として公開しましたが実質の進捗はまだアルファ版程度で、これからもゆるく更新を続けていくつもりです。Android端末をお持ちのかたは是非プレイしていただいてフィードバックをいただけると嬉しいです。些細なことでも構いませんのでお気づきの点があれば Google Play ストアからレビューを送っていただくか、下記のTwitterにDMを送ってください。よろしくお願い致します。

NinaLabo (@ninalabogames) | Twitter

 

また、今後のアップデート情報はこちらにまとめていきます。

ninagreen.hatenablog.com

 

◇ 本バージョン(0.3.0)の不具合報告

・料理を作った後すぐにタップしたり連打したりするとエラーが発生します。

・コガネガエルからお金を盗まれても、すぐにヘッダーの表示が変わりません。

・本バージョンに登場しないモンスターが1体図鑑に掲載されています。

・アイテムを使用しても使用品図鑑、食べ物図鑑、スキル図鑑がアンロックされません。

 

ローグライクゲーム制作を振り返って(2017年)

2016年もあと少しで終わりですね。今年は本当にあっという間でした。2017年のゲーム制作を振り返ってみようと思います。

5. アルファ(α)前半(2017/1〜2017/7)

仕事が激務であまり進まなかった時期ですね。

この期間は主にダンジョン外のUI実装をしていました。クエスト一覧、トロフィー一覧、スキル一覧、各種図鑑、カレンダー表示、プレイヤーステータス表示など・・実装は難しくないですが意外に物量が多くて思ったより工数がかかりました。

また、見た目のクオリティアップを並行で少しずつ進めてました。アセットストアからUIの素材を購入して入れ込む作業もprefab作成が思ったより工数かかりました。その他にも、通路に入るとスポットライト風の見た目にしたり、武器や盾を装備したらプレイヤーキャラクターに反映したり、キャラクターに攻撃や歩行など各種アニメを設定したり・・パッと見の印象を良くするためにちょっとずつ改善していました。

あとはNPC処理に力を入れてました。NPCに好感度を追加して、好感度によってセリフや行動が変わるようにしたり、NPCにプレゼントを渡せるようにしたり、NPCに近づいたらセリフを表示するようにしたり・・・とにかくNPCと遊んでいました。

 

この頃作った動画がこれですね。

「クエストクリアで手に入れたアビリティポイントで「盗む」を覚えていろいろ盗んでたら変態扱いされる」

www.youtube.com

また、この時期に一度迷いが出て、ゲーム内のダンジョンを1個だけにしたことがありました。ダンジョンをたくさん用意するのは大変なので、ゲーム内のダンジョンを無限ダンジョン1個だけにしたほうがシンプルで良いのではないかと思ったのです。1ヶ月かけて変更していざ遊んでみると何故かしっくりこないし、面白くない。結局元に戻しました。個人開発で時間もないのに、この無駄な作業は痛かったです。もうだいぶゲームの骨格は固まってきましたし、今後は試行錯誤でプラスとマイナスを行き来するのはやめて、とにかく面白さを積み上げていくようにしなければと思いました。

 

5. アルファ(α)後半(2017/8〜2017/12)

秋ぐらいから仕事が落ち着いてきて、開発の遅れを取り返すべく色々実装しました。

まずはメインクエストの第1章を完成させ(全6章の予定です)、通しでプレイできるようにしました。また、チュートリアルも実装したので、これでリリースしたくなったらいつでもリリースできる状態にはなりました。

物量はまだまだ足りない状態ですが、NPCでは道具屋、娼婦、兵士、相棒など、モンスターでは 2x2サイズのモンスター、ちからをためるモンスター、投げてきたアイテムをはねかえすモンスター、所持アイテムをおにぎりに変えてしまうモンスターなど少しずつ増やしていっています。

ダンジョン外も少しずつ充実してきました。本棚で本が読めたり、コンロで料理ができたり、釣りができたり、ギルドに入会できたり、掲示板からクエストが受注できたり、素材を拾えたり・・・

また、今までスキルとアイテムは別のUI表示だったのですが、スキルリストとアイテムリストの切り替えるがどうしても億劫なので統合することにしました。これで、スキルもNPCもモンスターも家具も障害物も床もトラップもこの世界の大半のものはすべてアイテムにできるようになりました。

 

ゲーム序盤のプレイ動画です。

youtu.be 

来年の抱負

今年でαフェーズを終わらせたかったですが、まだもう少しだけやりたいことが残ってまして... 来年にはα版を体験版として公開して、皆さまからフィードバックをいただけるといいなと思っています。

 

関連記事

2016年の振り返りはこちら

ninagreen.hatenablog.com

2015年の振り返りはこちら

ninagreen.hatenablog.com

 

Photoshop で画像を均等に分割する

アセットストアやフリー素材だとマップチップのデータが1つの画像にまとめられていたりします。ただ、Unityで使用する場合、マップチップのデータを1個1個分割して別ファイルにして保存したい場合が多くていつも困っていました。

自分はエンジニアなので下記が正しい方法なのか定かではないのですが、まとめて一括で分割できる方法を調べたので載せておきます。

Step1. 画像をPhotoshopで開く 

f:id:ninagreen:20171018033113p:plain

 

Step2. ガイドを作成

メニューの「表示」 >  「新規ガイドレイアウトを作成」を選択 

f:id:ninagreen:20171018033253p:plain

今回は 2048 x 2048 の画像を 1画像あたり 128 x 128 になるように分割したかったので、上記のように設定しました。数値を入力して OKボタンを押すと以下のようにガイドの青い線が均等にひかれた状態になります。

f:id:ninagreen:20171018033632p:plain

 

 Step3. ガイドに沿ってスライス

Step2で作成したガイドに沿ってスライスを作成します。

左のツールボックスでスライスツールを選択(尖ったナイフみたいなアイコンです)

f:id:ninagreen:20171018033931p:plain

スライスアイコンを選択すると、ヘッダーに「ガイドに沿ってスライス」が表示されるので、ボタンをクリック

f:id:ninagreen:20171018034100p:plain

押すとスライス作成され、各スライスごとに番号が割り振られた状態になります。

f:id:ninagreen:20171018034319p:plain

 

Step4. スライスの書き出し 

メニューの「ファイル」> 「書き出し」 > 「Web 用に保存(従来)」を選択

*どうしてWeb用に保存を選択しなければいけないのかいまだによくわからない・・

f:id:ninagreen:20171018034615p:plain

必要であれば右上にある書き出しのファイル形式を変更して保存ボタンをクリック

書き出しフォルダを指定して保存ボタンをクリックすると、ファイル名に連番のついた形で画像が書き出されます。

f:id:ninagreen:20171018034807p:plain

エンジニア向けに最低限の Photoshop の使い方を教えてくれるような書籍や記事があるといいんですけどね。