目次

一人GWハッカソンとは

GW中に一人でやるハッカソンです。参加者は集中的に何かしらのソフトウェアやサービスを開発しましょう。
より詳しい内容ははてなブログに書いてあります。
一人GWハッカソンをしましょう – もひょもひょしたブログ

一人ハッカソンも今回で四回目です。今回はこれまでとは方向性を変えて、一つゲームを作ってみました。

ちなみに第一回は一人年越しハッカソンということで、三重振り子のシミュレーションをやりました。
第二回は去年のGWで、一次元定常状態のシュレーディンガー方程式の解を求めました。
前回は一人クリスマスハッカソンと称して顔を別の画像に自動で置き換えるやつを作りました。

Twitter TimeLine Shooter

ゲームのルール

Twitter の自分のタイムラインに流れてきたツイートが空から降ってくるので、特殊な銃でふぁぼ(撃)ってふぁぼ数を稼ぐゲームです。ふぁぼられたツイートは爆発します。
ふぁぼは鮮度が重要なので、地面に落ちると見過ごしたこととなり、アウトです。
ふぁぼ数が基準値を超えればステージクリアとなります。

なお、実際にTwitterのツイートがふぁぼられるわけではないのでご安心ください。初期仕様ではふぁぼる様になっていました。

プレイ動画

プレイ動画はこんな感じです。

結構かっこいいでしょう? 一日死ぬほど頑張れば、ある程度作れちゃうんです(おおよそ15時間食事すら取らずに熱中して作ってました)。
Unityは便利ですね。

ただ、この前日までの三日間でゲームジャムに参加してUnityを使ってゲームを作る知見を得たり、前日の夜にUnityでTwitter APIを叩くライブラリ(twitter-for-unity)を自分好みに書き換えたりしていたので、一日で一から作ったわけはないです。去年の秋にも一度2Dゲームを友人たちと作っているので、そのあたりの経験(と友人や自分が書いたコード)は存分に生かされました。

フリー素材も結構良いものがたくさんあって、地面の素材や音源を選ぶだけでも時間がかかったので、そのあたりでもっと時間短縮はできそうではあります。こういった素材って、個人のゲーム制作者の方はどうやって調達しているのでしょうか? 色々とご教授願いたいところです。

一日で仕上げるためにTwitterのキーがべた書きだったり、ちょっと自分でもうへえってなるコードを書いてしまったので、そのあたりを書き直してソースコードは近日公開します。

(2017/05/14 追記) ソースコード公開しました。0V/TwitterTimeLineShooter

技術的な話

一人ハッカソンのたびに毎回書いている技術的な蛇足ですが、今回は前回までと比べてほぼ理論的な内容がなく、本当に技術的な蛇足です。書くことがあまりないとも言います。

使用したエディタやツールなど

  • Unity 5.6.0f3
    ゲームを作るために使いました。クロスプラットフォーム対応のゲームエンジン、そしてその統合開発環境です。
  • Visual Studio 2017 Community
    IntelliSense is GOD. もはや説明はいらないでしょう。マイクロソフトの誇るスーパー便利な統合開発環境です。C#書いてる人間の意見なのでそれ以外の言語ユーザーの参考にはなりません。
  • git
    バージョン管理ツールです。まあ使いますよね。
  • Bash on Ubuntu on Windows
    これすごいですね。
    デフォルトのターミナルエミュレータが好きではないので mintty を入れて使っています。
    今回は git とか Vim とかシェルスクリプトとか走らせるのに使いました。
    ローカルのLAMP環境も作れることがわかったので、これを使えばWindows上でも色々できそうです。

使用したC#ライブラリとAsset

  • twitter-for-unity(をforkしてクラスライブラリにしたもの)
    0V/twitter-for-unity
    Unity で Twitter API を叩く素敵なライブラリです。
    fork元VR Twitter と一緒に絶賛開発中のようですので密かに応援しています。Issue立て等歓迎しているとのことですのでUnityでTwitterやりたい人はぜひ貢献していきましょう。

  • Modern Weapons Pack
    Modern Weapons Pack – アセットストア
    Unity の Asset です。モダンな銃や手榴弾などのモデルがパッケージ化されています。神です。

  • Detonator Explosion Framework
    Detonator Explosion Framework – アセットストア
    爆発のエフェクトに使いました。とりあえず爆破させとけば良いという風潮に乗っかりました。

  • FPS Controller
    Unity の Standard Asset に含まれています。Unity 5.* では Character の中にありました。
    突っ込むだけで「移動」という難しい問題を一気に解消してくれます。
    自分の目的にない動きやあれこれは気軽にスクリプトを直接書き換えて解決できるのが良いですね。

フォントや音楽・画像素材など

フォントはM+ Fontを使いました。
音楽や画像素材などはGitHubで公開された本ゲームのリポジトリを確認してください。近日公開予定です。
(2017/05/14 追記) 公開しました。0V/TwitterTimeLineShooter
ものぐさなので出来る限りライセンス表記不要なものを選びURLなどを書いていないため、あまり参考にはならないかもしれません。

Unity の便利さと楽しさがわかったので、今後も使っていきたいですね。