夏のブログリレー25日目です。
2023年8月27日から2023年9月3日までの期間で、Game班夏のichigojamであるところの、ichigojam HALFが開催されました!
追記: 配布します
せっかく制作したので、後日少し追加開発したものをここで配布させていただこうと思います!
>> L v1.1.0 for Windows << (2024年3月6日更新)
>> L v1.1.0 for MacOS << (2024年3月9日更新)
気が向いたらステージの追加によるアップデートをするかもしれません。
ichigojamとは?
ichigojamとは、Game班が定期的に開催している15日間でゲームを作るイベントです。
今回は9月に様々なイベントが被ってしまったため、部員の予定などを加味していつもと半分の7日間で開催され、名称もichigojam HALFとなりました。
15日ゲームジャムだったから「いちご」ジャムだったのに!
また、製作期間が短いので今回はチーム参加が奨励される形になりました。
結果今回は3チーム1個人が参加し、その中のteamCから参加記録をお届けします。
製作物
今回のichigojamのテーマは「かべ」と「ロック」。
ということで、今回私たちは「ロック」から着想を得て、物体をロック&解除してすべてのゴールに到達するパズルゲームを作りました!
色のついたブロックはクリックすることで動きを時間的にロックすることが出来ます。全てのポータル様のブロックにボールを当てたらクリアです。
ボールは常に右方向に転がっていて、地形と動くブロック、時にはボール自体を止めることで正しくポータルに導くことが求められるのですが、同じ色のブロックは同時に1つまでしか止められないという特性があります。
上手く止めるタイミングを見計らうのがゲームのキモになるわけです。
また、今回このゲームを作るにあたってはゲームの「スピード感」を意識しました。
死亡時の画面遷移はクリックせずとも流れるスマートなものを作り、背景はボールと同じ方向に動くようにして速度の印象を与え、BGMも早めのテンポでループするものを使用しました。
これにより、失敗してもすぐ次が始まってストレスなく続けられるようなゲームになったと感じています。
過程
これだけだとただの作品紹介になるので、この作品を作った7日間の過程とその反省を書きたいと思います。
開始前
みんなでたくさんの案を出し合い、作るものがボールを転がすアクションゲームで確定するところまで進めました。
最後の4案にはそれぞれのチームメンバーから1案ずつが集結し、決選投票となり、最後の決め手は「もう一方は面白そうだけど7日間で実装しきれなさそう」。今ではその決定に感謝しています。
自分たちが短い期間でどれくらい開発できるのか、どの量なら完成しきれるのかみたいなことを自覚していることはとっても大事です。
序盤
一日目は全てのチームのリーダーが外部のゲーム展示イベントにサークルとして参加しに行き出払いました。全チームのリーダーがいなくなったからまあ実質平等みたいなもんですね。
これの参加記録ブログ記事は出るか分かんないです。Game班班長に期待です。
最序盤は何もないところから協力してプログラミングすることが難しいので、短期間開発を何度か経験している人が基礎を急いで作ることになりました。
今回のゲームで言えば、ブロックをロックしたり解除したりする部分です。
よく見ると、マウスが停止する対象のオブジェクトと重なっていない状態でもロック対象にフォーカスが付いたり、重なっていない状態でクリックして停止していることが分かると思います。
この機構を一人にぱっと作ってもらったことで、「クリックされたオブジェクトが止まる」というベースがある状態で続きを全員で分担して作る体制に入ることが出来ました。
中盤
中盤は分担したタスクを入れたり、開発の過程で発生した問題点を話し合ってどう解決するかみたいなことをしました。
実際に作り始めてからこそ分かる問題なんてものはどう頑張っても発生するものであって、7日間開発ともなればそれは顕著になるので、問題が出た後で開発が減速しないようにどう迅速に解決するかが重要になります。
今回出た問題は、「オブジェクトをロックする」ということの定義でした。
例えば、もし動いているブロックの上にいるボールを「ロック」した場合の挙動はどうなるべきでしょうか?ちょっといろいろと考えてみると、この状態では2通りのパターンが考えられると思います。
一つ目は、「ただオブジェクトの自発的な動きが止められる」とする場合です。
このとき、停止されたボールはそのまま下のブロックに押されたり、乗って画面座標的には動くこともあります。
もう一つは、「オブジェクトが空間的・時間的にその場に停止する」場合です。
この場合は、例えば下のブロックがボールを乗せて上に動こうとするのであればそれは阻まれ、何があっても動くべきではありません。
また、時間的に停止するのであればゴールポータルを停止したらポータルの機能まで停止させたり、止まった周期的な動作をするオブジェクトがその地点から動作を再開することを直感的に実装できます。
今回このゲームでは後者、空間的・時間的に固定される方を仕様としました。その方がステージに幅が生まれそうだったからです。よっぽどの理由がない限りはこっちの方が良い気がするとかではなく、ゲームが面白くなる方に取った方が良くなると思います。
そんなことを話しながら毎日とりあえず集まって進捗を作り、いろいろな機構が完成しました。
終盤
想定されていたスケジュールを超過しながらも、1日残して余っているタスクはタイトル画面作成、背景作成、バグ修正のみとなりました。
やはりスケジュールはちょっと余裕を持って設定しておくに限る。シンプルなゲーム性を選択した自分たちに感謝をする発表3時間前。突貫工事で適当なタイトル画面と背景を何とか間に合わせれたので、7日間で作れるゲームの規模感としてはぴったりだったのかもしれません。
また、一部の作業メンバーのリソースをプログラムからステージ作成に移すことによって、全部で24のステージを作って発表することが出来ました。ゲームの面白さを伝えきるには少なくとも、楽しんでもらえる様々なステージを用意できました。
タイトルは成果物発表30分前に適当に決めました。ゲームの雰囲気として、文字情報を出したくなかったので、タイトルとして認識できつつ、置かれてそれをシンボル的にとらえられる、2文字以下。仮題は「L」となりました。(今後変えるかも)
発表では、発表会に来てくれた部員からゲーム性やステージ数、背景に対していろいろなコメントをしてもらうなどして達成感を得ることができました。
今後
製作したメンバーの所感としては、このゲームは様々な操作の違和感を除いてゲームプレイの心地よさをまだ上げることが出来るほかに、まだまだオブジェクトの組み合わせによってゲームがより面白くなることを確信しています。
時間があれば、よりステージ数を増やしたものを今後サークルの作品として公開できる日が来るかもしれません。
お楽しみに。
メンバーコメント
てねしん (@Tennessine_699)
せっかく7日間で新しいゲームを一からということで、全体を引っ張るほかに自分が使ったことない色々を使ったりしてプログラミング面で得ることもあったichigojamになったなと思っています。
リーダーとしてメンバーを引っ張る能力はまだまだな気はしていますが、可能性の塊みたいなこんなゲームをある程度完成させられるまで付いてきてくれたメンバーに感謝です。
YHz / イキリ虻 (@YHz_ikiri)
プランナーって短期開発だと実質ニート、YHz / イキリ虻です。今回はほとんどゲームに口を出したりステージを考えたりしていました。スクリプトなどは書いていないので実質ニートですね。などと鼻高々ということではないのですが、今回はかなりてねしんさんや23Bの後輩たちにキャリーしてもらいました。ですが、原案のブラッシュアップなど、私の力で役に立てる部分についてはしっかり役立たせていただいたと思います。
beferia (@beferia)
ゲームの発案段階でこれは面白いゲームができそうだなという予感がありましたが、てねしんさんが3日目に1晩でゲームの基礎を作り上げ(すごい)、それを触ったときに、このゲームの可能性と面白さを心の底から感じられて、ゲーム作りの楽しさを存分に味わうことができました。このゲームの製作に携われて本当によかったです。
最後に、プログラミングでは足を引っ張りまくりで、ichigojam8日目(?)の大詰め段階に参加することができず大変申し訳ございませんでした。
penguin23 (@penguin23)
私はボールの動きといくつかのステージ作りを担当しました。ゲームの仕様が固まってきたときは本当にゲームが完成するのかかなり不安でした。このゲームでボールは動きを止めることができるなどの性質をもっており、ボールの動きがそれらの機能と干渉しあって面倒なことになると予想していました。
しかし、開発を始めてみると意外と大きな問題に詰まることなく開発を進めることができました。ゲームの基礎がきれいに整えてあったり、事前に仕様をはっきりさせたことが大きかったと思います。
ichigojamの終盤ではステージ作りをしました。自分が作った部分がほかの機能と組み合わさって動いている様子は感動的でした。移動するブロックや回転するブロックを組み合わせてステージを作るときは、はじめてクレヨンを持った幼児のような気持ちでした。私は自分の妄想の中のステージを形にしていく作業がゲーム作りの中で一番興奮する楽しい作業だと思います。
こんな楽しい経験をさせてもらったチームメンバーにとても感謝しています。ありがとうございました。