YAMADA TAISHI’s diary

ゲームについてとか私の日記とか。このブログのあらゆるコードは好きにどうぞ。利用規約があるものは記事内のGitHubのRepositoryのリンクで貼られていると思うので、そちらを参照ください。

Unity 1週間ゲームジャムに初参加したって話

私はゲームプログラマーです。
運用ではありますが、日々新機能が入れられコードも書いていました。

やりがいも、そこそこある。
しかし、どこか満たされないでいました。

「何か……何か新しいものが作りたい……!」

そんなときでした。
Twitterのタイムラインにunity1weekの文字をみかけました。
気になって詳細を見てみると、どうやらUnityでゲームを作るイベントだと紹介されていました。
それも1週間で。

今回そのゲームジャムに参加し、ゲームを作成しました。 f:id:OrotiYamatano:20181129175100j:plain 10道 | フリーゲーム投稿サイト unityroom

本記事ではこの「10道」というゲームを実際に作り上げるまで
どんな様子だったか振り返るとともに、反省・感想を述べていこうと思います。


目次


参加することにした

「unity1week!これだ!」
Unity 1週間ゲームジャムを知って勢いに身を任せて作ることを決めました。

作る内容は全く決めていませんでした。
「お題が発表されてから、どんなゲームを作るか考えればいいや」と楽観的に考えて参加しました。

自分がどれだけの時間をかけてどの程度のゲームを作れるのか知りたかったため、
今回のゲームジャムではどのくらい制作に時間がかかったか記録をするために
togglというツールを使って制作時間を測ってみることにしました。

toggl.com


月曜日

そして 2018年11月19日0:00
今回発表されたお題は「10」でした。

全くゲームが思い浮かばない。
どうすればいいのかとウンウンと唸りながら、ない頭を絞って出てきたのか以下の案でした。

初参加、それも使ったことのないアセットなどを大量に使うため目標は低めに設定しました。
この日はだいたい、どんな風なゲームにするか方針を決め、Unityの2018.3をダウンロードだけして寝ました。

月曜日は、もちろん仕事。20時頃に仕事を終え帰宅すると環境を構築し始めました。
とりあえず、今回使おうと思っていたアセット周りをダウンロード、インポートを始めました。
ここで問題が発生。

なぜかDNSが上手く動かない。
ロームのキャッシュと広告のブロックの拡張機能が原因のようでした。
「これではネットが使えないとアセットもまともにダウンロードできない!」
初っ端からくじける自体に陥ってしまいました。

焦りながらも、なんとか直し、ツールをダウンロードしてきてボクセルモデルを制作しました。


火曜日

この日も、もちろん仕事。
仕事を終えて、UniRxとZenjectの勉強を進めながら、コードを書きました。
この調子でどんどん行くぞと意気込んでいましたが、また問題が発生しました。
再び環境周りで躓くことになりました。

前回のWindowsアップデートの際に対応された機能を追加インストールした際、
Program Files配下のインストールされたソフト類が全部アンインストールされていました。
そのアインインストールされていた事実をすっかり忘れていたのが原因でした。

ぜんぜん進まない現実……。


水曜日

本格的にプログラミングを開始しました。
一応資料としてはUniRx、Zenject、Finite-State-Machineを知っていいたけれど
使って初めて便利さに気づく。

ゲームの制御をなんとかしたくて
UniRxに適したFinite-Stateがあると知り、いれました。


木曜日

UniRxとZenjectを勉強しながら実装を進めました。

UniRxを使った場合の正しいコードの書き方を知らず、
書いては書き直すようなことを繰り返し進捗が出ませんでした。
初めてText Mesh Proを触るなどしながら頑張って進めるも勉強不足を酷く痛感しました。


金曜日

休み。勤労に感謝!
気がついたら昼頃に起床しました。

進捗が悪すぎると感じ、とりあえず実装を終わらすべきだと考えて、
設計を考えながら実装するのを諦め、実装を急ぐような形に方向転換しました。

とりあえず、タイトルとゲームメインとリザルトを回るように作る。


ツイート機能の追加。
なんとか、ゲーム内部の処理だけは実装。


土曜日

気がついたら昼頃に起床。
ゲームに何かエフェクトを入れてみたいと思い、
Effekseerをダウンロードしました。

しかし、意外と凝りだしたら止まらなそうだと気づき今回の導入を断念しました。

(結果的にはエフェクトのアセットは入れられずに今回のゲームジャムは終了した)

後は、ゲージを入れたりなどをしました。


ここで一旦上げてみるることに。
すると案の定動かず、修正。


なんとなくいい風なことを言ってみて自分が出来ないことからの現実逃避をしてました。


日曜日

ゴリゴリと書き進めていきます。
18時面倒になってきて実装をやめました。


アップロードして動作確認をしました。
ゲームはプレイしてもらって初めて完成。
タグで告知をしました。

とまぁ、こんな流れで慌ただしくゲームジャムは幕を閉じました。


反省

ゲームジャムを通して自分の反省点が見えてきたので
良かった点、悪かった点をあげてみようと思います。

悪かった点

  • 開発環境が整っていなかった
    普段あまり家で開発していないがため、環境構築周りが整っておらず、手間取りました。
    VSCodeは入れていたんですがね……。

  • 勉強不足
    勉強するために参加したとはいえアセット等、全く触れないで利用するのは間違いだと感じました。

  • 会社に遅刻した
    裁量労働制なので特に罰則はありませんが、寝坊して会社に数分遅刻しました。
    疲れが出たのでしょう。

良かった点

  • いろんなアセットを利用した
    普段使わないアセットを使うことで、とても勉強になりました。

  • チャレンジできた間に合った
    曲がりなりにもゲームとして完成させられたのは良いことだと思いました。

  • 進捗をツイッターに投稿した
    進捗を上げることでジャムを少しでも盛り上げることが、できたんじゃないかなって思いました。

  • しっかり寝た
    しっかり寝て参加出来ました。コレは重要です。
    寝ないのは駄目です。寿命も縮みます。仕事に影響も出ます。


参加する利点

参加していない方が参加するメリットが
感じられたので書き留めておこうと思います。

  • 他の開発者と一緒にやれてるような一体感を味わえる
    開発者と一緒にやれてるような一体感が得られるのは良かったと思えました。

  • 他の開発者の存在を知れる
    一人で開発したり会社で仕事していると意外と他の開発者がいることに気づけません。
    こうやって直に参加することで初めて精力的に取り組んでる人たちが少なくないことに気付かされました。
    こんな人がいるのかと思い何人かフォローもさせていただきました。

  • ちょっとした交流
    リプライがついたり、フォロワーが若干増えたりします。

    私はしませんでしたがゲームジャムを理由に他の人に積極的にリプライを送るのも良いかもしれませんね。

  • 転職先(?)がみつかる
    ありがたいことに、こんなリストに入れられました。
    こんな風なリスト芸があるのか、なるほどなと感心しました。
    転職先を探してる人は、企業へのいいアピール手段なのかも、しれないと思いました。

    (公開リストなのでここで晒しても問題ないはず……) f:id:OrotiYamatano:20181129120816p:plain twitter.com

  • 参加して失うものが少ない
    初心者歓迎期限を過ぎてもOK
    そんな感じで緩いので参加しないのは損です。
    失うのは1週間の自由な時間だけです。

  • 通常のゲームジャムと違って会場に行かなくても良い
    朝起きたらお昼。なんていう私みたいな人も気軽に参加出来ます。


感想

なんだかんだ今回のゲームジャムは終了しました。
できるだけしっかり寝るようにしていたにもかかわらず、
仕事をしながらだと、だいぶ疲れるのだなと実感しました。

中々進捗が出ず歯がゆい思いもありましたが、久々に開発の楽しさを味わうことが出来、とても良かったと思いました。
自分でどのような機能にするか妄想を広めたり、設計を試行錯誤したり、はじめての機能に触れたりするのは楽しい。

ツイッターでタグ検索すると他の開発者の進捗が分かると一緒に走っているような感覚が味わうことが出来て楽しい。
苦労しているツイートを見かけると「あるある」とニヤリとしたり、進捗を見ると実装早いなと感心したり……。
個人でゲームを作ると孤独だし、チームで作ってもエターナったり、衝突が起こるともある。

その個人で作るとも、チームで作るとも、どちらとも違う、この感覚は素直に面白いし楽しいと思えました。

もし、まだゲームジャムに参加していない方が、この記事を読んでいるのなら
通常のゲームジャムより敷居も低く参加しやすいので、是非今度一緒に参加しましょう。

きっと、そこには普段味わえない充実感に溢れているから。