友達が「ゲームを作りたい」という話を持ちかけられ、横スクロールゲームを作ってみました。
ちなみに、その友達は、ゲームグラフィッカーをやっていて、ゲームで使うスプライトチップや、背景画像などを独自で作っていて、
それらを使ってゲームを作りたいという相談だったんですね。
まだ完成というワケではないですが、とりあえず動くバージョンというモックアップができたので、ブログで紹介しておきます。
デモ
https://yugeta.github.io/one-shot/src/
リンク先でいきなりゲームが始まります。
今現在はパソコン(キーボードが必要)だけで遊ぶ事ができます。
スペース : ジャンプ
Z : ミサイル発射
操作は上記のみです。
github
https://github.com/yugeta/one-shot
惜しむ事なく、githubにソースコードを載せているので、みたい人は上記リンクからコードを参照してみてください。
ゲーム開発の話
今回は、Webアプリを意識したブラウザゲームとして作るというミッションでした。
ネイティブアプリも考えたんですが、ブラウザアプリにしておくことで、ネイティブアプリにコンバートしたりできるし、
URLだけで遊べるというメリットを今回は採用しました。
そもそもこのゲームは、アイキャッチ画像を友達が事前に作っていたので、横スクロールゲームという仕様は決まっていました。
夜の街をキャラクターが失踪しながら、敵キャラをミサイルで撃ち落としていくだけで、延々終わらないゲームという想定でスタートしたんですね。
開発ポイント
一番苦労したのは、自キャラのジャンプタイミングをどういう計算で行おうか考えたんですが、王道のジャンプ計算式アルゴリズムでこうちくしたところ、
じゃっかん速すぎたり、フワフワしてたりしたので、あとはこまかな数値調整で、こんなもんか!の値で留めておきました。
ジャンプの長押しでジャンプ距離が高くなるというのも、少し苦労したポイントですね。
あとは、ビルがランダムな階層で通り過ぎていくとこも、3パターンのビルをランダムで表示して、高さもランダムで決めているんですが、ジャンプで飛び移れない高さを表示するのも気持ちが悪かったので、
ランダムで出して上限の高さ調整を行なっています。
敵キャラは、ランダムで座標をきめて一直線に進む仕様ですが、キャラを色分けして少し動きを変えてもいいかもですね。(今回は急ぎだったので見送りました)
あ、ちなみに、github見た人は気がついたかもしれませんが、画像ファイルがソースの中にないのは、zipで固めて、jsでアーカイブ処理を行なって使っているからです。
Webアプリって毎回ダウンロードをする必要があるから、ちょっとでもサイズを軽くしたいと思って今回試しにこの仕様にしてみました。
画像入れ替えが少し大変になりますが、デプロイ方法を工夫すると良い感じになりそうですね。(他のゲームでも使えそうです)
あとがき
細かなところでまだまだ手を入れたいところはたくさんあるんですが、こういうゲームを作り始めると、エンドレスになってしまうので、ひとまずモックアップで留めておくことにしました。
でもこれ、スマホでプレイできるようにしないといけないですね。
そのうちにやっておきます・・・(今はスミマセン)
0 件のコメント:
コメントを投稿