投げたわ
いや、弾幕ゲーの作成を投げたわけではない。既存のゲームライブラリを使って弾幕ゲーを作ることを投げた。なんと言うか、もうめんどくさい。他人の作った仕様の上で、こまごまやるのが面倒になってきたんや。いちいち操作するたびにAPIを調べるのがクソめんどくさいねん。
というわけでゲームエンジンを一から自分で作成することにした。フルスクラッチっていう奴やね。自分で作ればね、いちいちAPIなりなんなりを調べなくて済むわけですわい。それとそういう「エンジン」というかなんというか、アプリが動く基盤的な感じなものを作ってみたかったというのもある。いっつも誰かが用意してくれた環境上でしょぼいツールばっかり作ってたからね。
しかし当然のことながら、何をすればいいかさっぱりわからない。まあ困ったらググればいいのだ。そんで見つけた。
JavaScriptでフルスクラッチゲーム開発しよう 第1回 準備編
ありがてぇ・・・ありがてぇ・・・!
これでゲームエンジンが作れるね!と、思っていたがこれ途中で終わってた・・・。画像表示までしか書かれていない。
基礎の所は記載されてあったから、十分ありがたい。ただここからは自分の力で作っていくしかない・・・。デザインパターンとか勉強しておけばよかった。
ここまでは順調だった。ここまでは。
「せっかくだからES6から追加されたclassで書いて実装しよう」こう思ったのが間違いだった。動かねえ。
なんやねん、コレ・・・。直下にメンバ変数書けないってなんやねん・・・。そこでずるずると泥沼にはまってしまい、クソみたいな時間をかけてしまった。
うん、Javaと同じ感覚で書いてはいかんかった。ちくせう!名前に「Java」ってついてるならJavaと似たような構文にしてくれや。とりあえず何とかclassを使って書き直した。
ほんでとりあえずこんな感じでできました↓。
今日実装したのは、これぐらいかな
・画像とかAssetsのロード
・音楽を鳴らす
・キーボードで操作できる
・弾を発射できる
まあ初めてのゲーム制作ならこんなもんでええやろ。目標は高くもたない。
明日は敵の実装とかかな~。あたり判定が面倒くさそう。
というか今回、ゲームエンジンを作ろうと思った理由の1つに、「既存のゲームエンジンを使用して弾幕を表示したらひどい処理落ちが発生したから」というのがある。自分でそこら辺の処理をうまくやれば処理落ちを無くせるかな~と思ったんだけど、きつそうっすね。
現状のコードでも無駄な処理が腐るほどあるぞ。まあ適当にやっていく。
現時点の目標
・弾幕ゲーで処理落ちをしないゲームエンジンの作成
・ユーザが弾幕を自由に作れるゲームの作成
多分明日のブログもゲームエンジンの作業報告になりそう。
以上