自己紹介
就労移行支援事業所チャレンジラボラトリーの利用者N・Yです。
事業所ではUnityを利用したゲーム開発、Pythonを利用したアプリケーション開発の学習を行っています。
このポートフォリオでは、これまでに作成したアプリケーションを紹介します。
作成したUnityゲーム
ス〇カゲーム風ゲーム
アプリ概要
目的: UnityとC#の基礎学習の一環として、当時話題だったゲームを参考に開発しました。機能: フルーツを落として合体させ、スコアを競うパズルゲームです。
技術スタック
Unity C#
チャレンジと学び
挑戦したこと: C#の基礎構文を学習しながら、フルーツの物理演算、衝突判定、スコアシステム、ゲームオーバー処理など、ゲームの基本的なロジックを実装しました。 またAndroidスマートフォンにも対応させるため、Unityのビルド設定を行い、スマートフォンでの操作性を考慮したUI設計を行いました。
学び: Unityでのゲームオブジェクトの操作、スクリプトによる制御、UI設計の基礎を学習しました。
*フルーツのイラストは事業所の他の利用者の方に描いていただきました。
ホラーゲーム
動画に関するご注意
本ゲームには突然驚かせるような演出はありませんが、動画の30秒と1分20秒付近に、少し不気味に感じる可能性のある演出があります。
アプリ概要
目的: UnityとC#の基礎学習の一環として、私の好きなホラーゲームを開発しました。機能: 薄暗い病院から脱出するために、出口の鍵を探す一人称視点のゲームです。
技術スタック
Unity C#
チャレンジと学び
挑戦したこと: 3Dモデルの配置、アニメーションの設定、3D空間におけるオブジェクトの衝突判定など、ゲームの基本的なロジックを実装しました。
学び: Unityでの3Dモデルの操作、ライティング、スクリプトによる制御、UI設計の基礎、Xboxコントローラのスクリプト制御方法を学習しました。
使用したアセット
本プロジェクトでは、Unity Asset Storeで配布されている下記アセットを使用しています。- Abandoned Asylum by Lukas Bobor
- Horror Assets by Lukas Bobor
- Flashlight by RRFreelance
- Mannequins by VIS Games
- Rust Key by Aleksn09
作成したPythonアプリケーション
掃除当番くじアプリ
アプリ概要
目的: 事業所で行う掃除の当番を決める為のくじ引きアプリを開発しました。機能: 当日の掃除項目をリストから選択し、ランダムで担当者を決定します。
技術スタック
Python PySimpleGUI JSON Gemini DeepSeek
チャレンジと学び
挑戦したこと: Pythonの基礎構文を学習しながら、GUIライブラリ「PySimpleGUI」を使用して、ユーザーインターフェースを設計しました。 また、JSON形式でのデータ管理や、生成AIを活用し機能、インタフェースの改善を行いました。
学び: PythonでのGUIアプリケーションの開発、JSONデータの取り扱い、生成AIの活用方法を学習しました。
住所検索アプリ
アプリ概要
目的: 郵便番号から住所を取得するアプリケーションを開発しました。機能: 郵便番号を入力すると、対応する住所が表示されるアプリです。
技術スタック
Python TkEasyGUI requests pyperclip
チャレンジと学び
挑戦したこと: PythonのGUIライブラリ「TkEasyGUI」を使用してユーザーインターフェースを作成しました。 また、requestsライブラリで外部APIを利用して郵便番号から住所を取得する機能を実装しました。
学び: Pythonでの外部APIの利用方法、文字列の正規化、エラーハンドリングの基礎を学習しました。
郵便番号検索アプリ
アプリ概要
目的: 住所から郵便番号を取得するアプリケーションを開発しました。機能: 住所を入力すると、対応する郵便番号が表示されるアプリです。
技術スタック
Python TkEasyGUI requests
チャレンジと学び
挑戦したこと: requestsライブラリで外部APIを利用して住所から郵便番号を取得する機能を実装しました。
学び: Pythonでの外部APIの利用方法、文字列の正規化、エラーハンドリングの基礎を学習しました。
形態素解析アプリ
アプリ概要
目的: 日本語の文章から動詞や名詞を抽出する形態素解析アプリを開発しました。機能: 文章を入力後、動詞や名詞を抽出して表示することができます。
技術スタック
Python PySimpleGUI Janome
チャレンジと学び
挑戦したこと: Janomeは、日本語の文章を「形態素」(意味を持つ最小の単語)に分解し、品詞や活用形といった情報を分析できるPythonライブラリです。このJanomeライブラリの公式リファレンスを参考に、文章の解析処理を実装しました。
学び: 公式リファレンスを参照しながらのアプリケーション開発の進め方を学習しました。
DeepSeekローカル動作アプリ
アプリ概要
目的: オフラインで利用できる文章生成アプリケーションを開発しました。機能: ローカル環境で動作し、ユーザーが入力した文章に基づいて新しい文章を生成するアプリです。
技術スタック
Python PySimpleGUI LM Studio DeepSeek VOICEVOX
チャレンジと学び
挑戦したこと: 生成AIモデルをローカル動作させることができるLM Studioのインストールや、DeepSeekのモデルのダウンロード、そしてPythonとの連携コードの作成に挑戦しました。さらに、合成音声ソフトウェア「VOICEVOX」を利用した音声読み上げ機能も実装しました。
学び: LM StudioとDeepSeekの連携方法、Pythonでの外部APIの利用方法を学習しました。
*本アプリはPCスペックの関係で軽量版のDeepSeekモデルを利用しています。
そのため、生成される文章の精度は低いですが、オフラインで動作させるという目的に沿って開発しました。
日報生成アプリ
アプリ概要
目的: 日報を自動で生成するアプリケーションを開発しました。機能: 入力した作業内容を元にプロンプトを作成し、Gemini APIを通してGeminiへ送信、生成された回答を取得し表示します。
技術スタック
Python PySimpleGUI Gemini API
チャレンジと学び
挑戦したこと: PythonでのGemini APIとの連携、プログラム内でGeminiへの指示プロンプト作成に取り組みました。
学び: 生成AIのAPIをPythonでの利用方法、replaceメソッドを使用した文字列の置換処理を学習しました。
*本アプリはPythonの練習の為に開発したもので、実際の業務での使用は想定していません。
ブログアプリ
アプリ概要
目的: Flaskの学習の為、複数人が共同編集できるブログアプリケーションを開発しました。機能: ユーザー管理、記事の作成、編集、削除ができる他、コメント機能も実装しました。
技術スタック
Python Flask Flask-SQLAlchemy Flask-Login Flask-WTF
チャレンジと学び
挑戦したこと: FlaskはPythonでウェブアプリケーションを開発するためのフレームワークです。このFlaskを学習するために書籍や解説動画を参考に、アプリケーションを構築しながら理解を深めました。
学び: Flaskを用いたルーティングやテンプレートエンジンの使い方、データベースとの連携方法を学習しました。
作成したウェブページ
ポートフォリオ
アプリ概要
目的: 自分の学んだ事や成果をまとめるためのポートフォリオを作成しました。機能: 自己紹介やプロジェクトの紹介を掲載しています。
技術スタック
HTML CSS Cloudflare Pages Git GitHub
チャレンジと学び
挑戦したこと: HTML,CSSの基礎構文を学習しながら、レイアウトやデザインに関する理解を深めました。 静的サイトをホスティングするために、Cloudflare Pagesを利用しました。GitHubと連携し、バージョン管理、デプロイの自動化を行っています。
学び: HTMLとCSSの基本的な使い方、GitとGitHubを用いたバージョン管理、Cloudflare Pagesを利用した静的サイトのホスティング方法を学習しました。