目次
ゲームと今回の目的
このゲームは「勇者を育てる」のではなく、あえて育成をリセットしながら、結果を調整していくという遊び方をします。が、結局制作過程は通常と変わりありません。
技術としては、JavaScript + HTMLだけです。ブラウザでそのまま動きます。なので、特別な環境は不要です。
ここでは「ゲーム紹介」ではなく、どう作ったかに重点をおきます。
JavaScriptでつまずきやすいところ
- 描画が止まる:関数の中で処理を詰め込みすぎていることが多いです。小さく分ける。
- キャラがカクつく:
requestAnimationFrameを使っていない可能性。 - 当たり判定がズレる:画像の原点と座標を意識すると直りやすいです。
- スマホ対応:最初からやろうとしない。あとでボタンUIを足すくらいで大丈夫です。
育成ゲームの考え方(ざっくり)
勇者の行動をまず作ってみて、結果が気に入らなかったらリセットして調整する、この繰り返しが面白さになります。今回は時短のため、面白さはあまり求められなかったので、次の作品は多少時間がかかっても、面白さを追求していこうと思います。
AIの使い方
AIは「全部作ってもらう」ではなく、面倒なところの型だけ作ってもらう使い方が一番うまくいきました。
- 「Canvasの基本ループだけ作って」→ OK
- 「ジャンプの調整を一緒に考えて」→ OK
- 「今こうなってるけど、こうしたい」→ OK
- 「このゲーム全部作って」→ だいたい噛み合わない
あとで自分で触れる形にしてもらうのが大事です。
Pyxel版にしたときの違い
もしこのゲームを Pyxel(Python)で作ったらどうなるか、簡単にまとめます。
- 見た目がレトロ風になりやすい
- 画面サイズが小さめなので、UIが考えやすい
- ブラウザで動かすには少し工夫が必要
- アニメを作る時は、絵を「ドット単位」で意識する必要がある
- pixelは文字が基本英語(外部から日本語フォントを持ってくる必要あり)
どちらが上とかはなく、作りたい雰囲気で選ぶのがいいという印象です。