Takeru Kashiwa / Takke
バックエンド志望の学生エンジニア
オンラインゲームの API や資格学習アプリを、設計から公開まで手がけてきました。
現在は Go と AWS を使ったバックエンド開発に取り組んでいます。
チーム開発では、設計や実装の案をメンバーに説明し、相談しながら方針を決めています。
- 開発領域
- クラウド / モバイル / ゲーム
- 主な技術
- Go / AWS / Unity
- 現在の取り組み
- Go による API 開発 / AWS 上のインフラ構築・運用
プロジェクトを見る→
GitHub↗ 連絡する
fig.01 チーム開発 / 2024
play a catch?
Unity で制作したオンラインキャッチボールゲームです。リアルタイム通信には Photon、スコア登録 API には Go を使いました。
fig.01 / play a catch?
- 役割
- 2人で分担し、クライアントと API サーバーの設計・実装、公開作業を担当しました。
- 技術
- Unity · C# · Go · Photon · Terraform · AWS EC2
背景
短い開発期間で公開まで進め、公開後もスコア機能やサーバー構成を直せる状態にする必要がありました。
課題
ゲーム本体の変更が API に影響しないよう、リアルタイム通信とスコア登録を切り分ける必要がありました。
実装したこと
- リアルタイム通信には Photon を使い、Go API はスコア登録に絞りました。
- Go API の処理を責務ごとに分け、認証や機能を追加しやすい構造にしました。
- Terraform で EC2 の構成をコード化し、同じ環境を作り直せるようにしました。
設計で工夫したこと
- 修正が必要な箇所を特定しやすいよう、ゲーム、API、インフラでそれぞれが担う役割を決めました。
成果
40,745回以上 累計プレイ回数 公開後の累計プレイ回数は 40,745 回を超えました。実況動画を見た方にも遊んでいただきました。
学び
- 公開後の修正に備え、変更の影響が広がらないように設計する考え方を学びました。
unityroom で遊ぶ ↗ ジャック・オ・蘭たんさんの実況を見る ↗ ピロさんの実況を見る ↗
fig.02 探究活動 / 2025
災害時避難支援シミュレーション
避難を促す助言が行動に与える影響を調べるため、高校の探究活動で制作したシミュレーションです。
fig.02 / 災害時避難支援シミュレーション
- 役割
- Unity での実装、実験条件の設計、ログ収集、分析を担当しました。
- 技術
- Unity · Live2D · Simulation · Log Analysis
背景
災害時にどのような助言が避難判断に役立つかを、高校の探究活動で調べました。
課題
実際の災害をそのまま再現することはできません。助言の違いを比較できる実験条件を決めたうえで、結果から言えることの範囲を示す必要がありました。
実装したこと
- 避難行動に影響する要素を洗い出し、条件ごとの差を比べられる実験にしました。
- Live2D のキャラクターが助言を表示し、参加者の行動を Unity でログに記録する仕組みを実装しました。
- 結果を解釈するときに確認できるよう、実験の前提条件と調査の限界を記録しました。
設計で工夫したこと
- 画面の制作と並行して、必要なログ項目と分析方法を決めました。
成果
助言の出し方と避難行動の関係を分析しました。有意差を確認できなかったため、前提条件と実験方法の限界を整理しました。
学び
- この探究をきっかけに、非常時にも動き続けるシステムや、障害に強いインフラに関心を持ちました。
fig.03 個人開発 / 2023
資格学習支援アプリ「シカプリ」
Flutter と Firebase で開発した資格学習アプリです。画面の実装に Flutter、認証とデータ保存に Firebase を使いました。
fig.03 / 資格学習支援アプリ「シカプリ」
- 役割
- 企画、UI 実装、データ設計、Firebase 連携、公開作業を一人で担当しました。
- 技術
- Flutter · Firebase
背景
アプリを企画して公開する一連の工程と、更新しやすい教材データの設計を学ぶために開発しました。
課題
限られた開発期間の中で、利用者が迷わず操作でき、一人でも保守できるアプリにすることが課題でした。
実装したこと
- 認証とデータ保存には Firebase を使い、管理する仕組みを減らしました。
- 改善を続けやすいよう、UI とデータ処理の責務を分けました。
設計で工夫したこと
- 説明なしで使えるように、機能数と画面遷移を絞りました。
学び
- この開発をきっかけに、バックエンドや認証の設計に関心を持ちました。また、機能を増やす前に、誰のどんな困りごとを解決したいのかを明確にする必要があると学びました。
シカプリのデモを見る ↗
バックエンド
Go と Firebase を使い、API、認証、データ保存を実装してきました。
- Go
- ゲーム向け API の処理を責務ごとに分け、機能を追加しやすい構成にしました。
- リアルタイムゲーム向けの API サーバー実装
- REST API 設計
- ゲームクライアントからスコアを登録する API を設計しました。
- ゲームクライアント連携
- Firebase
- 資格学習アプリの認証とデータ保存に Firebase を使い、公開まで担当しました。
- 資格学習アプリの認証・データ管理
アプリ・画面開発
Flutter で資格学習アプリの画面を設計し、公開まで進めました。
- Flutter
- 画面設計、Firebase 連携、公開作業を一人で担当しました。
- 資格学習支援アプリの開発・公開
ゲーム開発
Unity でゲームと避難行動シミュレーションを制作しました。
- Unity
- 個人制作、チーム開発、受託開発、研究用シミュレーションで使ってきました。
- オンラインゲーム、避難行動シミュレーション
- C#
- Unity 上でゲームロジック、UI、外部サービスとの連携を実装しました。
- Unity 上でのクライアント実装
- Photon / リアルタイム通信
- play a catch? でリアルタイム通信を実装し、ゲーム処理と API の役割を分けました。
- オンラインキャッチボールゲーム
クラウド・インフラ
AWS で API と静的サイトを公開し、Terraform で EC2 の構成を管理しています。
- AWS
- EC2 でゲーム向け API を公開し、S3 でこのポートフォリオを配信しています。
- ゲーム API の公開、静的サイト運用
- Terraform
- ゲーム向け API を動かす EC2 の構成をコード化し、環境を作り直せるようにしました。
- ゲーム向けサーバー構成の管理
- Docker / Kubernetes
- Docker で実行環境を揃え、Kubernetes へのデプロイを検証しています。
- ローカル環境構築、VPS 上でのデプロイ検証
開発環境・自動化
GitHub で変更履歴を共有し、Jenkins で Unity のビルドを自動化しました。
- Git / GitHub
- 変更の目的が分かる単位でコミットし、個人開発とチーム開発で履歴を共有しています。
- 個人開発、チーム開発のバージョン管理
- Jenkins
- Unity プロジェクトのビルドを自動化し、手作業を減らしました。
- Unity プロジェクトのビルド自動化
-
AWS Certified Solutions Architect - Associate Amazon Web Services / クラウド
AWS で可用性とセキュリティを考慮した構成を設計する知識を身につけました。
-
応用情報技術者試験 IPA / 情報技術
システム設計、ネットワーク、セキュリティを横断して学びました。
-
基本情報技術者試験 IPA / 情報技術
アルゴリズム、データベース、ソフトウェア開発の基礎を身につけました。
-
ITパスポート試験 IPA / IT 基礎
IT、プロジェクト管理、経営の基礎を学びました。
- 2026 チューター
セキュリティ・キャンプ全国大会2026 専門B チューター
2025年に修了した専門Bに、2026年はチューターとして参加しました。
- 2026 チューター
セキュリティ・キャンプ2026ミニ(東京開催) チューター
セキュリティ・キャンプ全国大会で得た知識を生かし、受講生の理解度に合わせて説明し、学習を支援しました。
- 2025 研修
セキュリティ・キャンプ全国大会2025 専門B 修了
専門Bでセキュリティを学び、自分に不足している知識を洗い出しました。現在の学習テーマを決めるきっかけになりました。
- 2024 チーム開発
オンラインゲーム「play a catch?」をチーム開発・公開
2人でクライアントと API サーバーを分担し、公開まで進めました。累計プレイ回数は 40,745 回を超えています。
- 2023 個人開発
資格学習支援アプリ「シカプリ」を個人開発・公開
UI、認証、データ管理、公開作業を一人で担当しました。どの機能を実装するか、どこまで作り込むかを決める難しさを学びました。
- 2021年〜現在 継続中
Unity を軸にゲーム開発
個人制作とチーム開発の両方で Unity を使っています。
暗号化したメールを送る場合は、この GPG 公開鍵をお使いください。
gpg --locate-keys にメールアドレスを指定すると、Web Key Directory(WKD)からも公開鍵を取得できます。
Key ID: 63363B43B8D2C97C /
公開鍵をダウンロード (contact.asc)