ZDT開発ブログ

制作中のゲームをいろいろと解説するブログです。

2021/05/22:進捗情報

今日はワールドマップの自動生成機能を作りました。

f:id:AtelieDreamDoor:20210522175117p:plain
f:id:AtelieDreamDoor:20210522175126p:plain

左が以前のもの。右が改良後。
自動生成とはいっても、いたってシンプルです。
方法は-

1.まず、方角の概念で8方向の長さをランダムで取ります。

 f:id:AtelieDreamDoor:20210522175438p:plain

 2.今度はその長さに沿って3つのパターンをランダムに選んで、ワールドの配列にデータを上書きしていきます。

f:id:AtelieDreamDoor:20210522175742p:plain

 ソースコードは長ったらしくなっていますので、こちらのprocess.jsでみてみてください。

github.com

最後にツイッターでどういう動作をするのかを短い動画で確認できるのでリンクを貼っておきます。

ちなみに新しい地の開拓時、フィールドの出現率を大幅にあげ、町とダンジョンを極端に下げ、フィールドを探索すると町かダンジョンが低確率で見つかるように設定しました。各種は、レベルごとに1つだけ出現するようにフラグも設けています。

今度はまた絵を描かなければなりません。いっぱい仲間ができるように。それじゃあまたお会いしましょう。

2021/05/21:進捗情報

今日はショップ機能を追加しました。
f:id:AtelieDreamDoor:20210521233918p:plain
コマンドから選択して購入するシステムですが、本当は中央のパネルビューを使った方法も考えていましたが、表示をワンクッション置かなければならない手間があれなので、この一案は保留しました。

コードはこんな感じです。

Shopping()はコマンドを用意する関数、ShoppingCommand(name, value, price)はコマンドを選択したときに実行される関数です。
ちなみにcommandオブジェクトにあるpos_xプロパティは、クリックの反応する範囲を位置付るものです。
これからの改良点は、今の状態ではクラッカーひとつしか売ってくれないので、Shopping(”アイテム名”)のように関数を引き出すたびにコマンドを生成してくれるようにしたいですね。商人も色々用意したいし、地域によって販売する物も変わるようにしたい。もっとキャラクターを描いて増やしたいですね。

今度はワールドマップのシステムを改良しようかなんて思ってます。お楽しみに。

2021/05/20:進捗情報

今日アップデートした内容は・・・
・各レベルのモンスターのデータを用意し、出現させられるようにした。
・スタンドイメージを右上に表示するとき、枠内に収まるようにした。
です。
とくに二番目の項目で計算がややこしかったので、ソースコードを解説したいのでしようかと思います。画面表示はこんな感じです。
f:id:AtelieDreamDoor:20210520211213p:plain
これがf:id:AtelieDreamDoor:20210520211237p:plainこうなった。

ソースコードはこんなんです。

計算している部分は22から29行。
枠の横幅384ピクセルを基準にして正方形に縮小させます。
22:正方形に収めるため、画像の長い方を取得します。
24:枠より画像がどれだけでかいか倍率を求めます。
26-27:元サイズに倍率を割って枠に収まる長さを求めます。
たったこれだけです。
割とこの計算を立てるのにてこずってしまったので記事にしてみたかったのです。

と、いうことで、次回は町の行商人からアイテムを購入できるようにしようかと思います。

ご意見感想箱

ブログ記事をご覧いただき、ありがとうございます。
制作中のゲームについてご質問があれば、この記事にコメントくださるか、ツイッターのDMでご連絡ください。
「この部分のコードがみてみたい」といったお声をいただいた場合も、解説用の記事を書きますので、ご所望ください。

2021/05/11:進捗情報

今日の更新はー
・装備アイテムの能力値実装
・装備したアイテムの上昇値の表示
・バトル時、装備アイテムのSTR、VIT値を加算。
・ダンジョンレベル1のモンスターが出現するように仮設置。
このくらいです。

f:id:AtelieDreamDoor:20210511142709p:plain

次回はまたモンスターの絵を描かなければなりません。
ゲーム制作のほとんどは絵ですからね。これがないと始まりません(汗

宝箱発見画面

フィールドまたはダンジョンにて、探索コマンドを選択すると一定確率で宝箱をみつけることができます。

f:id:AtelieDreamDoor:20210511142041p:plain

見つけると画面のようにパネルビューに宝箱アイコンがセットされます。
いずれか一つを選択すると・・・

f:id:AtelieDreamDoor:20210511142224p:plain

このように結果が表示されます。種類は当たり、空っぽ、罠。
宝箱をあけずに立ち去ることもできます。