Toggle navigation
Search
思元的開發筆記
Programming
Unity
LeetCode
Golang
Game Demos
Archive
Blog
About
思元的開發筆記
關於 web service, unity, blogger 等軟體工程筆記
×
Search dev.twsiyuan.com
顯示具有
軟體工程
標籤的文章。
顯示所有文章
Unity 遊戲存檔機制淺談,加密 (Encryption) 保護遊戲存檔防作弊
延續在 前一篇文章 中的議題。 前題,任何的加密機制只是增加破解難度,單機遊戲存檔若沒有特殊硬體的保護,幾乎都可以被破解,光是程式碼反編譯 (decompiling) 並且分析程式碼,便能知道該遊戲如何處理存檔加密,甚至能直接拿到加密用的金鑰 (key)。
Read More
王思元
2:28 下午
軟體工程
,
C-sharp
,
Unity
Unity 遊戲存檔機制淺談,關於壓縮 (Compression) 的三兩事
延續在 前一篇文章 中的議題,在遊戲存檔進行壓縮 (compress) 後儲存,可減少其儲存所需空間,之後讀取先經過解壓縮 (decompress) 後,再反序列化 (deserialize) 還原成遊戲狀態物件來使用。
Read More
王思元
4:00 下午
軟體工程
,
C-sharp
,
Unity
Unity 遊戲存檔機制淺談,從序列化 (Serialization) 到儲存裝置 (Storage)
之前在社團看到的有趣問題,因此綜合以前的開發經驗,整理成這份筆記。
Read More
王思元
10:30 下午
軟體工程
,
C-sharp
,
Unity
Unity C# Interface, Inheritance and Component:以狀態血量設計為例
最近同事分享之前受訓所學的 Design patterns,加上看到社群有人詢問血量設計問題,因此整理關於在 Unity 中,設計血量系統的可能實作方法。 不得不說,剛從學校畢業開始接觸 Unity 時,最優先採用的是類別繼承 (class inheritance),...
Read More
王思元
1:16 下午
軟體工程
,
C-sharp
,
Unity
Unity C# Inheritance vs Composition 繼承與組件式設計之戰鬥系統經驗談
基於一些機緣而回憶之前身為初心者所掉過的坑,到底應該是使用繼承 (Inheritance) 抑或是組合 (Composition) 方式來設計遊戲中的戰鬥系統,哪一種比較適合 持續變動的遊戲開發 ?
Read More
王思元
11:15 下午
軟體工程
,
Unity
多人網路連線遊戲程式開發之讀書筆記:同步遊戲資料,資料序列化與物件複製,處理網路延遲與伺服器安全性
Multi-Player Game Programming ,這是一本介紹如何建置多人網路遊戲程式的書,提到許多關於網路遊戲傳輸的重要概念,例如如何同步遊戲世界資料,如何讓遊戲玩起順順不卡頓 (lag)等等,以及多人遊戲會遇到的困難與挑戰,有志朝網路遊戲程式設計可以閱...
Read More
王思元
9:48 下午
軟體工程
,
讀書筆記
,
Backend
TCP 連線狀態機制與流程
在開發基於 HTTP 的網路應用服務時,當有大量連線要求,或是與長連線 (Persistent connection) 要求時,常常遇到底層 TCP 的連線斷線錯誤,導致服務不穩定。因此研究了解 TCP 的連線狀態機制,並嘗試用自己的方式整理筆記,希望能從基礎知識中找到...
Read More
王思元
8:51 下午
軟體工程
,
TCP
Integration of Jenkins and GitBlit
發現需求 自從上次完成建置好 第一個版本的 CI Server ,拿來自動整合並建置專案 (build project),並且可以在 Jenkins 管理頁直接瀏覽或是下載建置結果。 每天會自動定時排程作業 (jobs),自動建置一版,但當專案趨近完成後,好幾個禮拜都沒有再...
Read More
王思元
8:00 上午
軟體工程
,
Jenkins
HTTP 淺談,使用 PostMan 操作
最近與合作廠商溝通,公司所提供的服務應用 (based on HTTP) 要怎麼使用,但因對方沒有經驗而花費一些時間,因而寫這一篇概念篇,期許下次可以直接丟給窗口,對 HTTP 有所了解後,再來教學會比較輕鬆容易些。 HTTP 通訊協定 HTTP,現在被廣泛被使用,不管是網...
Read More
王思元
12:30 下午
軟體工程
,
HTTP
Rebase a fork using TortoiseGit
工作需求,要將 Fork 專案 (某個 Repository 的副本),對於原始的 Repository,做一次 Rebase 更新基底程式碼,簡單紀錄概念以及操作步驟。 想法概念 下面兩張圖解釋一切,希望 Master 後續的版本更新(Commits),能讓 Featur...
Read More
王思元
4:58 下午
軟體工程
,
GIT
Continuous Integration With Unity (Auto builder) Using Jenkins
最近 Unity 專案開發,每次需要建置並部署 WebGL 到網頁伺服器,都需要大量時間等待,在兩三天就需要建置一個版本時,是一件很非常繁瑣的工作。因此在想這件事情能不能自動化,所謂的自動建置伺服器 (Auto builder),能在指定時間從 Git server 抓取最新...
Read More
王思元
11:55 下午
軟體工程
,
Jenkins
較舊的文章
粉絲專頁
本週熱門
網誌存檔
贊助廣告
粉絲專頁
每周熱門
Unity AssetBundle 快取機制與載入範例
前陣子看到有人詢問關於 AssetBundle 載入以及其快取機制 (caching) 的處理問題,因此整理這篇筆記,供之後給團隊解說與教學之用。
Unity AssetBundle Variants 機制研究筆記
最近使用 AssetBundle Variants 機制來打包遊戲專案,紀錄打包遇到的問題以及解決筆記。關於 AssetBnudles 機制可以參考 系列文章 。
Facebook Open Graph Setting in Blogger
Open Graph Protocol 是 Facebook 發展的 meta data 的建立規範,這邊僅提及文章(Article)的應用。 當部落格文章分享到 Facebook 時,Facebook 會讀取 Open Graph 的標籤資料來產生的文章預覽,包含縮圖以及摘要...
TCP 連線狀態機制與流程
在開發基於 HTTP 的網路應用服務時,當有大量連線要求,或是與長連線 (Persistent connection) 要求時,常常遇到底層 TCP 的連線斷線錯誤,導致服務不穩定。因此研究了解 TCP 的連線狀態機制,並嘗試用自己的方式整理筆記,希望能從基礎知識中找到...
C++ Library callback using C# in Unity and cross thread call
由社團文章討論所做的測試,主要是有人詢問,在外部 C++ library callback 函數中,呼叫 StartCoroutine 而導致錯誤訊息 StartCoroutine can only be called from the main thread。這明顯是一個跨執...
Rebase a fork using TortoiseGit
工作需求,要將 Fork 專案 (某個 Repository 的副本),對於原始的 Repository,做一次 Rebase 更新基底程式碼,簡單紀錄概念以及操作步驟。 想法概念 下面兩張圖解釋一切,希望 Master 後續的版本更新(Commits),能讓 Featur...
Unity5 Graphic raycastTarget default values
What is this 從社團上看到有人在討論,Unity GUI 大量的 UI 物件會使得 Graphic Raycaster 效能低落,因為要判斷該 Canvas 上許多的 Graphic 物件有沒有被 Ray 打到。主要的解決方案是減少判斷的 Graphic 物件,設...
Unity Prefabs 之使用方式筆記
Prefab (預製物件) 是在 Unity 中經常被使用的機制之一,能將 GameObject 以及其 Components 的屬性狀態儲存為單一個 Asset。當 Prefab 屬性調整時,Unity 能夠自動更新放置在場景 (Scenes) 中的實體物件 (Prefa...
Unity5 Editor ReorderableList
ReorderableList 整理使用 Unity ReorderableList 筆記,希望以後有範本可以直接複製貼上,不用每次都要重新找文章,依樣畫葫蘆重做一次。 // Path: /Scripts/ShopMenu.cs using UnityEngine; ...
Integration of Jenkins and GitBlit
發現需求 自從上次完成建置好 第一個版本的 CI Server ,拿來自動整合並建置專案 (build project),並且可以在 Jenkins 管理頁直接瀏覽或是下載建置結果。 每天會自動定時排程作業 (jobs),自動建置一版,但當專案趨近完成後,好幾個禮拜都沒有再...
網誌存檔
▼
2018
( 27 )
▼
10月
( 1 )
Github SSH 連線設定,確保 Mac SourceTree 正常運作
►
9月
( 1 )
►
8月
( 1 )
►
6月
( 3 )
►
5月
( 5 )
►
4月
( 4 )
►
3月
( 1 )
►
2月
( 6 )
►
1月
( 5 )
►
2017
( 59 )
►
12月
( 4 )
►
11月
( 3 )
►
10月
( 6 )
►
9月
( 5 )
►
8月
( 5 )
►
7月
( 5 )
►
6月
( 5 )
►
5月
( 4 )
►
4月
( 5 )
►
3月
( 8 )
►
2月
( 6 )
►
1月
( 3 )
►
2016
( 44 )
►
12月
( 3 )
►
11月
( 2 )
►
10月
( 6 )
►
9月
( 4 )
►
8月
( 5 )
►
7月
( 4 )
►
6月
( 4 )
►
5月
( 2 )
►
4月
( 2 )
►
3月
( 3 )
►
2月
( 6 )
►
1月
( 3 )
►
2015
( 1 )
►
12月
( 1 )
贊助廣告