私はゲームプログラマーです。
運用ではありますが、日々新機能が入れられコードも書いていました。
やりがいも、そこそこある。
しかし、どこか満たされないでいました。
「何か……何か新しいものが作りたい……!」
そんなときでした。
Twitterのタイムラインにunity1weekの文字をみかけました。
気になって詳細を見てみると、どうやらUnityでゲームを作るイベントだと紹介されていました。
それも1週間で。
今回そのゲームジャムに参加し、ゲームを作成しました。 10道 | フリーゲーム投稿サイト unityroom
本記事ではこの「10道」というゲームを実際に作り上げるまで
どんな様子だったか振り返るとともに、反省・感想を述べていこうと思います。
目次
参加することにした
「unity1week!これだ!」
Unity 1週間ゲームジャムを知って勢いに身を任せて作ることを決めました。
欲を言うなら事前に勉強して、
— やまだ たいし (@OrotiYamatano) 2018年11月18日
一週間休みを取りたかったですが、
勉強しながら職場には通常通り出勤して
今回は臨もうと思います!
逆にこんなレベルでもゲームプログラマになれると
ゲームプログラマになりたい人の希望になれば良いなと思います。
作る内容は全く決めていませんでした。
「お題が発表されてから、どんなゲームを作るか考えればいいや」と楽観的に考えて参加しました。
自分がどれだけの時間をかけてどの程度のゲームを作れるのか知りたかったため、
今回のゲームジャムではどのくらい制作に時間がかかったか記録をするために
togglというツールを使って制作時間を測ってみることにしました。
月曜日
そして 2018年11月19日0:00
今回発表されたお題は「10」でした。
10かぁ。10ねぇ……。
— やまだ たいし (@OrotiYamatano) 2018年11月18日
イチゼロ?10個?
う~む。
全くゲームが思い浮かばない。
どうすればいいのかとウンウンと唸りながら、ない頭を絞って出てきたのか以下の案でした。
10回体を強化せよ!「10道」
— やまだ たいし (@OrotiYamatano) 2018年11月19日
10回連続タイミングゲージをチョード良い所で止める単純なゲームを作ります。
柔道は全く関係ありません。#unity1week
初参加、それも使ったことのないアセットなどを大量に使うため目標は低めに設定しました。
この日はだいたい、どんな風なゲームにするか方針を決め、Unityの2018.3をダウンロードだけして寝ました。
月曜日は、もちろん仕事。20時頃に仕事を終え帰宅すると環境を構築し始めました。
とりあえず、今回使おうと思っていたアセット周りをダウンロード、インポートを始めました。
ここで問題が発生。
DNSがおかしいみたいでネット検索が捗らない……。
— やまだ たいし (@OrotiYamatano) 2018年11月19日
なぜかDNSが上手く動かない。
クロームのキャッシュと広告のブロックの拡張機能が原因のようでした。
「これではネットが使えないとアセットもまともにダウンロードできない!」
初っ端からくじける自体に陥ってしまいました。
焦りながらも、なんとか直し、ツールをダウンロードしてきてボクセルモデルを制作しました。
#unity1week
— やまだ たいし (@OrotiYamatano) 2018年11月19日
ボーン入れもしないとなぁ。 pic.twitter.com/UVTJFdfWsD
火曜日
この日も、もちろん仕事。
仕事を終えて、UniRxとZenjectの勉強を進めながら、コードを書きました。
この調子でどんどん行くぞと意気込んでいましたが、また問題が発生しました。
再び環境周りで躓くことになりました。
Dドライブは無事でドキュメントファイルとかも無事だったけど、
— やまだ たいし (@OrotiYamatano) 2018年11月20日
programFilesが死んでたからほぼ全部のソフト入れ直しだった。
そして今!.netFrameworkの参照エラーでエディタ上でエラーが出ない!
前回のWindowsアップデートの際に対応された機能を追加インストールした際、
Program Files配下のインストールされたソフト類が全部アンインストールされていました。
そのアインインストールされていた事実をすっかり忘れていたのが原因でした。
ぜんぜん進まない現実……。
#unity1week
— やまだ たいし (@OrotiYamatano) 2018年11月20日
toggleで時間を測っているんだけど、
現在制作に使っている時間は測っている範囲では4:33:39で、
企画に1:27:51、
そして残り3:05:48のうち
約1時間半を環境の構築や環境依存解決に使ってしまっている。
水曜日
本格的にプログラミングを開始しました。
一応資料としてはUniRx、Zenject、Finite-State-Machineを知っていいたけれど
使って初めて便利さに気づく。
ゲームのなられ ☓
— やまだ たいし (@OrotiYamatano) 2018年11月21日
ゲームの流れ ○
ゲームの制御をなんとかしたくて
UniRxに適したFinite-Stateがあると知り、いれました。
unity1week
— やまだ たいし (@OrotiYamatano) 2018年11月21日
進捗のことを言うのが、はばかられるぐらい進捗駄目です。
UniRxと互換性がいいstate-machineがあるのを知って入れただけであった……。https://t.co/KtnqTfliEi
木曜日
UniRxとZenjectを勉強しながら実装を進めました。
Unity分からん、なんも。
— やまだ たいし (@OrotiYamatano) 2018年11月22日
UniRxを使った場合の正しいコードの書き方を知らず、
書いては書き直すようなことを繰り返し進捗が出ませんでした。
初めてText Mesh Proを触るなどしながら頑張って進めるも勉強不足を酷く痛感しました。
金曜日
休み。勤労に感謝!
気がついたら昼頃に起床しました。
もう設計云々言ってる場合じゃねぇ。
— やまだ たいし (@OrotiYamatano) 2018年11月23日
とりあえず、プロト作るぞ。
進捗が悪すぎると感じ、とりあえず実装を終わらすべきだと考えて、
設計を考えながら実装するのを諦め、実装を急ぐような形に方向転換しました。
とりあえず、タイトルとゲームメインとリザルトを回るように作る。
とりあえず、骨組みとしてタイトルとゲームメインとリザルト画面を回るようにした。
— やまだ たいし (@OrotiYamatano) 2018年11月23日
本当は火曜までに、ここまで実装したかった……。
とりあえず、ツイート機能をつけるぞ。 pic.twitter.com/fyn3EpIdit
ツイート機能の追加。
test:あなたのスコアは0です! https://t.co/Aiov5KDNJF https://t.co/jotnxzlcGr
— やまだ たいし (@OrotiYamatano) 2018年11月23日
お、できたっぽい?
なんとか、ゲーム内部の処理だけは実装。
#unity1week
— やまだ たいし (@OrotiYamatano) 2018年11月23日
進捗がほぼ無い。
とりあえず、後は内部ロジックは出来た。
時間制限タイマーはとりあえず後回し。
ココから演出と音に集中して取り組んでいく。
どれだけ見栄え良くするか、気持ち良い操作が出来るように調整するかが面白さに繋がっていく……はず。 pic.twitter.com/gvEd3TwY5B
土曜日
気がついたら昼頃に起床。
ゲームに何かエフェクトを入れてみたいと思い、
Effekseerをダウンロードしました。
しかし、意外と凝りだしたら止まらなそうだと気づき今回の導入を断念しました。
2つの意味。
— やまだ たいし (@OrotiYamatano) 2018年11月24日
なんで、これまで、このツールを使わなかったのかという後悔と、
今、unity1week中に触り始めたらキリがないという後悔。
今回は使用を見送って適当なアセット使う。 https://t.co/OAa3ArAzHD
(結果的にはエフェクトのアセットは入れられずに今回のゲームジャムは終了した)
後は、ゲージを入れたりなどをしました。
進捗駄目です。
— やまだ たいし (@OrotiYamatano) 2018年11月24日
というか、完成無理じゃね?
とりあえず分かりづらいし説明つけるか……。
後タッチエフェクト。 pic.twitter.com/BLLRC4wyrA
ここで一旦上げてみるることに。
すると案の定動かず、修正。
早めサンプルの投稿で動作確認しようとしたら全く動かないでござる。
— やまだ たいし (@OrotiYamatano) 2018年11月24日
タップ処理じゃなくて軽いバグだった。
— やまだ たいし (@OrotiYamatano) 2018年11月24日
なんとなくいい風なことを言ってみて自分が出来ないことからの現実逃避をしてました。
出来ると思い込んでいたことを、実際にやってみて、できない事、出来る事を認識するのは学び。
— やまだ たいし (@OrotiYamatano) 2018年11月24日
日曜日
ゴリゴリと書き進めていきます。
18時面倒になってきて実装をやめました。
面倒くさいし、もうこれで完成で良いか。
— やまだ たいし (@OrotiYamatano) 2018年11月25日
アップロードして動作確認をしました。
ゲームはプレイしてもらって初めて完成。
タグで告知をしました。
#unity1week
— やまだ たいし (@OrotiYamatano) 2018年11月25日
無事クソゲーがアップロードできました。
作業時間は企画も合わせて約34時間半!
環境構築や知らないツールの使い方を学んだりする時間が予想より多く取られました。
当初予定したものの7割ほどの実装になってしまいましたが、学びが多かったと思います。 pic.twitter.com/l2LKL9oJbI
とまぁ、こんな流れで慌ただしくゲームジャムは幕を閉じました。
反省
ゲームジャムを通して自分の反省点が見えてきたので
良かった点、悪かった点をあげてみようと思います。
悪かった点
開発環境が整っていなかった
普段あまり家で開発していないがため、環境構築周りが整っておらず、手間取りました。
VSCodeは入れていたんですがね……。勉強不足
勉強するために参加したとはいえアセット等、全く触れないで利用するのは間違いだと感じました。会社に遅刻した
裁量労働制なので特に罰則はありませんが、寝坊して会社に数分遅刻しました。
疲れが出たのでしょう。
良かった点
いろんなアセットを利用した
普段使わないアセットを使うことで、とても勉強になりました。チャレンジできた間に合った
曲がりなりにもゲームとして完成させられたのは良いことだと思いました。進捗をツイッターに投稿した
進捗を上げることでジャムを少しでも盛り上げることが、できたんじゃないかなって思いました。しっかり寝た
しっかり寝て参加出来ました。コレは重要です。
寝ないのは駄目です。寿命も縮みます。仕事に影響も出ます。
参加する利点
参加していない方が参加するメリットが
感じられたので書き留めておこうと思います。
他の開発者と一緒にやれてるような一体感を味わえる
開発者と一緒にやれてるような一体感が得られるのは良かったと思えました。他の開発者の存在を知れる
一人で開発したり会社で仕事していると意外と他の開発者がいることに気づけません。
こうやって直に参加することで初めて精力的に取り組んでる人たちが少なくないことに気付かされました。
こんな人がいるのかと思い何人かフォローもさせていただきました。ちょっとした交流
リプライがついたり、フォロワーが若干増えたりします。面白そう。。!更に盛り込めたらより良くなりそう
— GOTOken@天津飯 (@UnityGanbaru) 2018年11月19日
私はしませんでしたがゲームジャムを理由に他の人に積極的にリプライを送るのも良いかもしれませんね。ありがとうございます!
— やまだ たいし (@OrotiYamatano) 2018年11月19日
私は全く面白くなる気がしていませんが、
頑張ってみようと思います。転職先(?)がみつかる
ありがたいことに、こんなリストに入れられました。
こんな風なリスト芸があるのか、なるほどなと感心しました。
転職先を探してる人は、企業へのいいアピール手段なのかも、しれないと思いました。
(公開リストなのでここで晒しても問題ないはず……) twitter.com参加して失うものが少ない
初心者歓迎期限を過ぎてもOK
そんな感じで緩いので参加しないのは損です。
失うのは1週間の自由な時間だけです。通常のゲームジャムと違って会場に行かなくても良い
朝起きたらお昼。なんていう私みたいな人も気軽に参加出来ます。
感想
なんだかんだ今回のゲームジャムは終了しました。
できるだけしっかり寝るようにしていたにもかかわらず、
仕事をしながらだと、だいぶ疲れるのだなと実感しました。
中々進捗が出ず歯がゆい思いもありましたが、久々に開発の楽しさを味わうことが出来、とても良かったと思いました。
自分でどのような機能にするか妄想を広めたり、設計を試行錯誤したり、はじめての機能に触れたりするのは楽しい。
ツイッターでタグ検索すると他の開発者の進捗が分かると一緒に走っているような感覚が味わうことが出来て楽しい。
苦労しているツイートを見かけると「あるある」とニヤリとしたり、進捗を見ると実装早いなと感心したり……。
個人でゲームを作ると孤独だし、チームで作ってもエターナったり、衝突が起こるともある。
その個人で作るとも、チームで作るとも、どちらとも違う、この感覚は素直に面白いし楽しいと思えました。
もし、まだゲームジャムに参加していない方が、この記事を読んでいるのなら
通常のゲームジャムより敷居も低く参加しやすいので、是非今度一緒に参加しましょう。
きっと、そこには普段味わえない充実感に溢れているから。