← 戻る

LÖVE Jam 2019に参加してみた

2019-03-22

# まとめ
LÖVE のゲームジャムに参加して、[Super Jump And Dash Man](https://neguse.itch.io/superjumpanddashman)というゲームを作ったので、遊んでください! LÖVE Jam よかったので別のジャムも参加したい!!!Ludum Dare 44!!

# LÖVE とは
[https://love2d.org/](https://love2d.org/) Lua でゲームが作れるフレームワーク。 2D ゲーム向けで、グラフィクス、サウンド、物理、入力などの機能がシンプルなライブラリとして提供されている。 Windows、Mac、Linux、モバイルなど様々なプラットフォームに対応している。

# [LÖVE Jam](https://itch.io/jam/love2d-jam-2019)とは
LÖVE でゲームを作るオンラインのゲームジャム。2017 年から毎年やってて 3 回目。 土曜 8 時~火曜 8 時までの 3 日間でゲームを作って投稿して、投稿者間でレビューしあって 一人で参加しても複数人で参加しても OK。 お題としてテーマが発表されるものの、あくまでオプショナルで、ゲーム思いつかなかったらネタとして使っていいよ的な感じ。

# 作ったゲームの紹介
[Super Jump And Dash Man](https://neguse.itch.io/superjumpanddashman)というゲームを作った。 その名の通り、ジャンプとダッシュで進んでいくアクションゲーム。 グラフィックはシンプルだけど、操作の気持ちよさに注力したつもり。 慣れると 2 分ぐらいでクリアできるので、タイムアタックもどうぞ。

# 作り方
## 初日
最初に、以下の 2 つをなんとなくテーマとして決めてた。

- 2D Platformer
  - スーパーマリオブラザーズやロックマンのような、横から見たアクションゲームのジャンルのこと
- Box2D ベースで作る
  - いままではなんとなく物理っぽい挙動を自分でプログラムすることが多かったのだけど、物理ライブラリを使った場合どうなんだろう、というのが気になってたのでやってみることにした。結果から言うと、よかった

軽く地形の表示と自キャラ移動を作ってから、[Tiled](https://www.mapeditor.org) を導入した。 Tiled は 2D のマップエディタで、RPG ツクールなどのようなドット絵ベースのタイルマップを作れるのがよくある使い方なのだけど、実は任意の座標に図形や文字を置くことができて、今回はそれでマップを全部作った。LÖVE と Tiled で座標系が異なってて変換に手間取ったりしたけど、座標を手打ちするよりは遥かに楽にマップを作ることができた。 左右移動やジャンプを作って、テスト用のマップを作って挙動を確認して、キャラを動かしながらどんなゲームにしようかなーというのを考えていた。 キャラの移動処理は、[Box2D C++ tutorials](https://www.iforce2d.net/b2dtut/) を参考にしながら実装した。 初日の時点では全然ゲームの最終型が見えてなくて、これはまとまらないんじゃないかなーと思いながら寝た。

## 2 日目
引き続きマップをいじりながらキャラのアクションを実装して、どんなゲームにするかを考えていった。 最初は攻撃とか敵とか作るかなあと考えてたけど、ちょっと時間たりなさそうだなあというのもあって、そのへんはやらないことになった。 初日に壁ジャンプを作ってたので、なんとなく「ロックマンゼロの壁ジャンプ、ダッシュが気持ちよかったなあ」というのを思い出して、それを参考にしながらジャンプとダッシュで進んでいく感じになった。 ジャンプとダッシュは最初から無限にできると微妙なのでアイテムで回数がアンロックされるようにして、じゃあゲーム全体を通して徐々にアクションが開放されていくメトロイド的なゲームにしようとなった。 だいたいアクションと必要な機能が実装できてきたので、このあたりでテストマップは削除して、本マップを作りはじめた。 2 時間マップ作って、7 割ぐらいマップ作ったところで寝た。

## 3 日目
月曜なので仕事。マップ作るだけなら帰ってからちょっとやればいいか~と思ったけど、サウンドとかつけたりすると時間足りないかな~と思って翌日を有給にした。結果朝までかかったので休みにしてよかった。 ひとまずマップを作った。なんとなく 2 日目の時点でスタート地点から進んでくと自然と 1 周してまたスタート地点に戻ってくるときれいにまとまるかなと思っていて、そうなった。その流れで、そのまま 1 周にかかった時間がとれるとタイムアタックできて面白いかな~と思って、時間計測をつけた。 次にサウンドをつけた。 効果音は[bfxr](https://www.bfxr.net/)[chiptone](https://sfbgames.com/chiptone/) という、ランダムでそれっぽい音を自動生成してくれるツールを使って作った。作ったというか、イメージどおりの音が出てくるまでガチャを回した。 BGM は、[KORG Gadget](https://www.korg.com/jp/products/software/korg_gadget/) で。BGM 無いよりあった方がましという気持ちで、とりあえず鳴らしたという感じ。 サウンドつけて、テストプレイやって、だいたい完成でいいかな~と思ったのだけど、それまで Mac で作ってたところを Windows に持っていったら一部動かないところがあって、ちょっと修正に手間取った。 もろもろ調整して、説明を書いて、提出。結局朝までかかった。

## その後
オンラインのゲームジャムは初めてだったのだけど、ジャムの参加者同士でゲームを遊んでレビューし合う仕組みになってて、1 日かけて 37 個ぐらいあった他のゲームを全部遊んだ。これがとてもよくて、ゲーム作ったもの同士なので参考になる意見がもらえたり、他の作品を遊ぶことがいろいろと刺激になるところがあった。

# 感想とこれから
割と直前に思いつきで参加してみたのだけど、とてもよい体験だった。 今回は行き当たりばったりな作り方をした割には、きれいにまとまったと思う。これは自分がすごいのか運がよかったのかどちらかというと、たぶん運がよかっただけな気がする。とはいえ、要所要所でいい選択ができたポイントがいくつかあった結果だと思うので、もっといろいろ作ってみたいという気持ちになった。 あとは、オンラインのゲームジャムは終わったあとにレビューし合う仕組みがあるという部分がよくて、普段ゲーム作ってもなかなかフィードバックをもらえる機会が少ないので、とてもありがたかった。 ということでオンラインのゲームジャム熱が高まっているところに、今月のゴールデンウィークにちょうど[Ludum Dare](https://ldjam.com/events/ludum-dare/44)というオンラインのゲームジャムがあることに気づいたので、多分参加します。次はまた LÖVE でいくか、おそらくその時までには 4.22 が出ていると思うので UE4 でいくか。