希望職種:ゲームプログラマ
横浜デジタルアーツ専門学校 3年ゲーム科の閨 隆文と申します。私は、ゲームプログラマになり、ゲームというエンターテインメントをより良い形でユーザーに届けられるようになることを目標に、C++を中心として幅広く学習しています。
経歴については、「これまでの自分、これからの自分」をご覧ください。
Twitterアカウント:@nyao_takefumi
自己PR
私は元々アクションゲームが好きで、手触りを大切にしたゲーム制作をしたいと考え、キャラクターの挙動や当たり判定の仕組みを学ぶためアクションゲームを中心に制作を行ってきました。また、ネイティブに近い知識も必要だと考え、DirectX12の学習も行ってきました。加えて現在は、それまでの制作の経験から、制作を補助するライブラリ開発にも興味を持ち、積極的に学習を行っています。
さらに、プログラマであっても企画をきちんと理解し、企画意図に沿った仕様を自分から提案できるプログラマでありたいと考え、企画側の視点とドキュメント制作を学ぶために企画立案、企画書制作、概要仕様書制作についても取り組んできました。
技術面に加えて、リーダーシップとコミュニケーション能力も私の強みだと考えています。学内でのチーム制作では全てリーダーを務めさせていただき、自身の学んだ技術をチームへ共有して全体の能力向上に努めたり、タスク管理などを行ってきました。学外では、ゲーム企業の1dayインターンに参加させていただき、企画制作のグループワークを行った際、チームの議論を上手く纏め、時間を見ながら進行し、責任をもって最終的な決断していた事を、社員の方から個人の名前を挙げて評価していただけました。学内でのチームだけでなく、初対面の方とのチームでもこのように動く事ができ、それを評価していただけた経験から、リーダーシップとコミュニケーション能力は自身の長所だと考えるようになりました。
制作スキル
<コーディング>
・C++によるゲームプログラム制作
・ゲームエンジン(UE4、Unity)による制作
・DirectX12を使用したグラフィックプログラム制作
<ドキュメント作成>
・ゲーム企画書作成
・ゲーム仕様書作成
【使用可能なアプリケーション】
開発言語 C、C++、C#、Blueprint、JavaScript、HTML、SQL
プログラム開発環境 Microsoft Visual Studio C++、Unreal Engine4、Unity
3DCGソフトウェア Maya2022、Blender3.3
2Dグラフィックソフト Photoshop、Adobe Illustrator
取得資格
令和2年 12月 ITパスポート試験 合格
令和3年 12月 CGクリエイター検定 ベーシック 合格
令和4年 2月 情報処理活用検定 3級 合格
令和4年 8月 CGエンジニア検定 ベーシック 合格
開発実績
プラットフォーム:Windows PC
言語:C++
使用ライブラリ:DxLib
開発環境:Visual Studio
開発期間:2023年5月17日 ~ 19日
概要:個人製作。三年次での開発に向けたライブラリ制作の中で、衝突判定の最適化のため制作。
アピールポイント:動画の環境では、約1500個のオブジェクトが互いに衝突判定を行っており、単純な総当たりに比べ6倍の速度で動作しています。このアルゴリズムは八分木にすることで3Dの衝突判定でも応用が可能なため、3Dゲームの制作でも役に立つと考え学習しました。
また、デバッグビルドでのSTLコンテナの低速問題にぶつかったため、基礎の復習も兼ねてシンプルな構造のコンテナクラスも自作しました。
配置newのためのメモリ管理オブジェクトです。
動画では、最初に配置newについて説明し、その後MemoryPoolの説明をしています。
MemoryPoolは、指定した間隔で区切られたメモリを確保し、その領域に自由にオブジェクトを配置する事ができます。
また、オブジェクトを破棄する時に空いた領域を記憶し、配置する際には空いている領域を教えてくれます。
これを利用することで、大量のオブジェクトを扱う時にも、簡単かつ高速に、領域を使いまわすことができます。
↑動画制作:青木郁
プラットフォーム:Windows PC
言語:C++
開発環境:Visual Studio
開発期間:2022年4月 ~2023年2月 270時間
概要:二学年での進級制作として、企画1名、プログラマが私を含めた2名のチームで制作しました。当てやすくゲージを稼げる遠距離攻撃と、ゲージを消費してその量に応じて威力と範囲が強化される近距離攻撃を使い分ける爽快感重視の2Dアクションゲーム。
実質的には、全てのプログラム制作を担当。
二つ目の動画ではデバッグ用のゲームの動作停止、コマ送りなどの機能も収録しています。
アピールポイント:ライブラリやエンジンを用いた制作の際でも、その中身について全く知らないまま使用するより、少しでも仕組みを知っていた方がよいのではないかと考え、DirectX12でエンジン部分から制作。エンジン部分全てと、ゲーム部分のプログラムの殆どを担当しています。
当たり判定の可視化とオブジェクトの管理を一括で行うための仕組みなどを実装。当たり判定の矩形オブジェクトが自動でリストに登録 / 解除され、矩形として一括で描画する事ができます。
ゲーム部分は爽快感と手触りに力を入れ、近距離攻撃の爽快感を強調する派手な演出のために時間管理システムやカメラ関連機能を実装し、手触りの面では、崖から降りても少しの間ジャンプ可能な時間を持たせたり、ジャンプ不可の状態でも先行入力を受け付けるなど、ストレスの無い操作感を実現しています。
『End of Paing』
プラットフォーム: PC
言語:C#
開発環境:Unity、Visual Studio
開発期間:2023年7月13日 ~ 15日 約24時間
概要:「学生チーム対抗ゲームジャム2023」にて
制作した作品。テーマは「いたむ」。ストーリー表現を重視した2Dパズルアクションです。
メンバーは、私のほかに、プランナー、プログラマ、イラスト、サウンドが各1名の5人のチーム。
私はメインプログラマとリーダーを担当。サブプログラマはゲーム制作経験が少なかったため、教えながらギミックを担当してもらい、それ以外は全て担当しました。また、リーダーとして、スケジューリング、制作管理、ディレクションも行いました。
アピールポイント:インゲーム部分は、プランナーがコードを触らずとも制作できるよう、極力パラメータをインスペクターから設定できるように二日目に制作。その結果、レベルデザインの工程は全てプランナー単独、しかも短時間に行う事ができ、それによって、三日目に仕上がった絵素材、音素材を使用したOPEDの制作に注力する事ができました。
PCでは、こちらのリンクからWebGL版をプレイしていただけます。
URL:https://tn8686.github.io/End_Of_Paing_WebGL/
プラットフォーム:PC
言語:C#
開発環境:Unity、Visual Studio
開発期間:2022年9月27日 ~ 28日
概要:学内で行われた二日間のゲームジャムにて制作した作品。当日にテーマ「きりかえ」が発表され、チームはくじ引きで決定。背景の白と黒をきりかえる事で、白い地形と黒い地形の可視化状態が入れ替わり、さらにプレイヤーが敵から視認可能かどうかも変化する、というゲーム。二年生だった自身と、プログラマの一年生が3名、サウンドの一年生が1名のチームとなったため、一日目は企画ののち、後輩への指導が中心となり、二日目に大部分を制作しました。
企画、メインプログラムを担当。
アピールポイント:僅かな制作期間で2Dアクションとしてきちんと1ステージの形にまとめ上げる事ができました。サウンド制作担当のメンバーが参加したため、BGM制作を依頼し、インタラクティブな演出を取り入れています。ゲームジャムの参加者全員で投票を行い、優秀賞の評価を頂きました。
PCでは、こちらのリンクからWebGL版をプレイしていただけます。
プラットフォーム:PC
言語:C#
開発環境:Unity、Visual Studio
開発期間:2023年3月18日 ~ 20日
概要:学内で行われた三日間のゲームジャムにて制作した作品。当日にテーマ「つながる」が発表され、チームはくじ引きで決定。二人同時プレイのゲームで、時間内にアイテムを集めてから特定ポイントに行き、最後に合流するゲームですが、プレイヤー1のアイテムはプレイヤー2にしか見えず、プレイヤー2のアイテムはプレイヤー1にしか見る事ができないので、プレイヤー同士の交流が大切な、プレイヤー同士が「つながる」ゲーム。自身を含めた二年生2名と、一年生2名の計4名で制作を行いました。
企画、管理業務、結合作業を中心に担当。
アピールポイント:過去の制作で、管理業務とプログラム制作両方のタスクを抱えすぎてしまった反省から、この制作では自身はディレクターに注力し、極力メンバーへの指示やサポート、成果物のチェックを中心に行いました。その結果スムーズに制作を行う事ができ、予定されていたタスクを余裕をもって完了する事ができました。演出面では、テキスト表示や効果音、簡易的な消滅アニメーション等でリアクションを明確にし、「わからない」ゲームにならないよう意識しました。
ゲームジャムの参加者全員で投票を行い、優秀賞の評価を頂きました。
プラットフォーム:Windows PC
言語:C++
使用ライブラリ:DxLib
開発環境:Visual Studio
開発期間:2023年4月21日 ~ 2023年5月12日 9時間
概要:個人製作。授業の中で「バネ挙動を作り、それでオブジェクトを破壊する」という課題があったのですが、授業時間に余裕があったので、自主学習として物理演算的ないくつかの要素や演出を追加して制作しました。
アピールポイント:課題としては単純なバネ挙動と当たり判定ができていればOKだったのですが、ヒモの長さと重力を計算に入れ、ラバーリングアクションのような挙動にしてみました。また、球の速度が一定以下だと破壊できず、衝突面を判定して跳ね返るようにし、最低限の演出として、効果音や破壊時の破片が飛ぶ演出も追加しました。
プラットフォーム:Windows PC
言語:Blueprint
開発環境:Unreal Engine 4
開発期間:2022年7月~2022年8月 9時間
概要:授業課題で制作。2022年度の前期の授業で学習した物を総合して使い、特定ポイントに到達する作品を作る課題でした。
押せるブロックをワープポイントに入れて運び、反射するレーザーを特定の地形に当て、動いた地形を壁キックして登り、扇状の範囲内のプレイヤーに攻撃するオブジェクトに守られるクリアポイントに、間にブロックを入れて攻撃を防ぎ辿り着く、という内容です。
押せるブロックや壁キック、反射レーザーなどはライントレースを用いて判定しています。
反射レーザーは接触したオブジェクトから接触面の法線情報を取得し、それを元に反射方向を決定しています。
プラットフォーム:Windows PC
言語:Blueprint
開発環境:Unreal Engine 4
開発期間:2022年7月 6時間
概要:授業課題で制作。クリックした座標が3D空間上でどこに当たっているかを判定し、そこに向けてワイヤーを発射、当たったオブジェクトが動かせるブロックなら引き寄せ、壁ならプレイヤーを移動させます。
壁キックも実装し、ワイヤー移動と繰り返して垂直な壁を登る事ができます。
プラットフォーム:Windows PC
言語:C++
使用ライブラリ:DxLib
開発環境:Visual Studio
開発期間:2021年11月 ~ 2022年1月
概要:プログラムの学習を始めて1年での作品。以前、株式会社バンダイナムコエンターテインメント様より提供されていた『Xevious』の素材を使用し『Xevious』の再現ゲームを制作しました。チームでの制作ですが、メインプログラムはほぼ全て担当しています。動画では、デバッグ用の領域も表示しています。
アピールポイント:1フレーム、1ドット単位での再現を目標とし、メインゲーム画面の2フレームの遅延によるUIやサウンドとのズレや、敵の生成法則なども再現しました。
プラットフォーム:PC
言語:C#
開発環境:Unity、Visual Studio
開発期間:2022年12月 9時間
概要:授業課題で制作。JSONファイルをPokéAPIからを取得し、必要な情報を取り出して図鑑風に表示する学習を行いました。
課題で作成した物を改善し、10件毎に追加で読み込みを行いリストに追記していく形式にし、読み込んだ情報は保持して余計なロードを省いています。
プラットフォーム:PC
言語:C#
開発環境:Unity、Visual Studio
開発期間:2023年1月 12時間
概要:授業課題で制作。スマートフォン向けに、タップやスワイプ操作のみで使用できるアプリケーションを制作する、という課題でした。
タップしている方向に向かって徐々に加速、ダブルタップでその方向にダッシュ、ダッシュで体当たりするとターゲットを捕らえ、捕縛中にタップ押し続けで攻撃、スワイプでフィニッシュ攻撃としてターゲットを投擲します。
フィニッシュ攻撃でトドメを刺すと、投げたターゲットが他のターゲットを巻き込みます。
ダッシュと慣性で気持ちよく飛び回れる挙動と、フィニッシュ攻撃で一掃する爽快感を意識して制作しました。
ドキュメント制作
巨大特撮を題材に制作した企画書です。
制作期間:2022年12月~2023年2月
一枚企画書からはじまり、最終的に仕様書まで纏めたドキュメント群です。