LOVE2Dでガチプログラミングチャレンジ
いつものように不定期更新です。
おかか容疑者です。
~前回までのあらすじ~
CF2.5はつよいぞーカッコいいぞーー!!
↓
でも先のこと考えたらこれ需要なくね?
↓
プログラミングコードと向き合わねば……うごごご…………
ということで、ゲーム開発者を名乗りたいのであればプログラミング言語を用いたプログラミングもできるようになるべし。という思いで、一度挫折を味わったコードの海へ再び潜ることを決意したのであった。
曲がりなりにもCF2.5でのゲーム開発で少しはゲームを完成まで漕ぎ着けた身なので、今なら多少はプログラミングの組み方も理解はしやすいはず。
ということでゲームを作るならゲームエンジン!
以前はUnityにいきなり手を出して吐血したため再度どれを使うべきか情報を集め、使っていくならばcocosがよいだろうと。
・今のところは2Dゲームしか作る予定がない
・オープンソースでずっと無料で使用可能
その上、現在はcocos editorなるツールを推し進めているとのこと。
こちらはほぼUnityと同じようなシロモノですが、Unityよりも軽く動作し、使用言語がC#よりも覚えやすい(と言われる)javascript。
静的言語よりも動的言語の方が(良く言えば)多少無理に組んでも動いてくれるとのことで、初心者は動的言語から入る方が学習のモチベーションは保ちやすいだろう、というお話も聞いたことがありますので、まずはcocos editorをきっちり使いこなす!!
予定だったんですが。
Twitterのフォロワー様から「学習を兼ねるならばゲームエンジンよりもゲームプログラミング用のツール使った方がいいですよ」というアドバイスが。
そこでオススメされたのが表題にある、
LOVE2Dというモノでございました。
私はこのとき初めてLOVE2Dの存在を知りました。
加えて使用されている言語はLuaという、これまた全く聞いたことがない言語。
ちょいと調べてみるとなるほど確かにGUIというものが無い。え?どうやってオブジェクトの表示するの??
でもこれでゲーム開発はできると。
しかもどうやら、かの「StrangeTelephone」やら「アンリアルライフ」(本日クリアしました(´;ω;`))も、このツールで作られているそうです。
すげえじゃん。
そんなわけで、幸いネット上でも情報は収集できるツールなため、イチからド素人が手探りでLOVE2Dに取り掛かってみることとなりました。
しかもCF2,5は勉強がてらPagan Dogmaシリーズを開発していたので簡単な部分からやっていけたんですが、今回はそれなりにボリュームのある作品(次回作)をこの新規のツールでやってみるかという冒険。
どうしても無理そうならこの作品はCF2.5で完成させて、その次から使ってみる形でもいいかなーと考えてスタートしてみました。
んで結果。
いろいろ作って、ようやくCF2.5で開発していた分の仕様はLOVE2Dでも入れ込むことができました!
— おかか容疑者(Okaka-Suspect) (@daidaimyou) 2020年11月29日
ここからはまた仕様考えたり素材作りながらの進行になりますので少しづつ進めます😋😋#love2d #ペイガンシューターズ pic.twitter.com/1HeAK5oqkj
やれてるじゃん(*´ω`*)
とはいえ本当にワケわからん中で突っ走ってどうにかって感じであり、コードの書き方もおそらく酷いもんだとは思います。
しかし、ゲームクリエイターが知るべき97のことにて「インディーゲーム開発者は他のプログラマが見て失笑するようなコードであってもとにかく早く実装できる方が大事」という言葉を見た(意味合いはもっと深いんだと思いますが)ので、この信念をもってとにかく仕上げる、完成させるのを目標に走り続けたいと思います!
実際コードを書くにあたり、CF2.5での組み方は考え方として参考にできて経験がかなり役立っているなと感じております。
ここはこんな感じでやれば実装できるなってのが何となく掴めているので、それをどう書けばいいのかを考えればいいな、という。
衝突判定に関してはライブラリのbumpを使うべきだと思ったんですが、テーブルに入れてある複数出るオブジェクトとworldを紐付けさせる方法がどうしてもわからず、今回は四角形同士のAABB判定で実装してみております。簡素なシステムなのであれば無理にライブラリを用いるよりも自作で短く書いた方が軽くできる、とも聞いたのでヨシとしましょう!
こういうものはまた別の作品で再度扱ってみて把握できるとええですね。
割と無謀感もありますが、今はなんとかやりきれるんでないかな?という淡い期待は持ちながらやれてるので、壁にぶつかって乗り越えながら新しいペイガンシスターズの物語を紡いでゆきたいですね(*´∀`*)