第3回 10時間GameJamに参加してきた

きたのでまとめです。
先に作品ページを載せておきます。自分は10番目「まちへかえろう(仮)」
第 3 回 10 時間 Game Jam 作品情報ページ
あっ、写真はあまり無いです(全然撮らない性格なので)

会場入り

開場はコワーキングスペース茅場町 Co-Edo。
会場入りは8:50くらいでした。実際には隣のカフェで10分くらい時間つぶしてたので8:40分前くらいに到着してました。まだ準備中で入れないと思ってたらすでに先客が居た

挨拶といろいろ説明と自己紹介

自己紹介は前回の反省を生かして極力完成させるぞ~~みたいな内容にしました。前回「C++10年目です」みたいなこと言って全然完成できなくてうぐぐとなったので完成への意気込みをメインに。プログラミング歴と製作時間は相関しないのだ(?

製作開始~まずは企画をかためる

どんな小さなゲームであっても企画段階というのは大事なものです。ここで手順を絞れるかが短時間で作れる鍵になる、と思います。たぶん。なので1時間~2時間は企画で潰れるかなぁと思っていました。実際にやるまでは。

そして完成した企画書(草案?)は以下
f:id:Percentage:20150713001616j:plain
細かなテーマとゲームの画面一つ(したのやつは作ってる最中にメモしたやつです)。
確か5分とか10分くらいで出来上がったんじゃないかな?今思うとよくこれで作れたなとは思いますけどね。

最初の壁

最初はTonyu Systemで作る予定でした(小さなゲームだし、派手な効果は使わない予定だったので)。でしたが、(正しい使用法にも関わらず)必ず発生するスタックオーバーフローに悩まされ、プレイヤーの動きを作った辺りでポシャりました。残念

AngelScriptとの出会い

実際Tonyu Systemがポシャったところで私にはあと「DxLib」「Unity」「Siv3D」「DirectX」「OpenGL」という5つの手札があったわけですが、この内Unityの2Dは苦労した思い出しかないので真っ先に除外、DirectXOpenGLも組んでいる暇がないので除外、DxLibは前回使ったのと、あと内部実装がDirectX9だったり描画時にフィルタが掛かったりして気持ち悪い今回のゲームコンセプトからは外れると思ったので、ほぼ消去法でSiv3Dの使用が決定しました。
当日発表時にも言ったのですが、主催が主催なのでSiv3Dの知名度は十分でしょう、ということで10HGJでは極力Siv3D以外で作る、ということを内なる目標としていたのですが割りと簡単に心が折れました。弱い
そして、Siv3Dを使うのであれば何かエンジン作者を驚かすようなことをしたいなと思ったので(目の前にいますし)、Siv3Dの実装予定にある「スクリプト機能」を一部先取りするような形で実装することになりました。AngelScriptはC++に似ていながらコンパイルが速いので、ゲームで頻繁に変更するであろう「オブジェクトの挙動」を書くのには最適でした。また、当時はまだ制作環境を切り替えたばかりでTonyu Systemでの心残りもあったので、AngelScriptの「コルーチン機能」を使ってTonyu Systemっぽく書けるように少しこしらえてみました。基本的にはネイティブ関数update()で実行コンテキストを中断するような仕組みになっています。この辺りはGistを見てもらったほうがいい気がします。

ScriptEngine: Sample AngelScript Compact Loader/Ru ...

ちなみに、AngelScriptのランタイムを組むのははじめてです。というか組み込みスクリプトを使うこと自体はじめてです。BulletMLは使ったことあるけどスクリプトというよりマークアップ言語で形が微妙に異なるので除外。

ドット絵

ゲームコンセプトとして「レトロちっくな感じ」というものがあったので、グラフィック作成においてPhotoshopは第一候補から外れました(あとでタイトル作るときに復活してきますが)。そして残ったのが「ペイント(mspaint)」か「EDGE」なのですが、ペイントはWindows Vistaになってから急にドット絵にやさしくない感じのソフトウェアに成り下がりやがったのでほぼ1:99でEDGEの使用が決まりました。当然予定外(というかエディタまで準備の手が回らなかった)のでその場でダウンロードしました。絵についてはこれ以上語ることがないので終わりです

実際の役割分担

先ほどAngelScriptを使用したと書きましたが、具体的には

  • キャラクタの動作(キー入力に応じて座標値を変える、転んだ時とかの挙動を書く)はAngelScriptで
  • AngelScriptを実行した結果、そのグローバル変数(x, y, angle)に応じてC++/Siv3D側でキャラクタを描画

という感じに分けています。行動ロジックをC++から外に出したので幾分すっきりするようになったはず...と思いきや描画部分がかなり長くなってしまってあまり優しくはない感じになりました。

発表会

f:id:Percentage:20150713011021j:plain
ピザの写真だけ(偶然にも)撮っていたので置いておきます(顔も名札も写ってないし多分大丈夫)

夕飯にピザを食べてから各自順番に発表がありました。私は10番目なので少し後ろ寄りでした。
みんな所属を最初に言っていたので私も所属から話し始めたのですが、あまりにも長いので噛むかと思いました。ちなみに「デジタルハリウッド大学 デジタルコミュニケーション学部 デジタルコンテンツ学科」です。あの大学の学部学科はこれしかないんですけど、なれないうちは学部と学科がよくごっちゃになってた記憶があります。半年~1年くらいの新入生はほぼ覚えられないと思う。ちなみに履歴書に書くときはほんとに地獄です。これに「卒業見込」とか入れようものなら潰れるのも覚悟するしかないです。0.5mmのボールペンでなんとか書けますけど。
作品についてデモンストレーションを何回か行ったのですが、なんか乱数調整が入ったのかやけに難しくて壇上では記録更新が出来ませんでした。開発中は4桁とか普通に行ってたのに

あとで試遊時間に気づいたのですが、記録更新した後続けてプレイすると記録更新してなくても更新の表示が出ます。致命的ではないけどバグです(フラグをクリアし忘れていました。記録そのものは更新されません)。

おしまい

参加してきたまとめとしては絶望的なくらい雑なのですがここでおしまいにしておきます。というかこれ以上は書くことがありません。とりあえず今回はひとつの目標であった「完成」にできたかな?という感じなのでよかったです。

ちなみに、今回の上位作品は

  1. 【6】 23 Paint/ミツゴロウ
  2. 【13】 DAWN OF THE KAYABACHOU/amida
  3. 【5】ユメマチユメ/ナムアニクラウド

でした(敬称略)。最終形の作品の公開は7/31の予定なので、その時は(自分の作品含めて)よろしくお願いします。

今後について

10時間GameJamとしてはこれで終わりなんですけど、一応その後も(期日までは)続きを作ることができて、今回は7/31が期日とちょっと短めですが拙作「まちへかえろう」もいくつかの修正をして提出をしようと思っています。そこで、忘備録的にここに修正点を書いておきます。

  • 更新表示バグの修正 OK
    • 記録を更新している場合、リアルタイムで強調表示をする
  • タイトルからゲーム画面に写った際に背景レイヤーが一部初期化されないやつの修正 OK
    • 当時は味があるしこのままでいいやと思ってたんですけど、やっぱ気になるので消します
  • BGMの追加 余力があれば
    • ピスコラでがんばります(ちなみに効果音もピスコラ)
  • ハイスコアの(Twitterへの)投稿 なし
    • ハッシュタグを付けて擬似ネットランキングみたいなのをつくるのもおもしろそうかな?ただ荒らしやなりすまし対策をどうするかが課題っぽい
  • プレイヤーにアニメーションをつけたい なし
    • 色が見づらくてアレなので変更が入るかも
  • 障害物のバリエーションの追加
    • あと出現間隔の調整もします これはOK
    • 10時間GameJamのロゴがあるのをすっかり忘れていたので、この期間で追加で使うかもしれないです なし

「Deep White」ループ指定済みogg素材の配布

プログラミング関連についてだけ書こうと思ってたんですけど一回だけ音楽関係の宣伝させてください(?

先日公開された仮想RPGサウンドトラックコンピ「FABULA DEMI FORTIS」にて、JourneyCat名義でTrack6「Deep White」というで参加させて頂いたのですが、どうせなのでループ指定済みのoggも使用フリーのBGM素材として配布しようかなと思います。
https://dl.dropboxusercontent.com/u/48004314/dw_looped.ogg

トラック自体はコンピレーションに収録されているものと全く同じものなのですが、FOLEというソフトを使用してRPGツクールVX仕様のループ情報を書き込んであります。なのでインポートしてすぐに使用することができます。ツクール以外でもコメントループに対応しているものであれば(例えばYellow Music Playerとか)そのまま使用可能です。
コメントループに対応していない場合は、プログラムであれば2分30秒~4分29.970秒の範囲をループさせてあげると綺麗にループします(4分30秒でもそれなりに繋がりますが、微妙にもたつきがあります)。
もし、もし使っていただけるような場合はどこかに私の名前を入れていただければそれだけで構わないです。

別に絶対に使ってほしいというわけではなくて、もし使いたいという人がいたら、と思って書きました。
コンピレーションには他にも魅力的な曲が沢山あるので、もし興味があったら一度聴いてみるといいと思います。 soundcloud.com
ダウンロードはこっちです https://drive.google.com/file/d/0ByQK4dT2tlgLLTcxbmZHZWZ0ZVE/view

再移転マン

静的ページだとやっぱコメントしたいって人がもしいた場合になんともならないのでもう一回ブログシステムに移ってきました(多分ここから変わることはないと思う)
記事移すのはもう面倒なのでGitHub Pagesのほうのも当分残しておきます。もしあっちの記事に対してコメントとかがあったらここに