GMT
Akua

經歷

我的工作涵蓋 Unity 與 Android 應用開發、資產載入與介面效能改善、原生層整合及內部開發工具,也包含早期的 MCU 韌體實習與個人專案。

工作經歷

    • 設計並實作 Unity 非同步資產載入流程與貼圖快取系統;在相同硬體上載入同一個含貼圖的大型 3D 模型時,載入時間由未使用快取的 46.92 秒縮短至使用快取的 1.54 秒。
    • 透過 Unity Profiler 找出清單捲動時載入畫面外圖片與整份清單重建的問題,並重構三個面板共用的清單介面;實測觀察捲動影格率由 30-39 FPS 提升至約 60 FPS,偶爾仍會下降。
    • 設計多人連線資產同步機制,採用 Mirror RPC、TCP 資產傳輸協定與帶版本紀錄的操作佇列;經暫時斷線與丟棄封包測試,確認用戶端可恢復同步。
    • 整合第三方 BlazeFaceBarracuda 追蹤與離軸投影,讓桌面端使用者能以頭部移動控制鏡頭;另加入插值處理以減少晃動,並將部分向量與距離計算移至 compute shaders。
    • 建立內部使用的 GitHub Actions 流程,將 pull request 變更送交 Copilot API 審查,並於對應程式碼留下行內意見或附上行號連結。
    • 基於公司既有的 Android UI 程式庫,為遊戲浮動工具介面實作清單檢視、非同步載入與 Java 橋接程式碼。
    • 為已發布的遊戲整合功能開發 Android NDK 程式庫,連同 shadowhook 一併嵌入 APK,對 Unity IL2CPP 的文字與圖片相關符號掛上 hook,並確認可將遊戲文字替換為佔位文字。
    • 實作 IL2CPP 基底位址查找,用指標與偏移量定義 Unity 物件結構,並把 C# 字串由 UTF-16 轉為 UTF-8 供原生程式碼處理。
    • 串接 ONNX Java 程式庫並透過 NDK 橋接 tokenizer,在 Android 上建立 OPUS-MT 翻譯流程,逐次產生 token 來處理擷取到的遊戲文字(離職時此整合仍在開發中)。
    • 用 C 開發 C2000 MCU 軟體與韌體,透過兩個通訊接腳在兩個裝置間傳輸曼徹斯特編碼資料。
    • 因單靠軟體處理的 CPU 運算時間不足,改以 CLB 邏輯閘實作曼徹斯特編碼與解碼,並搭配 DMA 傳輸與儲存資料。

學歷

    • 二級甲等榮譽學位;CGPA 3.25/4.00。

專案

    • 搭配 AI 程式開發代理,用 Eleventy 架設英文與繁體中文個人網站,並整合日間、黃昏、夜間三段各 12 秒的 HD2D 背景循環影片。
    • 先用 Gemini 產生概念圖;因 AI 生成影像帶有雜訊且光照不合理,改以 Blender 建立 3D 場景,並請代理製作法線貼圖。
    • 逐次檢視生成影像來建立並調整 HD2D 與像素動畫技能;針對人物和物件位置不合透視的情況,要求代理繪製透視輔助線並檢查消失點。
    • 隨著 Blender 工作流程需要的參考圖增加,編寫並測試代理協作技能,讓 Claude Code 能呼叫 Codex 協助,取代原本在代理之間手動複製提示詞的做法。
    • 結合 AI 程式開發代理,使用 Tauri、Rust、React 與 TypeScript 開發個人桌面工具箱,內建預設離線的私人文件 OCR 功能,並可檢視本機代理工作階段。
    • 將原本單一功能的 OCR 程式拆分為多個獨立工具模組,方便擴充功能,也能在不同代理對話或 worktree 中平行開發。
    • 制定使用情境與本機處理需求,審閱代理提出的計畫與測試案例,並親自在離線環境下測試工具箱。
    • 套用「Refactoring UI Design System」技能,修正代理產生的介面中按鈕不易點擊與字體大小的問題。
    程式碼
    • 以 Hugo、GitHub Pages 和 Codespaces 架設個人部落格,發表工作整理與技術文章。
    • 撰寫已建置遊戲的翻譯技術指南,搭配 Unity 範例比較 OCR、記憶體掃描、資源修改與執行時掛鉤(hook)做法,並討論字型、介面排版與遊戲更新相容性的限制。
    閱讀部落格
    • 在團隊的 Unity 偵探遊戲原型中將 Inworld AI 接上 NPC,讓玩家可以提問,並依角色背景與當下遊戲情境取得生成回覆。
    • 用 C# 實作 WebSocket 通訊,串接遊戲內與雲端 AI 代理的聊天功能。
    • 設計非線性偵探遊戲劇情,保留既定的調查規則與勝負條件,並在重新開始遊戲時觀察到不同的 NPC 對話。
    程式碼
    • 用 Unity ARFoundation 開發 Android AR 原型,可在手機相機畫面的平面上擺放 3D 模型,但不同裝置的執行結果有所差異。
    • 加入模型位置、旋轉與縮放控制,支援以 BlendShapes 切換姿勢,並可在隱藏操作介面後儲存影像。
    程式碼

其他經歷

    • 圍繞「Loop」主題開發模擬短片推薦的 Unity/C# 網頁遊戲並發布至 itch.io;隊友提供美術素材,其餘遊戲與介面實作由我完成。
    • 透過物件池重複使用兩個物件來實作短片捲動循環,並用 Fisher-Yates 洗牌演算法排列影片播放順序。
    • 使用 C# 事件與 Action 回呼處理選取外框等 UI 回饋。
    • 藉由期望值計算與 Excel 模擬調整類別平衡,並根據玩家目前分數調整難度與速度。
    • 於 9,378 件獲評分作品中排 Creativity 類別第 796 名(共 14 份評分,Creativity 分數 4.071)。
    參賽作品