2009年4月25日 星期六

About smallworld2

smallworld2是個人設計實作的遊戲程式庫,因為最早是針對MMOG伺服器端的需求作開發,所以主要特點是系統底層及網路功能的支持。以C++語言實作,CppUnitTest作單元測試,具跨平台能力。

下圖是smallworld2的系統方塊圖,每一個方塊都是一個可以獨立使用的模組,愈上面的模組表示愈高階,同時也表示它還使用到底下模組所提供的功能。例如Network模組使用到了ObjectPool、BitStream及Socket模組來實作出高階的網路功能,而Smallworld模組則再架構在Network模組之上,建構出更高階抽象的功能。


smallworld2提供的功能比較偏底層資料結構,唯一和成像比較有直接關係的就只有Widget,這是一個GUI模組,不過要怎麼畫也是要根據繪圖平台自行實作,所以它也是和2D/3D等無關。而區域空間資料結構(Cells)則屬輔助性的資料結構,算間接和成像有點關係。

這個程式庫發展到現在還一直保持在一個精簡的規模,這也是因為我的設計思維比較偏極限編程(eXtreme Programming)的關係吧。我總是不會過早加入功能,只保持在可以工作的最簡單的規模。其它的需求假如找的到合適的現成資源,則儘量用整合的方式利用而避免重新發明。

話雖是這樣講,不過有時還是免不了犯了很多程式常犯的錯誤,這也是需要時時刻刻警惕自己的事!

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...