卒業生たちの声と最終課題作品紹介

2期生


【ジャンル】アイテム回収ゲーム

【ゲームの概要】
コンセプトとしては?離見の見?の大切さから今にはないもの想像していこうということを作品にしました。
具体的にいうと、例えばx,y軸で座標をPI/3回転させるとします。 unityではrotateでできますが、その求め方を数学的に考えて見ると1.2.3などの実数だけで回転した座標を求める手法として 虚数というこの世の中にはない数字を合わせた複素数を用いて求めるのが一般的です。
このように今の地球上にあるものだけや常識的な考えだけでは視野が狭いということを問題提起しています。
なので、鳥は今のところ宇宙では飛行しませんが、あえて鳥を地球上で飛ばせてみました。
また、地球上にはたくさんの生物がいる中、なぜ鳥にしたかというと、離見の見を意識して頂きたかったからです。
そもそも離見の見とはgoo辞書によると?世阿弥?の能楽論で、演者が、自分をはなれ観客の立場で自分の姿を見ること。 自分の演技について客観的な視点をもつことをいう。
離見。つまり、自分と相手のことをまるで上から見ているかのように見るということです。
なので上から見るということで鳥にしました。

【こだわった部分】
使った技術としてはアニメーションとデータベースです。

【苦労した部分】
まずは背景と音です。play中にはコンセプト以外の音を入れることでplayしている感を出そうとしたのですが、 音が喧嘩しないようにしようということをしっかり考えてサウンドを選びました。 この作業がなかなか苦労しました。

【テクスタを受けてみた感想】
TechStadiumでは授業中ではunityとサーバーを学びました。
なかでも、テクノロジーの楽しさを学べたことがとても良かったです。


【ジャンル】対戦ゲーム

【ゲームの概要】
・現実世界に出現した魚を捕まえるゲーム
・スコアはResult画面でデータベースに送ることができ、過去最高のスコアも表示される。
・一応音楽のリズムと魚の出現タイミングを合わせてあるので、音ゲーとしても楽しめる?

【こだわった部分】
・Unityに既存である物理計算を用いない物理挙動 //重力は9.8m/s2。この値と時間を掛け合わせて加速度を計算する。
velocity += new Vector3 (0, -9.8f, 0) * Time.deltaTime; //位置は加速度にさらに時間を掛けることで計算。
//放物線を描く魚を、常に前方を向くように速度をnormalizeして方向を出す。
Vector3 direction = velocity.normalized; transform.forward = direction;//で指定した方向を常に向かせている。
・PhotonとRPC通信値(変数)の受信と送信が行いたかったため、prefabの同期というよりはRPC通信を主に使った。 相手のスコアが自分のゲーム画面でも見ることができると、競争心が湧くのでは、と思ったため実装。
・ARKit 今回は地面検出の部分まで実装することができなかった。 ARkitを用いてカメラで得た映像(扱いとしてはほぼ画像)を今回のプロジェクトの背景に表示させている感じ。
・Shader 本当はARKitで検知した地面にPlaneをおき、Shaderをかけて水面から魚が飛び跳ねているような挙動にしたかったのだが、今回は実装できなかった。
画面下、水色の部分がShaderをかけた部分で、水面を表現している。
・ハイスコア表示機能 概要の部分でも述べたが、自分のスコアの送信とこれまでのハイスコアの取得がで きる。APIを使用した。

【苦労した部分】
・AR部分。結局実装には至らなかったが、AR部分はUnityリファレンスや個人のやってみた系のブログもあまり充実しておらず、苦労した。
サンプルを参考に試行錯誤したが、原因のよくわからないエラー(iPhoneではビルドできないがiPadではできるなど)や、 ビルドできる回数に制限があったりなどして思うように実機テストができなかったのも原因の一つ。
・UIや音楽は簡単にできるかと思っていたが、意外と大変だった。特にUI部分でのアンカーとピボット。これも実機でのテストが必須となるので何回もビルドして修正した。
音楽は素材を集めてくるまではよかったが、魚の動きに合わせたり、いらない部分を切り取ったりと別ソフトでの編集を行った。
*uGUIにもShaderはかけられるらしいので、今後挑戦したい
・まだまだ勉強不足だと感じているのはAPI通信の部分。授業はほとんど流れの確認に費やし、PHPで書いてあるコントローラーの中身は正直全て理解できているわけではない。
またMac特有の403エラーや、MacOS上ではなくVMとして動くXAMPPにも翻弄された。

【テクスタを受けてみた感想】
自分でもプログラムが書けたということが感動的だった。そしてTechStadiumでは技術的な要素だけでなく、学ぶ姿勢そのものを学ぶことができたと思う。
私はスライドの途中に質問してしまうことが多く、リモート組の方々には迷惑をかけてしまい申し訳なかったとは思うが、 わからない部分があった時にすぐに聞ける環境と、嫌な顔をせず返答してくれた先生方の存在は本当に貴重だと感じた。
そのおかげでプログラミング初心者の自分でも授業についていくことができたのだと思う。感謝しています。
最後の課題制作は実装ができなかったことはいくつかあるものの、こうして自分の手で作ったものが形になることはこれからの自分の自信にも繋がり、 次へのチャレンジの原動力にもなる。またTechStadiumは受講者同士のコミュニケーションにもなるのではないだろうか。
(今回は2人だったが)自分の技術不足や周りに置いていかれてはまずい、ということを日々感じながら受けるカリキュラムは適度な緊張感があり、 それも開発を行う場としてよかったのだと思う。
1ヶ月の間、先生、一緒にカリキュラムを受けた受講生さん、ありがとうございました。


【ジャンル】2人対戦型2Dフードファイトゲーム

【ゲームの概要】
スマートフォンの画面をひたすらタップし、30秒間に出された食べ物を次々食べていきます。

【こだわった部分】
『Youは何しにニッポンへ』で外国のYouに人気のある日本食(ラーメンやメロンパン、たこやきなど)のアセットを使い、 画面は英語版にして幅広いユーザーが遊べるようにしました。
またPhotonでの通信対戦で、どこからでも対戦して遊べるようにしました。

【苦労した部分】
・Photonでの生成/同期の理解と実装で失敗を繰り返し、多くの時間を費やしました。
・CakePHPでのサーバアプリケーション作成やMVCの理解、UnityからそのAPIにアクセスする方法には様々なポイントがあり、独学では理解するのが難しかったと感じました。

【テクスタを受けてみた感想】
・UnityやC#、データベースサーバーの使用方法について、実際に現場で使用されている技術を直に学べました。
・プログラミングでは一つの問題について、何通りもの解決方法を使えるようにして柔軟に問題に対応できるようにしておく必要があることを実感しました。


【ジャンル】1人称迷路突破ゲーム

【ゲームの概要】
ステージ3まで製作をしており、一般的な迷路ゲームとは違い、出口の位置が異なったり、
クリア条件が存在するなど多くの要素があるのでユーザがスリルと興味を感じることができるゲームです。

【こだわった部分】
deltatimeを利用した制限時間と、シングルトンパターンを利用した点数制御、一時停止機能を調査して追加をしており、 その他にもjsonデータをpost通信でdbに保存するテストをしており、昨日任意に指定したjsonデータをdbに保存することを成功しました。

【テクスタを受けてみた感想】
初めて授業を聞き始めた時には凄く緊張しました。
しかし、課題を遂行し、勉強をしながら、いつのまにか、緊張がほぐれて、集中をするようになりました。
最終課題を受けた時に、以前に構想したゲームを作り始めました。
TechStadiumから学びながら私は親切と分かりやすく教えてくれる専門性を見てCreek&Riverと出会ったのが本当に幸いで、 ここなら私はエンジニアとして、さらに発展することができるという自信を持つようになりました。


【ジャンル】FPS Shooting Game

【ゲームの概要】
Unity3Dで作ったFPSゲーム。Unity テュートリアルであるのを自分なりに色々追加しました。 画面のサイズはモバイル用として9:16に合わせました。

【こだわった部分】
単に銃を打つことだけでなく特殊アイテムやボスなども加えて自分なりのFPSゲームを作ろうと決めました。
細かい部分も色々追加しました。飛行機を動かせる時に3D感覚を表現するためRotationを変更するとか、 または敵の飛行機を度々新しく生成するのではなく再活用して最適化にも気を付けて作りました。

【苦労した部分】
コードなどを作成するのがすごく大変で色々なバグも直すのに苦労しました。
自分なりに調べて本と授業で学んだ知識を使って作るのはとても難しいでした。
でもインターネットや回りの人からも色々助かって何とかつくることができました。

【テクスタを受けてみた感想】
自分はまだまだ未熟なので独学でもPHPとかデータベースを勉強せねばならないとわかりました。
授業の場合最初は動画の画質とかあまりよくなかったので受けるのは大変でした。
でも自分が知らないプログラミング知識を学んで色々役に立ちました。


【ジャンル】二人対戦型爆弾投げゲーム

【ゲームの概要】
Player達はPhoton環境を利用して接続し限定されているPlaceで戦うことができます。

【こだわった部分】
やはりこのゲームはPhoton技術を中心に開発されたものだからPhotonの全般的なものがポイントになります。
ゲームが始まる前に2人が一緒にゲームをするためゲームにある色々なオブジェクトにPhoton viewというコンポーネントを付けました。
でも私はそのPhotonが苦手なのでこれ以上具現することができませんでした。
オブジェクトに使われているMaterialとかモデルの中にはAsset storeからダウンロードしたものが多いです。爆弾と壁がその例です。

【苦労した部分】
他のPlayerが投げた爆弾が急に消えたりダメージを与える機能にネットワーク的な問題がたくさん発生してそれ以上具現することができませんでした。 今は投げることしかできません。

【テクスタを受けてみた感想】
Unityについての全般的なこととゲームがどのように作られるのか分かるようになりました。
Photonを使って簡単なネットワーク環境のゲームの作り方とか以外その前のサーバー環境のXAMPPを学びました。
私が今まで勉強したのはJavaプログラミングですが今まで学んだことの中に一番面白かったです。


1期生


【ジャンル】カジュアルゲーム

【ゲームの概要】
ランダムに出現するGemをいかに早く回収しきるか、その早さを競うゲーム。
Gemの出現が毎回可変というランダム(運)要素と、
Playerを端末の傾きによって操作するという実力の要素、
二つを兼ね備えた【運 × 実力】のどちらも試される設計。

【こだわった部分】
・シンプルなフラットデザイン
・デザインがシンプルな分、画面の中では常に何かが動いている状況を演出(常にPlayerが画面内のどこかで跳ねている)
・ゲームタイトルと画面内でのPlayerの動きから、ユーザーにゲームがどのようなものかを直感的に想起させる為スムーズにプレイへの移行が可能
・1目見ただけでユーザーが何をすべきか分かるUI(各種ボタン類の配置、画面遷移のアニメーションの方向やその早さまで、ユーザーにとってより自然に見えるように工夫)
・1Playが1シーンで完結→Play途中でシーン遷移などによるロードをする必要がなく、ストレスレスにゲームを進めることができる
・Playerのスキン変更が即座に反映され、そのままPlayに移行することが可能

【苦労した部分】
Playerの物理挙動
→自分の思い描く重力加速度・反発係数にする為に各種値を何度も調整

【テクスタを受けてみた感想】
1ヶ月でしっかりアウトプットを出し切るという部分が良かったと思っています。
学んだだけで何も作れていなければ、何に使えるか分からないので。
平日・土日・祝日、オンライン・オフライン問わず質問に答えてくれる環境がとてもありがたかったです。
ありがとうございました!


【ジャンル】パズルゲーム

【ゲームの概要】
ツムツム。繋がった3つ以上のボールを指でなぞって消すゲーム

【こだわった部分】
1つのスマホゲームとしての完成度を高めるためにシーン遷移でフェードインアウトを使うことや、ボーナスタイムでの花火の演出、DoTweenを用いたカウントアップなど細かい部分ではあるが、気持ちの良い操作ができるような実装を心がけた。

【苦労した部分】
オンラインランキング。Unityでサーバーを使ってデータの格納、抽出等を行ったのが初めてだったので裏側で何が起きているのかを理解しながら実装に移していくのは少々大変だった。

【テクスタを受けてみた感想】
自分が触れたことがない技術などに触る機会があったことや、短期間でがっつりプログラミングができたので自分の技術力や知識が身についたと思う。


【ジャンル】対戦アクションゲーム

【ゲームの概要】
1対1の対戦ゲーム。
ゲームを始めるとマッチング画面から始まる。
Photonに接続してルーム作成後、ルームに2人集まるとゲーム画面に移る。
ゲーム開始後すぐに罠を設置するフェイズが始まる、右クリックで罠を設置できる。
20秒後設置フェイズから対戦フェイズに移る。
対戦フェイズでは罠を踏まないように気を付けて、
鬼は逃げる人を捕まえる、逃げる側は鬼に捕まらないように隠れながら逃げる。

【こだわった部分】
・Photonで対戦機能を追加したこと
・どのクラスがどんな動きをしているかをわかりやすくしながら作った

【苦労した部分】
・Photonでの位置やデータの同期に時間を多く使った
・Photonを実装するときに今までの機能が使えなくなったところの修正

【テクスタを受けてみた感想】
Unityは自分で調べて学習していましたが、サーバーやPhotonを使った対戦機能は学ぶ機会がなかったので、 今回勉強することができてよかったと思いました。


【ジャンル】3Dアクション

【ゲームの概要】
フィールドの奥にいるドラゴンを制限時間内に倒せたらクリア

【こだわった部分】
・敵を倒したら10秒ごとに作成されるようにした。
・攻撃力UPのアイテムを取って効果中は赤いエフェクトを出したり、
 敵を攻撃した時や敵から攻撃を受けたときに血しぶきがでるようにしました。
・マウスをクリックした先がエフェクトで分かりやすくしました。

【苦労した部分】
・playerが攻撃した際に敵のHPが減らないことに苦労しました。(原因=Collision判定に問題があった)
・Animationが上手くいかない。(Buildしながら調整)
・やりたいことが最初から多かった。(できることから手をつけた)


【ジャンル】探索型ゲーム

【ゲームの概要】
ダンジョンを探索にきたプレイヤーが、宝(ダンジョンコア)を手に入れるために閉まっている扉を開ける方法を見つけるゲーム。

【こだわった部分】
・敵のAI部分、TPカメラFPカメラ切り替え。
・ゲーム性が乏しかったので、簡単にクリアできないように敵の攻撃を継続攻撃にした。

【苦労した部分】
・敵AI,マップ,UI関連,ゲーム性,DB関連
・マップ作りにTerrainを使おうとしてスペック問題に当たったので、アセットストアを利用した。


【ジャンル】FPS

【ゲームの概要】
動物を撃ってスコアを上げラッキング登録可能

【こだわった部分】
カメラと銃の動き

【苦労した部分】
弾丸の発射方向

【テクスタを受けてみた感想】
Collisionが余り理解できなかったけど、Collisionマスターしました。
スクリプトやサーバーを扱うのは難しかったけど、
少しずつ慣れててもっと時間があればUnityマスターになったかもしれません。
結論的に長期間かけての復習は大事だと思いました。


【ジャンル】3Dシューティングゲーム

【ゲームの概要】
太平洋上に突如現れた謎の壁。
そこから現れる敵を打ち抜け!

【こだわった部分】
3Dゲームなので奥行がわかるようなカメラの位置を意識しました。

【苦労した部分】
プログラムが全くわからない状態から授業を受け、制作に挑んだので
実装したい仕様をどうやってコーディングするかわからないことが多かったです。
そのようなときには講師の方に初歩の初歩から教えてもらいながら乗り越えました。

【テクスタを受けてみた感想】
まったくの初心者である自分がここまでできるようになったのは、
講師の方の熱心な指導と同期受講者の方々のサポートのおかげです。
20日間でちゃんと成長できていることを実感できる内容でした。


【ジャンル】アクションパズル

【ゲームの概要】
塔を立てて高いタワーを作りましょう。
塔にいる『観光客』を落とさないよう気を付けて!

【こだわった部分】
1)それぞれの塔を違う形にして飽きがこないようにしました。
2)ソースコードを読みやすくするように気を付けました。

【苦労した部分】
塔や観光客にかかる物理演算の扱いに苦労しました。

【テクスタを受けてみた感想】
今回のアカデミーに参加して、今まで知らなかった技術(サーバーなど)を学ぶことができました。20日間ありがとうございました。

Top