Search resumes and take the initiative to contact job applicants for higher recruiting efficiency. The Choice of Hundreds of Companies.
喜歡研究小工具以及嘗試自己開發套件分享給他人使用合作上樂於與他人
論是否有更好的解法,當得知有新的技術的時候也會樂於加入討論。
目前主要涉略領域都為C#相關,大多使用unity平台與wpf,串接使用過adb,並實作過HttpFileServer。
看到有趣的工具時也會試著依照自己的理解重現時作內容,曾經嘗試在Wpf環境上復刻unity Coroutine。
發布方面使用Jenkins 與gitlab pipeline。
目前除了遊戲領域以外正在透過asp.net
研發CICD web server,並將CICD的結果顯示在頁面上即時回報。
六月 2021 - 至今 軟體研發工程師 • 允和科技有限公司
負責工作
使用技術
五月 2018 - 六月 2021 軟體前端工程師 • 維亞娛樂科技有限公司
負責工作
使用技術
學歷
Double Tap VR射擊遊戲
1.負責連線模式完成以Host連線為主的LanGame邏輯
2.實作斷線重連邏輯。
3.遊戲結束後產生重播緩存回伺服器,讓玩家可以觀賞完整重播。
4.負責完成整體遊玩邏輯。
5.使用Unity Editor,製作靶的流程邏輯編輯系統,編輯遊戲內的機關與機關之間的互動、出現頻率以及時間差。
6.使用Unity Editor製作靶與的路徑編輯系統可以直接在場景中拖拉曲線與拋物線並緩存成設定檔來模擬物理現象,確保同步的結果一致。
7.參考Coroutine結構,實作可被網路同步的迭代器架構,解析編輯器產生檔案後,讓邏輯與演出的迭代器片段自動分離到Client端與Server端運算。
8.實作玩家成績分析並透過Protocol Buffers 協定與後端溝通。
以下為遊戲實機畫面參考連結:
https://www.youtube.com/watch?v=TS7rdHbsc1k
https://www.youtube.com/watch?v=GDR8KC-iJ9c
https://www.youtube.com/watch?v=SgNrH-UXH8Q
https://www.youtube.com/watch?v=NILjliRlFKs
隨到隨玩大場域VR生存遊戲
1.Server支援玩家可以隨時進出伺服器。
2.支援職業選擇以及在擊殺其餘玩家後能夠及時選擊增益效果提升能力。
3.增益效果編輯介面,讓企劃人員可以直接設計並編輯每個效果要個別操作的數值。
4.製作武器切換系統(散彈槍,榴彈槍, 電球槍), 並提供編輯介面供企劃人員調整數值與對應的演出效果。
5.wpf 遊戲管理介面,透過adb替場域內裝置更新遊戲版本以及定時從安卓系統內收集log回到機房緩存。
6.http server實作FileServer 支援遊戲內AssetBundle 熱更新。
7.實作網路同步的有限狀態機,所有狀態會衍生成Client、Remote、Server三個變體,同個狀態間的變體可以透過API直接溝通,Server端掌控狀態的切換當期切換時與他對應的變體也會自動切換,使用者只要專注在維護對應的區塊就好。
8.實作網路同步的動畫控制器,美術人員在編輯時依然是在unity原生的animator,遊戲運行後會在Server端運行Animator邏輯,並且依據固定頻率將當前撥放動畫以及撥放進度同步給Client端來進行同步,開發者只需要關注Server端的運行邏輯即可。所有對動畫的操作都會自動同步到Client端。
以下為遊戲實機畫面參考連結:
https://www.youtube.com/watch?v=QfI9p8aeDIM
軍事戰略模擬訓練
1.UI版面完全同步框架,模擬多人操作同一面板的效果,透過緩存UI的樹狀結構替所有UI綁定唯一碼,所有勾選框以及輸入介面的互動都會透過唯一碼被確保在不同電腦中完全同步。
2.串接MySQL支援內部網路的帳號申請與權限修改以及帳號加密機制。
3.透過udp協定支援即時影像串流以及語音通訊功能。
4.實作遊戲內聊天室功能。
5.實作UI頁面堆疊系統當切換UI頁面時會自動記錄上一個頁面,並在呼叫退回時自動回到上一堆疊。
6.支援場景編輯,能以3D模組擺放關卡細節, 天氣環境以及所有單位持有武裝, 也可以切換到2D小地圖模式進行快速編輯, 實作有風向與洋流對環境的真實影響。
7.遊戲內即時繪圖功能, 透過追蹤滑鼠軌跡, 在面板上透過直接修改底圖上在軌跡上的像素實作出簡易的繪畫功能, 使的玩家可以在訓練的過程可以在場景上留下標記並同步給其餘玩家。
8.透過實作不同的API介面使不同身分組(ex:長官、學員、指揮官),可以操作的UI被區隔開,以及對於不同事件(ex:開火許可、申請故障排除)的接收被區隔開。讓對應的身分組可以觀看到對應的UI以及進行回應。
node-base 及時偵錯框架
1.程式碼自動生成Editor版面追蹤版面回報當前運行的狀態與使用者自訂的註解。
2.透過實作介面的方式讓使用者可以完成自定義排版。
3.運行時即時產生flow堆疊log, 減少回報成本
狀態機的缺陷是需要透過檢視每個狀態才能夠全盤的了解各狀態間的關係, 會隨著狀態的數量越來越多越來越難掌握整體流程的結構。
透過node-base框架會在定義完狀態後動態生成整體流程的EditorWindow可以及時追蹤當前流向, 後續的參與開發人員也可以直接觀看整個window快速了解專案架構,QA人員在回報時也會更有效。
遠端監控軟體
1.透過Tcp socket遠端連線控制指定電腦, 監控特定軟體的啟動狀態以及可以發送命令要求遠端主機執行電腦重開。
完成
透過設定檔指定要監控的電腦以及程序名稱,可同時監控多台電腦。
client的畫面為簡易的log輸出,由於主控權都在Server端,Client端會每隔一段時間監控指定的程序的啟動狀態。
魔術方塊專案
當滑鼠點擊起始處是在方塊外部空白處時可以直接旋轉整個方塊
可以進行單行或者單列的旋轉
提供歷史回放供學習他人解開方塊的過程,可以任意快進或倒退時間軸, 並調整撥放速度,
大部分的操作的部分是透過滑鼠控制完成, 是作為數學以及資料結構的練習開始的專案, 練習當方塊在不同的行列中轉移時可以進行資料替換。以及如何將滑鼠在2D平面的操作映射到3D的模型互動上。
即時回放展示:
https://youtu.be/ohmXAHxts9M?si=v8NQ7gnbalmEbpvZ
此為git連結
https://github.com/polu635241/Amaze_Cube.git
此為較為詳細的操作說明
https://www.youtube.com/watch?v=tty3fEnt3HU
連線框架
1.支援Tcp,Udp連線。
2.玩家可自訂身分組與所在頻道,備有其於使用者的進入離開事件。
3.支援自定義封包格式,支援使用者運行時直接注入class與struct進行動態解析,支援泛型型別以及Tuple類別解析。
4.支援外部注入解析器解析特定框架獨有類別(內建支援透過外部注入的方式支援unity型別)。使用者也可以透過實作實作解析器自訂header以及動態型別處裡。
5.透過實作物件池化的記憶體空間避免反覆產生記憶體宣告導致GC。
此為簡易的Demo遊戲WASD移動, 每次按下空白鍵的時候會將控制切換為一個隨機顏色並同步。
移動同步為每秒發送30次的udp事件, 直接同步unity 的position與rotation。
改變顏色為Tcp自訂事件同步unity Color。
想要加深對底層資料的記憶體轉換以及tcp udp的理解進行的專案, 也在編寫的當下思考如何讓使用者可以用簡易的方式自定義專屬的資料結構,以及易於使用的api。
目前正在繼續研發幀同步與鏡像同步混和框架達到可以在unity中開箱即用的效果。
並將此框架應用於研發中的獨立遊戲Dota專案
DependencyInject 依賴注入套件
1.支援透過DI框架產生物件
2.支援透過透過Attribute的掛載宣告,動態將參考注入到已經實例化的物件或者unity component上,實現系統層級的依賴綁定。
流程編輯器
1.提供圖像化節點式編輯器系統控制遊戲流程。
2.以Component的方式組合邏輯並支援直接緩存interface。
3.事件與判定都可透過實作介面完成,內建簡易的行為與事件檢測,提供易於擴展的api緩存。
4.提供遊戲運行時邏輯除錯追蹤,透過標記出目前的判斷與事件運行情況檢視遊戲運行流程
編輯畫面
5.透過綁定AI介面支援AI行為樹控制
喜歡研究小工具以及嘗試自己開發套件分享給他人使用合作上樂於與他人
論是否有更好的解法,當得知有新的技術的時候也會樂於加入討論。
目前主要涉略領域都為C#相關,大多使用unity平台與wpf,串接使用過adb,並實作過HttpFileServer。
看到有趣的工具時也會試著依照自己的理解重現時作內容,曾經嘗試在Wpf環境上復刻unity Coroutine。
發布方面使用Jenkins 與gitlab pipeline。
目前除了遊戲領域以外正在透過asp.net
研發CICD web server,並將CICD的結果顯示在頁面上即時回報。
六月 2021 - 至今 軟體研發工程師 • 允和科技有限公司
負責工作
使用技術
五月 2018 - 六月 2021 軟體前端工程師 • 維亞娛樂科技有限公司
負責工作
使用技術
學歷
Double Tap VR射擊遊戲
1.負責連線模式完成以Host連線為主的LanGame邏輯
2.實作斷線重連邏輯。
3.遊戲結束後產生重播緩存回伺服器,讓玩家可以觀賞完整重播。
4.負責完成整體遊玩邏輯。
5.使用Unity Editor,製作靶的流程邏輯編輯系統,編輯遊戲內的機關與機關之間的互動、出現頻率以及時間差。
6.使用Unity Editor製作靶與的路徑編輯系統可以直接在場景中拖拉曲線與拋物線並緩存成設定檔來模擬物理現象,確保同步的結果一致。
7.參考Coroutine結構,實作可被網路同步的迭代器架構,解析編輯器產生檔案後,讓邏輯與演出的迭代器片段自動分離到Client端與Server端運算。
8.實作玩家成績分析並透過Protocol Buffers 協定與後端溝通。
以下為遊戲實機畫面參考連結:
https://www.youtube.com/watch?v=TS7rdHbsc1k
https://www.youtube.com/watch?v=GDR8KC-iJ9c
https://www.youtube.com/watch?v=SgNrH-UXH8Q
https://www.youtube.com/watch?v=NILjliRlFKs
隨到隨玩大場域VR生存遊戲
1.Server支援玩家可以隨時進出伺服器。
2.支援職業選擇以及在擊殺其餘玩家後能夠及時選擊增益效果提升能力。
3.增益效果編輯介面,讓企劃人員可以直接設計並編輯每個效果要個別操作的數值。
4.製作武器切換系統(散彈槍,榴彈槍, 電球槍), 並提供編輯介面供企劃人員調整數值與對應的演出效果。
5.wpf 遊戲管理介面,透過adb替場域內裝置更新遊戲版本以及定時從安卓系統內收集log回到機房緩存。
6.http server實作FileServer 支援遊戲內AssetBundle 熱更新。
7.實作網路同步的有限狀態機,所有狀態會衍生成Client、Remote、Server三個變體,同個狀態間的變體可以透過API直接溝通,Server端掌控狀態的切換當期切換時與他對應的變體也會自動切換,使用者只要專注在維護對應的區塊就好。
8.實作網路同步的動畫控制器,美術人員在編輯時依然是在unity原生的animator,遊戲運行後會在Server端運行Animator邏輯,並且依據固定頻率將當前撥放動畫以及撥放進度同步給Client端來進行同步,開發者只需要關注Server端的運行邏輯即可。所有對動畫的操作都會自動同步到Client端。
以下為遊戲實機畫面參考連結:
https://www.youtube.com/watch?v=QfI9p8aeDIM
軍事戰略模擬訓練
1.UI版面完全同步框架,模擬多人操作同一面板的效果,透過緩存UI的樹狀結構替所有UI綁定唯一碼,所有勾選框以及輸入介面的互動都會透過唯一碼被確保在不同電腦中完全同步。
2.串接MySQL支援內部網路的帳號申請與權限修改以及帳號加密機制。
3.透過udp協定支援即時影像串流以及語音通訊功能。
4.實作遊戲內聊天室功能。
5.實作UI頁面堆疊系統當切換UI頁面時會自動記錄上一個頁面,並在呼叫退回時自動回到上一堆疊。
6.支援場景編輯,能以3D模組擺放關卡細節, 天氣環境以及所有單位持有武裝, 也可以切換到2D小地圖模式進行快速編輯, 實作有風向與洋流對環境的真實影響。
7.遊戲內即時繪圖功能, 透過追蹤滑鼠軌跡, 在面板上透過直接修改底圖上在軌跡上的像素實作出簡易的繪畫功能, 使的玩家可以在訓練的過程可以在場景上留下標記並同步給其餘玩家。
8.透過實作不同的API介面使不同身分組(ex:長官、學員、指揮官),可以操作的UI被區隔開,以及對於不同事件(ex:開火許可、申請故障排除)的接收被區隔開。讓對應的身分組可以觀看到對應的UI以及進行回應。
node-base 及時偵錯框架
1.程式碼自動生成Editor版面追蹤版面回報當前運行的狀態與使用者自訂的註解。
2.透過實作介面的方式讓使用者可以完成自定義排版。
3.運行時即時產生flow堆疊log, 減少回報成本
狀態機的缺陷是需要透過檢視每個狀態才能夠全盤的了解各狀態間的關係, 會隨著狀態的數量越來越多越來越難掌握整體流程的結構。
透過node-base框架會在定義完狀態後動態生成整體流程的EditorWindow可以及時追蹤當前流向, 後續的參與開發人員也可以直接觀看整個window快速了解專案架構,QA人員在回報時也會更有效。
遠端監控軟體
1.透過Tcp socket遠端連線控制指定電腦, 監控特定軟體的啟動狀態以及可以發送命令要求遠端主機執行電腦重開。
完成
透過設定檔指定要監控的電腦以及程序名稱,可同時監控多台電腦。
client的畫面為簡易的log輸出,由於主控權都在Server端,Client端會每隔一段時間監控指定的程序的啟動狀態。
魔術方塊專案
當滑鼠點擊起始處是在方塊外部空白處時可以直接旋轉整個方塊
可以進行單行或者單列的旋轉
提供歷史回放供學習他人解開方塊的過程,可以任意快進或倒退時間軸, 並調整撥放速度,
大部分的操作的部分是透過滑鼠控制完成, 是作為數學以及資料結構的練習開始的專案, 練習當方塊在不同的行列中轉移時可以進行資料替換。以及如何將滑鼠在2D平面的操作映射到3D的模型互動上。
即時回放展示:
https://youtu.be/ohmXAHxts9M?si=v8NQ7gnbalmEbpvZ
此為git連結
https://github.com/polu635241/Amaze_Cube.git
此為較為詳細的操作說明
https://www.youtube.com/watch?v=tty3fEnt3HU
連線框架
1.支援Tcp,Udp連線。
2.玩家可自訂身分組與所在頻道,備有其於使用者的進入離開事件。
3.支援自定義封包格式,支援使用者運行時直接注入class與struct進行動態解析,支援泛型型別以及Tuple類別解析。
4.支援外部注入解析器解析特定框架獨有類別(內建支援透過外部注入的方式支援unity型別)。使用者也可以透過實作實作解析器自訂header以及動態型別處裡。
5.透過實作物件池化的記憶體空間避免反覆產生記憶體宣告導致GC。
此為簡易的Demo遊戲WASD移動, 每次按下空白鍵的時候會將控制切換為一個隨機顏色並同步。
移動同步為每秒發送30次的udp事件, 直接同步unity 的position與rotation。
改變顏色為Tcp自訂事件同步unity Color。
想要加深對底層資料的記憶體轉換以及tcp udp的理解進行的專案, 也在編寫的當下思考如何讓使用者可以用簡易的方式自定義專屬的資料結構,以及易於使用的api。
目前正在繼續研發幀同步與鏡像同步混和框架達到可以在unity中開箱即用的效果。
並將此框架應用於研發中的獨立遊戲Dota專案
DependencyInject 依賴注入套件
1.支援透過DI框架產生物件
2.支援透過透過Attribute的掛載宣告,動態將參考注入到已經實例化的物件或者unity component上,實現系統層級的依賴綁定。
流程編輯器
1.提供圖像化節點式編輯器系統控制遊戲流程。
2.以Component的方式組合邏輯並支援直接緩存interface。
3.事件與判定都可透過實作介面完成,內建簡易的行為與事件檢測,提供易於擴展的api緩存。
4.提供遊戲運行時邏輯除錯追蹤,透過標記出目前的判斷與事件運行情況檢視遊戲運行流程
編輯畫面
5.透過綁定AI介面支援AI行為樹控制