2021/05/22:進捗情報
今日はワールドマップの自動生成機能を作りました。
左が以前のもの。右が改良後。
自動生成とはいっても、いたってシンプルです。
方法は-
1.まず、方角の概念で8方向の長さをランダムで取ります。
2.今度はその長さに沿って3つのパターンをランダムに選んで、ワールドの配列にデータを上書きしていきます。
ソースコードは長ったらしくなっていますので、こちらのprocess.jsでみてみてください。
最後にツイッターでどういう動作をするのかを短い動画で確認できるのでリンクを貼っておきます。
ワールドマップを自動生成できるようにした。
— ジョン@膵炎食事制限中 (@AtelieDreamDoor) 2021年5月22日
移動も一歩ずつしか移動できないように制約もつけた。#ゲーム制作 pic.twitter.com/nevW6rLKj0
ちなみに新しい地の開拓時、フィールドの出現率を大幅にあげ、町とダンジョンを極端に下げ、フィールドを探索すると町かダンジョンが低確率で見つかるように設定しました。各種は、レベルごとに1つだけ出現するようにフラグも設けています。
今度はまた絵を描かなければなりません。いっぱい仲間ができるように。それじゃあまたお会いしましょう。
2021/05/21:進捗情報
今日はショップ機能を追加しました。
コマンドから選択して購入するシステムですが、本当は中央のパネルビューを使った方法も考えていましたが、表示をワンクッション置かなければならない手間があれなので、この一案は保留しました。
コードはこんな感じです。
Shopping()はコマンドを用意する関数、ShoppingCommand(name, value, price)はコマンドを選択したときに実行される関数です。
ちなみにcommandオブジェクトにあるpos_xプロパティは、クリックの反応する範囲を位置付るものです。
これからの改良点は、今の状態ではクラッカーひとつしか売ってくれないので、Shopping(”アイテム名”)のように関数を引き出すたびにコマンドを生成してくれるようにしたいですね。商人も色々用意したいし、地域によって販売する物も変わるようにしたい。もっとキャラクターを描いて増やしたいですね。
今度はワールドマップのシステムを改良しようかなんて思ってます。お楽しみに。
2021/05/20:進捗情報
今日アップデートした内容は・・・
・各レベルのモンスターのデータを用意し、出現させられるようにした。
・スタンドイメージを右上に表示するとき、枠内に収まるようにした。
です。
とくに二番目の項目で計算がややこしかったので、ソースコードを解説したいのでしようかと思います。画面表示はこんな感じです。
これがこうなった。
ソースコードはこんなんです。
計算している部分は22から29行。
枠の横幅384ピクセルを基準にして正方形に縮小させます。
22:正方形に収めるため、画像の長い方を取得します。
24:枠より画像がどれだけでかいか倍率を求めます。
26-27:元サイズに倍率を割って枠に収まる長さを求めます。
たったこれだけです。
割とこの計算を立てるのにてこずってしまったので記事にしてみたかったのです。
と、いうことで、次回は町の行商人からアイテムを購入できるようにしようかと思います。
登場するモンスターたち
本ゲームに登場するモンスターたちです。
-LV1-
-LV2-
-LV3-
-LV4-
-LV5-
-LV6-
-LV7-
2021/05/11:進捗情報
今日の更新はー
・装備アイテムの能力値実装
・装備したアイテムの上昇値の表示
・バトル時、装備アイテムのSTR、VIT値を加算。
・ダンジョンレベル1のモンスターが出現するように仮設置。
このくらいです。
次回はまたモンスターの絵を描かなければなりません。
ゲーム制作のほとんどは絵ですからね。これがないと始まりません(汗