在 Unity 使用 Git Submodule/Subtree 的困境及應對 – trouble when using Submodule or Subtree in Unity

同為 Unity 專案之間,一定有許多方便且時常重複使用的程式碼,是加快開發的重要工具。如果能夠同時在所有專案都有一份這樣的程式碼,又有手段可以同時對每一分程式碼進行更新或修改就再好不過了,於是我們通常會想到利用 Submodule / Subtree 來管理專案。

不過因為 Unity 專案的特性,事情可能沒有那麼簡單容易。

在使用 Git Submodule / Subtree 來管理你的 Unity 專案之前,你應該先釐清 Submodule / Subtree 的特性其實跟 Unity 專案結構是有些衝突的。

subproject.jpg

Read More »

為 Unity 準備一個泛用的狀態模式 – prepare a State pattern for Unity

State pattern 是我使用次數最多的設計模式,在 Unity 遊戲的開發中被我用於 程式流程的控制、規則的彈性編輯、簡易 AI 的撰寫、腳色控制器 的設計等,是應用相當廣泛的模式。

因為次數太多了,索性事先設計好基本的類別,當需要的時候便可以隨時隨地使用 State pattern,本文便是藉機介紹了 State pattern 及我的通用作法。

Read More »

Git 常用指令筆記(一) 基本操作 – Cheatsheet of Basic Commands of Git

Git 是一個被廣泛使用的 版本控制系統(Version Control Systems),雖然現在有許多圖形化的介面可以使用,但要完全發揮 Git 的各個功能細節,使用 Command 進行操作依舊是相當重要的。

本文重新整理了當初在學習 Git 時所寫的筆記,並另外加入一些新的補充,紀錄了大部分 Git 中常用的 Commit、Branch、Remote 相關指令,做為學習的參考或使用上的備忘錄。

Read More »

應用 Singleton pattern 及 Unity Component 做系統拆分與管理 – Dividing your game system in unity.

在使用 Unity 開發遊戲的時候,為了實現各種功能,往往會不斷衍伸出一個又一個的系統,分別執掌不同的任務,可能是為了管理 UI 介面,也可能是為了建立連線,又或者是為了管理存檔。一個個的系統往往又為了方便而採用 Singleton pattern,或者互相注入,最後的結果就是系統之間的關係複雜,程式碼不易維護及重複使用。

於是乎我就一直思考著如何將一個巨大的系統架構,拆分成一個個獨立且靈活的小系統,就像電腦與周邊設備可以用 USB 輕易連接與斷開,我也希望我所開發的一個個系統,可以自由自在地安置在不同的開發專案之中。

如今這是我的初步成果,一套用於拆分以及管理各個子系統的架構:

gamesystemmanager

Read More »

適用於 Unity 的 git ignore 設定 – gitignore setting for unity

如何對 Unity 專案使用 git  管理?或者使用其他的板控時該如何設定?

基本上 Unity 專案是個很複雜的東西,因為很多部分是非文字檔,是不容易進行版本控制的。不過撇開資源檔跟場景檔這些非文字檔不談,官方也有段文字說明了哪些檔案在使用版本控制是需要注意的:Using External Version Control Systems with Unity 。

這篇文章便是以官方的說明為基礎,簡單描述如何設定版本控制中,那些檔案是必須被追蹤,而那些檔案又是可以忽略的。

Read More »

學習設計模式的感想 – what benefits I get after studying design pattern

接觸設計模式的時間說長不長說短不短,但自從接觸了之後,才發現不管網路或者開發者社群,時不時都會有人提出 如何學習設計模式 的疑問。對於只是聽聞 設計模式 這個名稱,並被灌輸這個很重要,必須去學的想法的人,設計模式可能就像神祕學一般難易入門。

其實設計模式沒有這麼神奇與強大,只要累積一定的程式開發經驗之後,設計模式的想法基礎自然會逐漸被你聽聞或者吸收 (頓悟)。所謂的學習設計模式,只不過是強行頓悟的一個過程,像是打坐或冥想一般。

這篇文章是我接觸設計模式後的想法彙整,且提到了些關於學習過程的想法,希望可以幫到想接觸的人。

Read More »

如何分類遊戲?- How to categorize games

不知道我為什麼一直很在意這件事,世界上的遊戲數量如此之多,也有很多專門介紹或取得遊戲的網站及平台,但是似乎沒有一個真正身為遊戲的分類機制。如果我不知道遊戲名稱,只記得大致的玩法;或者我玩了一款遊戲後,想找到其他有類似玩法的遊戲,似乎都不是一件容易的事。

遊戲不如生物那樣有一套眾所皆知的分類系統,要偶遇喜歡的遊戲有時還真需要點緣分。我試著從維基百科、Google Play Store、Steam等幾個大型網站去找出各自的遊戲歸類,加上主觀的想法來整理遊戲分類表。

這絕對不是一張完整的分類表,甚至相當粗糙。因為遊戲類型真的太過多樣化,時間與有限的資料根本不夠完成分類工作,但因為是個有趣的過程,便用一篇文章記錄了下來。

Read More »