キノコが何か作るブログ

ゲーム・ドット絵・アプリなどを作ります

MENU

ローグライクゲームの進捗【175日目】

新しいMob追加

ピエロと茶色いキノコ女みたいなが今回追加した新しいMobです。

f:id:mizukinoko:20200904162146g:plain

こうやってみるとやっぱり自分が書いたキャラクター浮いてますよね・・・

木とか草ブロックの素材は”ドット絵世界”さんの物を使っているのですが、その人の描くドット絵がうま過ぎて(僕が下手すぎて)世界観がチグハグします。

ピエロはまだ良い。でもキノコ女はちょっと適当に描きすぎました。

アイテムドロップ率変更

今までだと敵を倒すたびにドロップしていたので、ドロップ率を低くしました。

セーブ機能の更新

今週一番がんばったところがセーブ機能。

ポーション部屋のセーブ機能が壊れる

ポーションを売っても借金が減らないので「なんでかな〜?」って思って確認したら、セーブ機能がガッツリ壊れていました。

直すのキツかった。直った日はご機嫌でした。

倉庫内増殖バグ

直ったと思ったら、セーブするたびに倉庫内のアイテムが倍になるバグを見つけました。

セーブ周りのプログラムは非常にごちゃごちゃしてて意味不明だったので直すのに時間が掛かりました。

売却バグ修正

ポーションを作ってない時に売却ボタンを押すとフリーズするバグを修正しました。

 

最近寝不足で何もする気が起こらない。何かしようとしても頭がボーとして出来ない。

ということで今日は頑張って寝ます。

それでは!

ローグライクゲームの進捗【169日目】

キノコの魔女を追加

この前描いたキノコの魔女のスプライトシートを作り、実装しました。

f:id:mizukinoko:20200829105809g:plain

頭を大きく描きすぎたため、アニメーションさせるスペースが無くなってしまい、動きが小さいです。いつか直したい。

ステータスはあとで考えます。

新しいポーションを追加

Lv2のポーションを追加しました。

f:id:mizukinoko:20200829105543p:plain

Lv1ポーションより若干豪華です。

実装するとこんな感じです。

f:id:mizukinoko:20200829110031p:plain

ポーション作成時の不具合を修正

Lv2素材でLv2ポーションが作れないバグ

素材ごとに作れるポーションが違うはずなのに、どの素材を投入しても同じポーションが出来てしまうバグがあったので修正しました。

無限売却バグ

ポーションが出来ているところに、さらに素材を投入するとポーションの無限売却ができるようになるバグを発見したので修正しました。

素材投入バグ

素材を水釜に投入すると、素材の在庫数と投入アニメーションが発生するのですが、なぜか素材一覧の上矢印と下矢印を押してから素材を投入すると在庫数が更新されず投入アニメーションも発生しないバグがありました。

f:id:mizukinoko:20200829104739g:plain

↑こんな感じで素材を押下しても在庫数が減らず、アニメーションも出てきません。

このバグ本当に原因が分からなくて2日間頭を抱えてました。

Twitterでも愚痴ってます。それくらいヤバかった。直そうとするほどバグがひどくなっていって何回もロールバックしました。

でもまあ何とか直りました。

f:id:mizukinoko:20200829112909g:plain

 

今回の進捗は以上です。

それでは。

ローグライクゲーム進捗

1年半4ヶ月経ったけどいまだに完成しないゲームの進捗。

新しい素材を追加

彼岸花、タイ釣り草、リコリス、大飛燕草を追加しました。

f:id:mizukinoko:20200824170240p:plain

f:id:mizukinoko:20200824170249p:plain

しょぼい。やっぱり細かく描くとしょぼいです。

改善が必要です。

f:id:mizukinoko:20200825194744p:plain

ポーション部屋の合成アイテム一覧にも表示されるようにしました。

こっちは良い感じです。

つまりこのくらいに拡大してあげれば、ダンジョンに設置した時も見劣りせず良い感じになるってわけです。

素材作りって難しいですね。

不具合修正

樹木非表示バグ修正

12階層以降、木が表示されない不具合を修正しました。

12階層より後の木を生やす処理を書いていなかったのが原因でした。

このバグは本当に原因がわかるまでに時間がかかりました。

機能修正

経験値テーブルの自動生成

経験値テーブルっていうのは、ドラクエなどで採用されているレベリングシステムのことで、あらかじめどのEXPに達するとレベルが上がるかを表にしたやつのことです。

将来的にはこの経験値テーブルを作るつもりでいますが、今は仮で自動で経験値テーブルを作るようにしています。

自動でつくれてるのなら別に作る必要ない気がしますが、今使ってるやつだとかなりバランスが悪いので、ちゃんとJSONかなんかにテーブルを作る予定です。

Mobの生成方法

モンスターハウス、追加生成、召喚などに対応するために、Mobの生成方法を変更しました。

今までだと、初期生成したMobはちゃんとその階に適したMobが出てくるのに、追加生成されたMobは1階のMobになってました。

たまにはゲーム開発ブログらしく進捗報告してみる

たまにはゲーム開発ブログらしく進捗でも報告してみます。

魔法使いを実装

f:id:mizukinoko:20200806143218g:plain

このスプライトシートを作ったのが実は1か月近く前です。

ちゃんとスムーズに動くかどうか心配していたのですが、結構いい感じで動いてくれたので良かったです。

50層まで作る

前回の進捗報告がちょうど2週間前でしたが、その時は12層までしか作っていませんでしたので階層を増やしました。

アイテムや敵やダンジョンの素材が不足しているので使いまわしている状態ですが、これから少しずつ増やしていく予定です。

特殊アイテム:魔導書

f:id:mizukinoko:20200806194730g:plain

グリモア(魔導書)を実装しました。

このアイテムはポーションの合成には使えない特殊なアイテムで、プレイヤーのパラメーターに影響を及ぼすアイテムです。

例えばMPの基礎値がアップするとか、攻撃力が上がるとか、そういった効果があります。

生成されるダンジョンの種類を増やした

f:id:mizukinoko:20200806195228p:plain

部屋の大きさ、部屋の数、ダンジョンの広さを一定階層ごとに変化するようにしました。

そういったダンジョンの生成の仕方をするローグライクゲームはあまり見たことがないので、面白いかなと思い実装してみました。

 

 

今回の進捗は以上です。それでは。

モンスターを作る

モンスターを描きました。

f:id:mizukinoko:20200719191152p:plain

やっぱ人間人間しているやつよりも、こういう人外っぽい奴の方が僕は描きやすかったです。

人間は顔をちゃんと描かないとならないのでスペースが足りなくなってしまいがちです。

↓ボツモンスター娘

f:id:mizukinoko:20200719191429p:plain

人間は難しい。

 

アニメーションも描きました。

f:id:mizukinoko:20200719193056p:plain

マントのはためきはかなり誇張しすぎた気がする。

アニメーションさせた時に違和感が出るかもしれないが、もう作り直す気力がないのでこのまま行くかも。

 

動かしてみて良さそうだったら、これの色違いを作って、また新しいやつを作ろうと思います。

それでは。

Unity楽しい

すっかりUnityにハマってしまいました。

今はランダムで完全ランダムの迷路ゲームを作っています。

f:id:mizukinoko:20200709214955p:plain

f:id:mizukinoko:20200709215855g:plain

まだライトとか何も無いですが、最終的には化物に追われながらゴールを目指すホラーゲームみたいな感じにしたいです。

 

ローグライクゲームを作っているから似たような物を作りたくなる。というよりは、ランダムで生成されるオブジェクトが好きなんですよね。

フラクタルとか拡散反応方程式とか、無秩序な秩序・不確定だけど確定してるみたいなものが狂おしいほど好きです。なんか変態っぽいですが。

 

しかしUnityは本当に素晴らしいです。最初っからUnityでゲーム作ればよかったと思ってしまうほどよくできています。

やってみたらめっちゃ簡単で横着してたのを軽く後悔しています。

 

今後はJavaScriptとUnityの両方でゲームを作っていこうと思います。

それでは。

ローグライク開発(117日目):主人公の名前&レベルアップ

名前が決まる

とうとう主人公の名前が決まりました。

名前は”ピア・ぺキッシュ”です。

”ピア”はポーションメーカーの主人公の一人である”ピオ”をイタリアの女性名に直したものです。

”ぺキッシュ”はお腹がすいたというスラングです。

腹ペコの指輪を付けたトルネコ並みにお腹がすくのが早いのでそのような名前にしました。

ゲームで使うときは”ピア”と略します。

レベルアップシステム実装

レベルアップを実装しました。

レベルが上がるとMP、HP、攻撃力が上がります。

f:id:mizukinoko:20200703220920g:plain

Mob用の親クラスを作った

これからMobをたくさん作っていくので、Mobの親クラスを作りました。

親Mobを継承して、子Mobクラスで特殊攻撃などを再定義するようにします。

初めてまともにクラス使ったかもしれない。

 

 

明日は特殊アイテム・特殊攻撃・Mob(エネミー)を追加しようと思います。

それでは。

ローグライク開発(116日目):7~9層目

操作キーの割り当てを変更

移動をWASD、攻撃をEnter、走るをSpace、に割り当てなおしました。

インベントリは今まで通りEキーで開けます。

WindowsだとShiftキーを何度も押すと変な奴が起動するので、Shiftキーにはあまり割り当てないようにしようと思います。

7~9層目を作成

7~9層目です。生えている木と草ブロックが若干変わっています。

f:id:mizukinoko:20200702191753p:plain

ちょっと切り株が多すぎる気がしますが、とりあえずはこれでいきます。

レベルシステムを作り始めた

レベルシステムを作ると複雑になってリリースが間に合わなくなるから作らないつもりだったんですが、やっぱりレベルシステムが無いとつまらないので作ることにしました。

でも、あんまり時間はかからなさそうです。やってみたら意外と単純に実装できそうです。もしかしたら明日中には実装できるかもしれません。

 

明日はレベルシステムと特殊アイテムを実装しようと思います。

それでは。

入院について&ゲーム制作進捗

入院回避

この記事で近々入院するかもと書きましたが、無事何とか入院しなくてすみそうです。

www.mizukinoko.com

無理やりにでも日光浴したら寝れるようになって、その結果調子が少し良くなったので何とか入院しなくてよくなりました。やったぜ。

でもまた調子が悪くなったら入院らしいので、気をつけます。

 

進捗

アイテムドロップ

敵を倒すとアイテムを落とします。

f:id:mizukinoko:20200701165645g:plain

少し手こずりましたが、思ってたより割とすんなり行けました。

走る

Shiftキーを押しながら矢印キーを押すと走れます。

f:id:mizukinoko:20200701165702g:plain

これも結構すんなり行けました。

ちょっと思ったのが操作キーの割り当てです。

Shift押しながら矢印って結構押しづらいです。できればSpaceキーに”走る”を割り当てて、攻撃キーをEnterにしたいところです。

もっというと矢印キーではなくWASDで移動するようにした方がいいと思いました。

ゲームの操作は基本的に左手で移動操作、右手でコマンド操作することが多いです。だからそれに合わせた方が違和感なく操作できます。

明日はその辺の変更もして、さらに階層を増やそうと思います。

それでは。

ゲーム制作の進捗(114日目):3〜4層制作

新しい階層を追加

新しい階層はこんな感じです。

やっぱり使っている素材が良いと雰囲気がでます。

f:id:mizukinoko:20200630175108p:plain

こんな感じで一定階層ごとにダンジョンが少しずつ変わるようにします。不思議のダンジョンシリーズと同じです。

今回の層は”森”という感じではないですが、層が深くなるにつれてどんどん鬱蒼とした森にしようとするとすぐに限界が来てしまうので、そういう設定はなしにしました。

アイテム追加

新しい階層にアイテムを追加しました。

f:id:mizukinoko:20200630194221p:plain

追加したアイテムは3つです。ポーションの合成に使います。

まあまだポーションの方ができてないんですがね。あとで作ります。

 

 

やっぱり毎日進捗をつけるとサボらず作れますね。

進捗を毎日上げるというのは本当はよくないことなんですが、まあゲーム制作が進まないので仕方ないです。

明日は敵からアイテムがドロップするようにするのと、できれば”走る機能”を追加したいです。

それではまた明日。

ゲーム制作の進捗(113日目):再開

進捗書かないとサボるので今日から再開します

やっぱり毎日進捗を書かないとゲーム制作をサボってしまうので、今日からまた進捗を付けることにしました。

あんまりネタバレにならないよう、適度にぼかしながら進捗を付けていこうと思います。

満腹度の調整

以前より満腹度が多く減るように調節しました。

このゲームはいかに大量のアイテムを持ち帰るかにかかっているので、その辺のゲーム性を持たせるために満腹度の調整をした感じです。

トルネコよりかなり速いスピードで満腹度が減るので、工夫しないとあっという間に空腹になって手持ちのアイテムを食べることになります。

敵のアニメーションを正面だけにした

開発スピードアップのためにアニメーションを正面だけにしました。

敵の素材が今後不足するので自作しなければならないのですが、そのときに4方向すべてのアニメーションを描いていたらとても時間が足りません。

ですが、正面だけなら2日に1体くらいのペースで描けると思うので、敵のアニメーションは正面だけにします。

ただ、人型だとどうしても違和感が出てしまうので、お化けとかスライムみたいな手足が無いキャラクターを中心に描いていこうと思ってます。

売却時に商品が消えないバグを修正

ポーションを売却した際に、ポーションのスプライトが残るバグがあったので修正しました。

f:id:mizukinoko:20200629195001g:plain

 

ダンジョンがまだ5階しかないので、敵を作って階層を増やしていきたいです。

それでは。

再現性が低いバグを修正したい①

開発初期からある再現性の低いバグ

現在制作中のローグライクゲームで開発初期からあるバグがあります。

ソースコードの、

var stepX = path[1].x * baseSize;

という処理に差し掛かると「path[1]にはxというパラメータは無い」といった内容のエラーが出てフリーズします。

タイトルにも書いてますが、このバグは再現性が低いです。ですが、フリーズするのは致命的なので直さなければなりません。

ということで、重い腰を上げてバグ修正に乗り出しました。

 

でも再現性が低いので、普通にやっていたら原因を探るのは非常に時間がかかります。

ということで、バグが発生するまで延々とダンジョンを生成するプログラムに書き換えました。

f:id:mizukinoko:20200627172657g:plain

が、なぜか一向に再現できず。

僕は敵が生成される際にこのバグが発生すると思っていたのですが、該当箇所のソースコードが処理されるには敵が行動を起こさなければならないようです。

ゲームターンエンジンの先行を敵に設定して、敵が行動を行った後に次のダンジョンを生成するようにしました。

もしバグが発生したらフリーズするので、次のダンジョンは生成されません。

 

まあこれでも再現できなかったんですがね。

 

ソースコード見ただけじゃバグの再現条件が分からないんですよ。

とりあえずそのソースコードが実行されるだけじゃダメで、何か別の条件が重なった時に発生するバグなのかもしれません。

例えばプレイヤーの座標情報が前の階から引き継いだ時に低確率で発生する。もしくは、初期生成ではなく追加生成の時に発生するのかもしれません。

 

これはめんどくさいバグを作ってしまいました。

再現できないバグって一番嫌いです。

今日はこのバグの修正作業は一旦ここまでにして、別の作業を進めました。

また明日もバグの原因を探ります。

それでは!

久々の進捗報告と入院について

依頼画面

f:id:mizukinoko:20200620205252g:plain

依頼人をクリックすると現在きている依頼を確認できるようにしました。

依頼は売却ボタンを押すことで更新されます。

吹き出しや依頼娘がウィンドウに被ってしまうのはあとでどうにかしておきます。

ポーションのグラフィック変更

f:id:mizukinoko:20200620205326p:plain

f:id:mizukinoko:20200620205334p:plain

f:id:mizukinoko:20200620205341p:plain

今後、ポーション素材を増やしやすいように解像度を半分にした素材に作り直しました。

解像度があると描くのに時間がかかりますし、あらが目立ちますのでやめました。

ちなみに前回のが96x96で、今回のは48x48です。

ポーションのバリエーションは暇な時にチマチマ増やしていこうと思います。

借金とゲームオーバー時のペナルティ

借金の表示と計算機能を追加しました。これは前作でもあったやつです。

基本的にこのゲームでは、ダンジョンに潜って素材をゲット。ゲットした素材でポーションを作って売ってローンを返す。という流れです。

 

ダンジョンでHPが0になるとゲームオーバーになりますが、その際に返さなければならない借金が増えるようにしました。

リザルトシーンで「ダンジョン失敗。治療費として-$1500」と表示されて、借金が$1500増えます。

エネミークラスを分けた

単にステータスを分けるだけでなく、特殊攻撃を追加するためにエネミークラスを分割しました。

ロードするファイル数が多くなるのでローディング時間が少し長くなるかもしれませんが、まあ誤差の範囲です。

普通のゲームに比べれば軽いものでしょう。

入院するかも

メンタルがやばいので中々思ったように作業が捗らないです。

というのも、最近色々ありすぎて精神的に結構参ってるんですよね。

そのせいでちょっと入院するかもしれません。

僕が入院する病棟にもよりますが、もしかしたらノートPCの持ち込みがOKになるかもしれませんので、ブログは書けるのかもしれません。でもまあ、多分隔離される気がするのでそうなったらブログをお休みすることになると思います。

 

来週またその話をしに病院の先生のところへいくので、その日にまた詳しいことを書こうと思います。

それでは。

ゲームを作るのに疲れたからゲームを作る

今作っているゲームを作るのに飽きた・・・というより気分転換として別のゲームを作り始めました。

今度はUnityで作ろうと思ってます。

f:id:mizukinoko:20200613201047p:plain

2Dの横スクロールゲームにしようと思ってます。

理由は作る素材が少なくて済むからです。

4方向だと前向き・後ろ向き方向のグラも作らなきゃいけません。

横スクロールなら、歩行グラも停止状態・横向きに歩いている状態の2種類しか作らなくていいです。

f:id:mizukinoko:20200613201056p:plain

プレイヤーはこんな感じです。まだ作り途中です。

スプライトシートは作りません。Unityで反転させれば作る必要がなくなります。

 

どんなゲームにするか、シナリオも何も決まってません。作りながら決めます。

ポストプロセッシングとライティングは使いたい。

自作した素材を実装する

自作した素材を実装しました。

f:id:mizukinoko:20200611173421p:plain

おぞましいことになりました。

木はともかく茂みと床はなんとかしないとダメですね・・・

色が同化して目に悪いです。

 

パレットの使い方が下手だから色が同化しているというのもあります。

緑は4色しか使えないので、ちゃんと他の色も使ってうまい具合にやらないとだめなんですよね。

ちなみに地面を変えるとこんな感じになります。

f:id:mizukinoko:20200611192423p:plain

茂みがちょっと細長すぎますので、ふっくらさせます。

f:id:mizukinoko:20200611193445p:plain

さっきよりはいい感じですが、ものすごく目が疲れます。

多分ですけど、色を使いすぎました。3色に抑えたほうがいい気がします。

暗い色と明るい色が散らばっているのがよくないです。

 

明日はその辺りを改善していこうと思います。

それでは。

プライバシーポリシー