17歳を振り返ってみる
Hna_machidaと申します。
先日の2021年12月19日に無事に18歳になることができたので、17歳を振り返って反省などをしつつ今後の成長に繋げていきたいと思いついたので、ここに記すことにします。先に断っておくと、日本語を構成するのが苦手です…。
2020年12月19日~12月末
この頃は「DARK SOULDS III」に熱中していて、日中ゲームのことしか頭になかったです。学校が終わるやいなや、爆速で帰宅しPCを起動して寝るまでゲームするという日々を繰り返していました。
でもこれには訳があって、2か月程度前の10月中旬にAndroidアプリを開発したいと志し、「AndroidStudio」というGoogleが提供するソフトウェアを使って技術書を片手に、勉強を開始しました。しかし、その1か月後に、自分が開発したいアプリとはゲームであるということ、更にはAndroidStudioよりも「Unity」というゲーム開発エンジンの方がゲーム開発に適しているということにようやく気付きました。この瞬間、1か月間のAndroidStudioの勉強の意義と自分自身のやる気が消え去り、無に帰しました…。
このような事件?もあって、12月末になるまで「DARK SOULS III」に日々の時間を捧げていました。「アプリ開発がしたい!」という抽象的な理想だけで、何を開発したいかをよく考えていなかった当時の自分は愚かですが、この失敗で得たものも現時点の自分を構成している一部だということを忘れてはいけないです。
AndroidStudioの開発画面
2021年1月初旬~1月末
先ほどの「Unity」というゲーム開発エンジンの勉強を開始します。正直、最初はUnityをつかうことに抵抗がありました。具体的には「高レイヤーな開発に対する抵抗」です。というのも、便利なライブラリや機能が多く用意されていて、それを用いて開発するというのは、Unity以外にも応用できる知識というのが身につかず、自分自身が成長できないと考えたからです。これはよく聞く問題で、低レイヤーエンジニアの人達が高レイヤーエンジニアよりも偉いと考える要因の1つでもあります。なので、OpenGLやらDirectXやらを用いて自分で開発したいなーという憧れも持ちつつ、当時の自分は勉強を進めていました。実際には、Unityで開発して得られたことというのは想定よりも多くありました。
また、Unityは技術書を用いて勉強しました。その本は、言われたとおりに実装して3つ程度2D/3Dゲームをつくるという内容でした。作り終えた頃には開発に対する面白さを感じてUnityに対する抵抗などほとんど消えていました。
1月末~2月中旬
Unityの勉強を終えて、初めての開発を開始しました。ゲームの内容はミニゴルフで、ステージの各所から1打でカップインさせるというコンセプトのもと、開発に取り組みました。名前はのちに「ゴルフワンショット3D」と決定します。
GooglePlay:https://play.google.com/store/apps/details?id=com.Hna_machida.GolfOneShot
初めての開発だったので、技術書で勉強したとはいえ知らない部分も多々あり、試験的なことを繰り返しました。例えば、Android端末でのスワイプやフリック操作の実装、ゴルフボールをドラッグしてショットの方向や力を調整する仕様の実装、ステージの実装などです。中でも、ステージの実装に一番骨が折れました。当初は各ステージをBlenderで作成したパーツの組み合わせで作成しようと考えていました。そうすることで、Unity側で簡単にちょっとした変更が可能になり、データサイズも小さく済むからです。多大な時間を要した原因は、コライダー(物理衝突のためのオブジェクト形状を定義するもの)同士が隙間なく同じ高さで隣り合っていたとしても、ゴルフボールを転がすとちょっとした段差があるように跳ねてしまう問題が生じたからです。検索しても改善策が見つからず、メッシュ(三角形の形状で面を構成するポリゴンが集合してできた固体オブジェクトのように見えるもの)を結合する、ProBuilderというUnity上でモデリング出来るアセットを使用する、など多くのことを試しましたがどれも問題が発生して何1つ成功しませんでした。パーツを組み合わせてステージを作成するのは諦めて、Blenderという3DCGソフトで1つずつステージをモデリングするという方向にシフトしました。
以上のように試験的なことを繰り返しました。また、この時学校でも定期テストを控えていて、ゲーム開発と同時並行していました。それでも運よく、テストの点数は良かった気がします。
Blenderでステージをモデリング
2月中旬~4月中旬
定期テストも無事終了し、2月中旬に春休みに入りました。春休みは4月初旬までで、1か月半ありました。時間に余裕を得た自分は、この1か月半でゲームを完成させようと意気込んでいました。この1か月半のことは、毎日ToDoリストをこなしていく似たような日々が続いたのでよく覚えていません。ただ、この頃から自分を律することと、時間を大切にすることができるようになりました。
春休みは4月初旬で終わりますが、ゲームが完成したのは4月中旬でした。初めて開発した「ゴルフワンショット3D」は2021年1月末から開発が開始され、同年4月17日にGooglePlayに無事リリースされました。初めてGooglePlayにリリースするときの緊張感を今でも覚えています。コンソールの詳しい使い方が調べても見つからなかったので、緊張しながら使い方を模索して操作していました。その後、教室の掃除中に友達にGooglePlayにリリースしたことを伝えると、ゲームのクオリティの高さに驚いてくれました。
4月中旬~5月中旬
リリース後、心が病んでしまいました。無理もないです。春休みの1か月半、毎日開発のことだけを考えて日々時間に追われながら開発するという経験は初めてでした。また、UIデザイン、音源探し、広告を表示するなど、初めてのことが多すぎて非常に大変な日々でした。
リリース後は心が荒んで何もしない日だったり、脱力感から何も考えられない日だったりが半月程度続きました。この間は、誰とも喋りたくなくてずっと一人で居たかったです。一人で散歩などして、心の状態を回復させていました。
5月中旬~7月中旬
心が次第に回復し、懲りずに新たなゲーム開発を開始します。今回は、市場調査をしてどのようなコンセプトのゲームを制作するか決定しました。今回のゲームは、ゴルフゲームとは全く異なり、ボールをカップインするだけのような単純なゲームシステムではなく、ボードゲームをつくるかのように考えることが多くありました。また、今回は2Dグラフィックスで、100種類近くのキャラクターが登場し全て手書きです(ちなみにマウスで描きます)。コンセプトを決定した時点では、工数など全く考慮していなかったのですが相当時間がかかっています。ちなみに、現在(2021年12月20日)も開発中です。
7月中旬~8月末
ここから4か月間もの長い夏休みに入ります。前回の春休みはそれなりに努力したので、それに倣って今回の夏休みも怠けないよう目標をいくつか設定しました。それらを達成したか否かでまとめて以下に示します。
達成できた目標
・「ゴルフワンショット3D」でゲームコンテストに参加すること
・基本情報技術者試験に合格すること
・継続して筋トレをすること
・ラーメンを食べに行くこと
達成できなかった目標
・開発中のゲームを完成させること
・Twitterを毎日やって影響力を拡大すること
・買ったいくつかのマーケティング戦略の本を読み終えること
・ネカフェに行ってみること
・一人カラオケに行ってみること
・通っていた幼稚園に行ってみること
・ほのかで一日中怠惰に過ごすこと(これは心を病んだ時のために残しておいた)
こうしてみると夏休みの目標にしては多いですが、何せ4か月間もあるので…。しかし、最初のうちは「夏休みはまだ長い」という安心感から怠惰な生活をしてしまいました。1日中時間が自由に使えるというのに、夕方から作業を開始して2, 3時間程度しかやらないみたいな日々が続き、気持ちも入っていませんでした。今になって顧みると、この期間に集中して取り組まなかったので随分開発が遅れたと思います。ただ、自分は弱いので同じようなシチュエーションが今後もあったとき、また怠惰な生活を送ってしまうのではという不安があります。
また、8月初旬に5kg×2セットのダンベルを購入して筋トレを開始しました。徐々に重たいものでトレーニングできるようになっていくという感動から、この頃は非常に筋トレに対するモチベーションが高かったです。
8月末~11月中旬
夏休みの25%を怠惰に過ごしてしまったという後悔と危機感から、9月に入ると開発に気持ちが入るようになりました。ゲームシステムやその矛盾、シナリオ、UIデザイン、データ管理、システム構成など考えることが多く、多大なToDoリストと検討することリストを処理する毎日でした。また、基本情報技術者試験の勉強もしていて、1か月程度勉強して合格できました。
この頃から日々の生活を見直して改善しました。生活リズムを9時寝5時起床に修正し、朝の集中できる時間で作業をするなど、健康的で規則正しい生活と効率的な時間管理を心掛けていました。この4か月間の夏休みで成長できたと思います。
11月中旬~現在(12月19日)
4か月間の長い夏休みが終了し、学校が再開すると同時に多くのタスクが舞い込んできました。主には、下宿先を探して見学し、3つの学校のレポートをこなし、中間テストの勉強をして、エコ検定を受験して、Unity杯に出場して、学祭の準備をしました。本当に休む暇がなくて開発も筋トレも1か月弱中断していました。先日ようやく全てが終わり、時間に余裕が出来ました。
Unity杯(Unityユースクリエイターカップ)は高校生以下が対象のユニティテクノロジーズジャパンが開催するゲームコンテストです。今年は140ほどの作品が応募され、応募作品の中から1次選考、2次選考、本選という感じで枠が絞られ、本選では12作品に絞られます。「ゴルフワンショット3D」で出場したところ、本選に選出され「シルバーアワード」を受賞しました(ちなみに優劣の関係は、シルバー4作品 < 審査員賞2作品 < ゴールド6作品)。本選の作品はどれも完成度が高かったりコンセプトが優れていたりして、自分の作品では敵いませんでした。
Unityユースクリエイターカップ:https://uycc.unity3d.jp/
まとめ
17歳は、Unityと向き合った年でした!そもそも、Unityを始めた理由の1つは、こんな開発をしました!という開発実績を得たいという気持ちが当時の自分にあったからです。そして実際には、開発実績に加えてUnity杯で賞も頂けた訳なのでよかったと思います。しかし、開発を通して自分はゲーム制作に向いていないと痛感しました。苦手だと思ったことを以下に示します。
・ゲームシステムやシナリオ、キャラクターデザイン、UIデザイン、BGMやSEなどに一貫性を持たせること
・プレイヤーの視点に立って物事を考えること
・UIデザイン
・BGM/SE選び
大雑把にまとめると、ユーザが直接見たり聴いたりする部分をつくるのが苦手です。デザインセンスのようなものが欠けているように思えます。そしてデザインが嫌いで学ぶ気も起きません。ただ、ちょっとだけセンスが向上したかも?一方で、得意なことも見つかりました。
・1人で1つの作品を時間をかけて開発し完成させること
これには、ITに対する知的好奇心があったからこそ長い時間をかけて作品を完成できたと考えます。ただ、この好奇心が永久に続く保証はないので不安もあります。僕の強みとはどこにあるんでしょうか…。
現在開発中のゲームが完成したら視野を広げるためUnityから離れたいと思っています。離れた後は、Web開発がしたいと考えています。学生で居られる時間も残り少ないので、色々なことに挑戦したいです。TwitterのTLによく現れる強い人たちは中学生の頃からITを勉強したりなんてしてて、自分との間に圧倒的な差を感じます。
(また、18歳になるまで育ててくれたお父さんとお母さんには感謝してもしきれません。いつかお母さんお父さんに幸せな暮らしをさせてあげたいです。それが今の僕の生きる意義の1つです。生んでくれてありがとう。)
長々と書いてしまいましたが、十分な情報量を載せれたかなーと思います。それでは、18歳も頑張ります!