髙橋 楓のポートフォリオ
Imagination means nothing without doing.
このサイトの更新は2022年11月28日をもって停止しています。
新しいポートフォリオサイトを開設したため、下のリンクから参照して下さい。
Unityで製作したゲーム・映像作品です。
Unityを使って初めて作ったゲームです。
シーン遷移の仕方や入力の受け取り方、衝突判定などの勉強になりました。
Fungusという外部アセットを使用しています。 Fungusではフローチャートと呼ばれるシステムでイベント進行を管理するのですが、選択肢イベントの実装や関数の呼び出しなどが簡単にできるので ノベルゲームとの相性がものすごく良いです。また、3DモデルはVRoidStudioに初めから入っているものをUniVRMを使ってUnityにインポートしています。
シューティングゲームを作ってみました。ヒットポイントのように状況によって変化するUIを実装するのは初めてでしたが、 色々調べながらうまく完成させ、UnityのuGUIに対する理解が深まりました。また、弾幕は数学でできていることが良く分かりました。
アイワナやイライラ棒のイメージで作りました。セーブポイントに触れた後リスポーン位置を更新する処理や、デス数によってスコアを変化させる処理を実装して、 少しでもプレイの精神的負担を軽減することに力を入れました。クリアに必要なものは、平常心です。
UnityのTerrainという機能を使ってオープンワールドゲームのような地形を作れるという噂を耳にして、チュートリアルビデオを見ながら作ってみました。 プレイヤーとマップのスケールを合わせるために、Terrainの上に高さ1.8mほどのboxを置いて地形作成するというテクニックを覚えました。
3Dモデルとアニメーションと音楽以外は自作です。timelineやparticle system、chinemachine, PostProcessing Stack v2を使ってミュージックビデオ風にしてみました。 初めは簡素だったステージがだんだんと豪華になっていく様は、嬉しいものがあります。
脱出ゲームを作ってみました。3Dゲームであることを活かした謎解きをいくつか取り入れています。実は脱出ゲームは前にも作ったことがありますが、 そちらは最短5秒でクリアできるのに対し今回は最短でも30秒はかかることを考えると、単純計算で6倍のボリュームとなっています。
玉を転がしてマップに散らばっているスコアを拾うゲームです。操作感が独特で、慣れるまでに時間がかかります。NavMeshAgentを使ってみたくて作った作品で、 敵が自動でこちらのことを追いかけてきます。また、スコア獲得時の点数表示の仕方にもこだわりました。
プレイヤーを操作してドーナツやカップケーキを拾っていくゲームです。itch.ioで開催された"Trijam #156"というゲームジャムの応募作品です。 開発時間は8時間ほどで、xboxコントローラーでの操作にも対応しています。
itch.ioに投稿するために「ブロック崩し」を英語対応させ、さらにいくつかの改善を加えました。BGMやSEを追加し、 キーボード操作のみで遊べるようにし、さらに残機の表示を視覚的に行うことで、より充実したゲーム体験を目指しました。
itch.ioに投稿するために「ClassMate」を英語対応させ、さらにいくつかの改善を加えました。キャラクターがシーンに入る/シーンから出るときに 方向転換+歩きのアニメーションを入れることで、等速直線運動で入退場するよりもリアリティが生まれました。itch.ioのゲームジャム"NaNoRenO 2022"への 応募作品です。
itch.ioに投稿するために「自宅からの脱出」を英語対応させ、さらにいくつかの改善を加えました。調べることのできるオブジェクトを大量に追加し、 ゲーム体験を向上させるとともに、調べる際の当たり判定がおかしくなっていた箇所も修正しました。
Unity1週間ゲームジャムお題「そろえる」への参加作品です。ゲーム内プレイヤーの物理的な挙動を頭の中で想像しながら 足場を組み立ててあげるのがコンセプトで、プレイヤーの状態に応じて処理を変えることでエディターモードとゲームモードを両立できています。
Unityで視覚効果を作ってみたいシリーズ第一弾です。一定時間ごとに球を生み出し、最も近い球と赤い線をつなぐシンプルなプログラムになっています。 毎フレームFind関数を呼び出すことにパフォーマンス的な不安がありましたが、シーン内に最大でも30個くらいしか球がないように設定することで解決しました。
カプコンハッカソンにて、テーマ「たたく」をもとに2日間のチーム制作を行い、出来上がった作品です。 私の担当箇所はハエの生成と挙動でした。チームのリーダーを務め、メンバー間で上手く作業分担が出来たことで最後まで楽しく制作できました。
Unityを使用していない、あるいは
Unityが主眼ではない制作物です。
TwitterAPIとGoogle Translate APIを使用して、日本語でツイートすると英語でもツイートしてくれる機能を作りました。 当初は認証などの手順を完全には自動化できていませんでしたが、pyautoguiなどを使うことで認証までも自動化し、ツイート用のテキストファイルを編集してコマンドを打つだけで英訳ツイートができるようになりました。初めてAPIを使うよい経験になりました。
研究室のイベントでゲームジャムについてプレゼンする機会があったため、自分の参加したゲームジャムでの経験をもとにスライドを作成しました。 プレゼン中に、RunForTeaの制作にあたって難しかったことについて解説している部分があります。
非対称型対戦サバイバルゲームである「Dead by Daylight」を題材としたクイズです。会津大学で開催されたコンピュータサイエンスサマーキャンプ2022にて、 私はJavaScriptゲームプログラミングコースの講師を務めていたのですが、そこでCreateJSというフレームワークを使うことになったため、その練習がてら制作しました。
研究室のイベントでゲームAIについてプレゼンとデモを披露する機会があったため、 ビヘイビアツリーについての簡単な説明、Unityでのデモ、UMLクラス図でのコードの説明を行いました。 資料を準備したり動画を撮影しているうちに、人に教えることが理解するための最も良い方法だと改めて感じました。
SvelteというWebフレームワークを使ってアプリを作りました。まず関係の深さ(例えば深さ1ならあなた->父といった具合)を決め、 その後対象を父、母、兄などから選択し、最後に「結果を見る」ボタンを押すことで家系図上での続柄を調べることが出来ます。 静的サイトとしてホスティングする工程のうち、デプロイ段階でかなり行き詰まった思い出があります。