思元的開發筆記

關於 web service, unity, blogger 等軟體工程筆記

顯示具有 軟體工程 標籤的文章。 顯示所有文章

Unity 遊戲存檔機制淺談,加密 (Encryption) 保護遊戲存檔防作弊

延續在 前一篇文章 中的議題。 前題,任何的加密機制只是增加破解難度,單機遊戲存檔若沒有特殊硬體的保護,幾乎都可以被破解,光是程式碼反編譯 (decompiling) 並且分析程式碼,便能知道該遊戲如何處理存檔加密,甚至能直接拿到加密用的金鑰 (key)。

Unity 遊戲存檔機制淺談,關於壓縮 (Compression) 的三兩事

延續在 前一篇文章 中的議題,在遊戲存檔進行壓縮 (compress) 後儲存,可減少其儲存所需空間,之後讀取先經過解壓縮 (decompress) 後,再反序列化 (deserialize) 還原成遊戲狀態物件來使用。

Unity 遊戲存檔機制淺談,從序列化 (Serialization) 到儲存裝置 (Storage)

之前在社團看到的有趣問題,因此綜合以前的開發經驗,整理成這份筆記。

Unity C# Interface, Inheritance and Component:以狀態血量設計為例

最近同事分享之前受訓所學的 Design patterns,加上看到社群有人詢問血量設計問題,因此整理關於在 Unity 中,設計血量系統的可能實作方法。 不得不說,剛從學校畢業開始接觸 Unity 時,最優先採用的是類別繼承 (class inheritance),...

Unity C# Inheritance vs Composition 繼承與組件式設計之戰鬥系統經驗談

基於一些機緣而回憶之前身為初心者所掉過的坑,到底應該是使用繼承 (Inheritance) 抑或是組合 (Composition) 方式來設計遊戲中的戰鬥系統,哪一種比較適合 持續變動的遊戲開發 ?

多人網路連線遊戲程式開發之讀書筆記:同步遊戲資料,資料序列化與物件複製,處理網路延遲與伺服器安全性

Multi-Player Game Programming ,這是一本介紹如何建置多人網路遊戲程式的書,提到許多關於網路遊戲傳輸的重要概念,例如如何同步遊戲世界資料,如何讓遊戲玩起順順不卡頓 (lag)等等,以及多人遊戲會遇到的困難與挑戰,有志朝網路遊戲程式設計可以閱...

TCP 連線狀態機制與流程

在開發基於 HTTP 的網路應用服務時,當有大量連線要求,或是與長連線 (Persistent connection) 要求時,常常遇到底層 TCP 的連線斷線錯誤,導致服務不穩定。因此研究了解 TCP 的連線狀態機制,並嘗試用自己的方式整理筆記,希望能從基礎知識中找到...

Integration of Jenkins and GitBlit

發現需求 自從上次完成建置好 第一個版本的 CI Server ,拿來自動整合並建置專案 (build project),並且可以在 Jenkins 管理頁直接瀏覽或是下載建置結果。 每天會自動定時排程作業 (jobs),自動建置一版,但當專案趨近完成後,好幾個禮拜都沒有再...

HTTP 淺談,使用 PostMan 操作

最近與合作廠商溝通,公司所提供的服務應用 (based on HTTP) 要怎麼使用,但因對方沒有經驗而花費一些時間,因而寫這一篇概念篇,期許下次可以直接丟給窗口,對 HTTP 有所了解後,再來教學會比較輕鬆容易些。 HTTP 通訊協定 HTTP,現在被廣泛被使用,不管是網...

Rebase a fork using TortoiseGit

工作需求,要將 Fork 專案 (某個 Repository 的副本),對於原始的 Repository,做一次 Rebase 更新基底程式碼,簡單紀錄概念以及操作步驟。 想法概念 下面兩張圖解釋一切,希望 Master 後續的版本更新(Commits),能讓 Featur...

Continuous Integration With Unity (Auto builder) Using Jenkins

最近 Unity 專案開發,每次需要建置並部署 WebGL 到網頁伺服器,都需要大量時間等待,在兩三天就需要建置一個版本時,是一件很非常繁瑣的工作。因此在想這件事情能不能自動化,所謂的自動建置伺服器 (Auto builder),能在指定時間從 Git server 抓取最新...