安部純正  ポートフォリオ

東京国際工科専門職大学  デジタルエンタテインメント学科  ゲームプログラマ  2年私は、感動的なゲームを制作できるプログラマとしてのキャリアを築いていきたいです。その目標ができたのは、自分が制作したゲームで子供たちが喜んでくれた実体験があったからです。
スキル: Unity(c# ShadeGraph) C/C++ Maya(モデリング)  オリジナルコントローラ製作
連絡先:  [email protected]


ゲーム  Games


インターンシップ  internship


他  others

作品1  ケーキクラッシュ(Unity)チーム制作4人


リズムに合わせてボタンを叩くリズムアクションゲームです。
ボタンを叩いてケーキをぶっ壊せ!
プレイヤーに与えたい体験:
シュールな面白さとケーキを思いっきりつぶす爽快感

展示1
展示2

私の活動 :
エフェクト制作
内部処理  UI表示など
粘性のある物質を描画するシェーダ実装
揺れる物理挙動の検証実装
実際に叩いて踏める自作コントローラの製作
記録:
GamePitTokyo2024 三位
ニコニコゲームフェス2024  敢闘賞
ゲームダンジョン5  出展
ゲームダンジョン外伝  出展
学生インディーゲーム展  出展(2024 08/19)

作品2 みんなでテニス(Unity)チーム制作2人


展示3

私たちは小学生低学年から障害をお持ちの方(片麻痺・神経難病など)まで、
幅広い層の人々が遊べるゲームを開発し、社会に実装しました。
プレイヤーに与えたい体験:
簡単操作で障害をお持ちの方でも楽しく対戦できる
概要:
2対2に分かれて向かい合い、ラケットを上下に動かすことでボールを打ち合い、相手陣地の奥にあるブロックにボールを当ててポイントを稼ぐ。一定時間内にどちらのチームが多くのポイントを得たかで勝負する、4人用ダブルステニスゲーム。

展示1

私の活動:

活動1  ユーザーによって障害の度合いが異なる  課題の解決対策  ゲーム内の種々の要素、つまりプレイ人数分のラケットやボールの大きさと速さ等が設定より変更可能にした。ユーザ一人一人のレベルに応じたプレイ環境を誰でも簡単に整えられる。

展示1

活動2  ユーザは複雑な入力を行えない  課題の解決対策  誰でも遊びやすいようにワンボタンで遊べるようにした。ボタンを押すとラケットが上昇または下降する仕組みである。入力に対して結果を待つようなゲームよりも、リアルタイムで入力を受け付けて画面が動的に変化するようにした。

活動3  一般的な入力機器でのプレイが難しい  課題の解決対策  Xbox Adaptive Controllerと手のひらサイズのボタン4つを増設することで、簡単な体感ゲームを作成した。増設したボタンは軽い圧力で作動する。4つのボタンと4つのラケットの色が対応しているため、障害をお持ちの方でも、自身の位置を見失わず、容易にプレイ体験ができる。

展示1

実証記録:西落合小学校  放課後クラブ ゲーム大会(東京都多摩市)障がい者福祉施設「めいほく友の家」(愛知県名古屋市)けやき☆ひろば  (相模原けやき体育館)

作品3  第9回シリアスゲームジャム  チーム開発
『ソナエタ』(Unity + カード)


「防災訓練が楽しくないので実施率や参加率が低い」という社会問題に着目して、
遊びながら防災の知識が付くカードゲームを制作
ご好評をいただき、本ゲームのポック版開発を行うインターンシップを頂きました。

展示1

概要:
コンピュータ上でランダムに表示されるトラブル(地震が来た、けが人が出た  など)に対して、プレイヤーは手持ちのカードを一枚もしくは組み合わせて場に出す。議論し合い、最も有効なカードを出したプレイヤーは場に出したカードを捨てる。先にカードがなくなった人の勝ち。
私の活動:
カードゲームを用いるというゲームのアイデア考案
コンピュータがランダムにお題を出力するシステム制作(Unity c#)実績:
The Best Serious Game Award

インターン  作品  防災カードゲーム『ソナエタ』
(Phaser.io[TypeScript])


インターン
期間  2024/08/15 ~ 2024/09/30

展示1

概要:
第9回シリアスゲームにおいて作成した  遊びながら防災の知識が付くカードゲーム  をもとに、製品化を視野に入れながらポック版の制作を行いました。
具体的には遊びの実証として、アイデア出し、実装、改善を繰り返しました。
ゲームルール
コンピュータ上でランダムに表示されるトラブル(地震が来た、けが人が出た  など)に対して、プレイヤーは手持ちのカードを一枚もしくは組み合わせて場に出す。議論し合い、最も有効なカードを出したプレイヤーは場に出したカードを捨てる。先にカードがなくなった人の勝ち。

展示1

私の活動:
遊びの検証  アイデア出し+実装
課題  ー>  解決策
ー+ー+ー+ー+-
幅広い年齢を対象にしたい
=>  小学校低学年向けに「ひらがなモード」の付与を提案
敗北が確定するプレーヤーが出て終盤が盛り上がりにくい
=>  逆転要素の追加
現在の進行状況やゲーム終了までの残り問題数が把握しづらい
=>  プログレスバーの追加
ゲーム実行時に様々なパラメータをいじれるようにしたい
=>設定画面に以下の機能を追加
・ミュートのオン・オフ切り替え機能
・問題数の変更機能
・討論時間の変更機能
・問題表示時間の変更
地震の影響を受けている表現が足りないので、プレーヤーに没入感を与えられない
=>カメラシェイクによる揺れの表現を追加
揺れの表現は画面酔いを引き起こしかねない
=>揺れに回数制限を設けることで調整
など
ー+ー+ー+ー+-
TypeScript の学習
Phaser.io の学習(HTML5ゲームの開発用オープンソースフレームワーク)

展示1

作品4  『RIVER CLIMBER』  個人開発
SDLライブラリ、C/C++を用いた自作2Dゲーム


仮想フレームバッファマシン上でスプライト表示機能(拡大縮小回転対応、パレット機能あり)やオブジェクト管理機能など簡易的なゲームエンジンから自作した上でオリジナルのゲームを制作しました

展示1

プレイヤーに与えたい体験:
縦横無尽に飛び回る自由さ
落ちると捕食される恐怖やハラハラ感

ゲーム概要:
滝の中にプレイヤーオブジェクトである猿がいます。
猿の移動
上矢印  ジャンプ
右矢印  右移動
左矢印  左移動
下矢印  その場で落下
猿を動かしながら、空中に浮かぶ星を一定数集め、最後に滝の上に登ったら脱出成功とします。腹をすかした、敵のクロコダイルが滝つぼにいます。落ちてはいけません。
猿は空中を含めて3回までジャンプできます。むやみにジャンプを繰り返すと、滝つぼに落ちてしまいます。滝から流れてくる流木につかまることでジャンプ回数を1つ回復できます。流木から流木へと乗り移ることで、マップ内を縦横無尽に跳ね回ることができます。岩の上では休むことができ、ジャンプ回数を最大まで回復できます。

活動1:
スプライト表示ルーチンや当たり判定の自作など
2Dゲームに用いられる機能の基礎とC/C++による実装を学んだ

展示1

活動2:
カラーパレットを動的に操作することで、敵オブジェクト(クロコダイル)の黒目がプレイヤーオブジェクトを追いかける演出を作成しました。プレイヤーが、敵に狙われている恐怖感やハラハラ感を生み出す目的として実装しました。

活動3:
流木を親に、プレイヤーを子に設定することで、親子関係を用いたプレイヤーが流木にしがみつくギミックを作成しました。縦横無尽に飛び回る自由な挙動を実装しました。

展示1

作品5  『ぼんのうぼうず』(Unity)チーム制作


展示1

本ゲームは、大学の課題として学科内で無作為に選ばれたチームにより制作されました。
アイデアに関するブレインストーミング、チームマネジメント、計画立案、作業工程管理、リスクマネジメント、Gitを用いたバージョン管理などを学び実践しました。
私の活動:
リードエンジニアとしてUnity内のシステムを一人で作成しました。
他にも、作業工程の管理者として貢献しました。現在の進捗状況、課題提出時までの残り時間、チームメンバーの個性(得意、不得意、情熱)に着目しました。その上でチームメンバーに3Dモデル作成、アニメーション作成などの仕事を割り振りました。
結果として、予定通りに作品を完成させることができました。

ターゲット:
展示を見に来る人

ゲームに必要な要件:
・幅広い層に楽しんでもらう必要がある
・1分ほどでプレイが終了
・簡潔なルール

ゲーム概要:
煩悩まみれのお寺の坊さんが、お寺から逃げ出そうとしています。
逃げるためには、仏教と縁の深い小物を避けましょう。煩悩スコアが減少します。
また、時間がかかると煩悩スコアは自然減少します
一方、俗世の食べ物を食べることで煩悩スコアが上昇します。この時に食べた数だけ、皿を手に入れます。一定時間経過後、行く手を阻む扉が出現します。食べることで溜めた皿(煩悩スコア)を一定個数以上、扉に投げつけて破壊すれば脱出成功です。最後に、煩悩ゲージや仏教と縁の深い小物に衝突した回数を踏まえてスコアが表示されます。

ターゲットに与えたい体験:
・子供でも大人でも笑える体験
・煩悩坊主が障害物を避ける、食べるを繰り返す良いテンポによる楽しさ

作品6『ルービックキューブ』(Unity)個人制作


私はルービックキューブを解くのが趣味です。初めてのUnity3D開発としてルービックキューブを制作しました。この活動を通して3D制作の基礎を学びました。自動シャッフルと6面揃った判定をやってくれるシミューレータになります。

展示1

Unity ルービックキューブ 3by3 Normal:

Unity ルービックキューブ 3by3 Special:

作品7『GONE狐』(Unity)チーム制作
unityroom 1weekgamejam 投稿作品


私は、プログラマーとして
・アイテムをランダムに配置するシステム
・開発者の開発を促進するシステム
・アイテム収集、交易システム
を担当しました

私の活動1:二次元多角形領域内部に与点が含まれるかどうかを判定する、winding number algorithmを作成しました。特定の範囲内にオブジェクトを作成する機能を実装しました。レベルデザイナーが負担なく生成範囲を作成できるように、多角形の頂点に存在するオブジェクトを移動させることで生成範囲が変更できるようにしました。結果として、開発の効率が向上しました。

展示1

私の活動2:
木に対してランダムにリンゴを配置するシステム
プレイヤーがアイテムを収集し頭の上に重ねるシステム
交易システムを作成しました

展示1

エフェクト集


個人制作
使用ツール
Unity C# ShaderGraph
Adobe Photoshop Illustrator

ヒットエフェクト

展示1

炎エフェクト

チャージエフェクト

シールドエフェクト

展示1
展示1

剣の軌跡エフェクト

展示1

コンピテンシーをはぐくみました。

CEDEC2024 スカラーシップ


卓越的技術を学ぶために、CEDEC2024の講義を三日間受講しました。IGDA 国際ゲーム開発者協会日本  中山隼雄科学財団  cedec2024スカラーシップ

展示1

MAYAを用いた作品


3Dに関する技術を学び、ゲーム制作の体系的な理解を目指しました。
モデリング、リギング、アニメーション、シミュレーションに挑戦しました。
大学の課題として作成した作品になります。

室内空間モデリング:
詳細な部分までこだわってモデリングしました。ライティングなど雰囲気の醸成に挑戦しました。

展示1

256ポリゴンキャラクター制作課題:
256ポリゴンの中でリアリティを追求しました。

バウンシングボールアニメーション課題:
ボールができるだけ自然な挙動を取るよう、細かな調節を施しました。

歩行アニメーション課題:
人物の歩行に違和感がないように作成しました。キャラクターが「暑い」と感じているのが、想像できるように、身振りを心がけました。現実世界での人間の歩行を観察して参考にしました。

シミュレーション課題:
自然な表現を目指しました。流体の挙動を調節することに苦労しました。

イベント参加記録


学生対抗ゲームジャム2023

ゲームダンジョン5  出展

Iput Festa ボランティア

町田GIONスタジアム  子どものスポーツフェスティバル2024  ボランティア

AWS講習会

第9回シリアスゲームジャム

学生対抗ゲームジャム2024

cedec2024 スカラーシップ  奨学生

防災カードゲームポック版開発インターン