Home > 雜項 > 關於把 Mil 開源,徵求大家意見

關於把 Mil 開源,徵求大家意見

  • 2009-10-09 (五) 23:44
  • 雜項

osi_standard_logo

這兩個星期在老家的悠長假期快結束了。沒有開發環境下,在想一些開發計劃,當中最重要的是關於 Mil 的開源問題。本文記錄了現時的一些想法,並徵求大家旳意見。

開源的原因

  1. 開始寫 Mil 時是為學習和交流用的。
  2. 沒人用的軟件沒有價值;沒做出好遊戲的引擎也沒有價值。
  3. 遊戲使用的技術一日千里,不常更新的引擎也沒有用。有使用者會鼓勵更新。
  4. 必須要有使用者的回饋才能進步。

期望的理想結果

  1. 有個人或公司(包括自己)用它來做遊戲,並取得成功。
  2. 有更多人參與開發。
  3. 有人(包括自己)用它來做研究用的平台,研究一些新的遊戲用技術。(例如有人用 Quake 來做 AI、ray-tracing的實驗)
  4. 出版書籍或文章。
  5. 提供顧問服務,或取得開發資助。

開源的選擇

  1. 使用那種License? 參考了朋友給的意見,暫時認為 MIT 比較適合。目標是有人用就好了。
  2. 使用那種文字語言(document, blog, forum)? 這比較困難,用英文是比較簡單。但是否要考慮用中文呢?可能先英文,再讓有興趣的人譯中文吧。還是有人認為中文更重要呢?
  3. 在那裡 host? 暫時比較想用 google code (SVN)。但最好是有自己 domain 的website吧? 有其他建議的請告訴我。

開源的準備

首先,完成以下的軟件功能:

  1. 完善 MilStudio 的基本 World 編輯功能。
  2. 腳本的基本 callback 函數。
  3. 把一些之前的 examples (如Platform) 在 MilStudio 裡重新建立一遍,存為 Mud 檔。
  4. 轉換 Mud 至 Win32 MilPlayer 的格式。
  5. 使 MilPlayer 能運行 examples。
  6. 支持人物 skeleton、animation 及 skinning (自 COLLADA 滙入、渲染至 Lua API) 。
  7. 基本的渲染引擎 (主要是 Material、Lights、Renderer)。先做一個 single light per pass (只是簡單Blinn/Phong) 的 renderer。(其實自己很想試做 Light Pre-Pass (slides) 的)
  8. 音效功能。API 應該可以很簡單吧。
  9. Linux 及 OpenGL…… 其實不太想做,因為實際用途太少。主要用途只是用來 proof of concept,可以 Linux + OpenGL 證明 PS3、OSX、iPhone 等也沒大問題。這點再考慮。
  10. Unit tests (Lua API、MilStudio)
  11. Code review 及 refactoring (不想之後的 API 改變太大,有改動盡早改)

之後,上傳前要做的事情:

  1. 檢查所有 thirdparty 的 license,並移除不適合的 (例如我現時把 DXSDK 的 header/library 放在 repository 裡,應該是不可以的吧?但要別人安裝某個版本的 DXSDK 總覺得很麻煩)
  2. 編寫文檔,主力是 Lua 的 API。目前的想法是在 C++ header 裡寫 API doc,用 doxygen 輸出 XML 格式,再寫一個程式轉換為 Lua 的 API 樣式。(將來還可以用來做 IDE 裡的 auto completion 和 call tips)
  3. 做win32 binary installer (MilStudio、MilPlayer),給不需要用 source code 的使用者。
  4. 項目 logo、icon、philosophy、tutorial……

以上的事情大概在今年內應該完成不了,希望在農曆新年前完成。

之後的短期路線圖

只有路線圖,沒有時間表。

  1. 因應朋友的需要做 PSP 移植,可能會先用 homebrew 的 SDK
  2. MilStudio 裡的 Lua debugger。
  3. Mud 及 MilStudio 加入 version control。
  4. 用 Entity 的方式來做 GUI,暫不考慮文字輸入。
  5. 做不完的 graphics 功能 (particle、shadow、post-processing……)

結語

開源也意味著將來長時間要做更新、bug fixes、回答問題等等,需要長期的投入。

歡迎你的任何意見,可回 comment 或 e-mail 給我。

Comments:4

黑眼圈 09-10-10 (六) 5:04

host用github.com (git)也不错,免费的开源项目帐号只有300M空间和google比起来小了点,不过全部代码的话完全够的。

mini 09-10-12 (一) 16:20

建議支持iphone,現在支持的引擎不多,有的話會更有亮點,
psp開發的人太少了。

damody 09-11-24 (二) 4:32

個人覺得想要別人分享又要私下使用的話,又希望別人的改版發佈要含源碼的話MIT應該夠用了,
如果用GPL的話反而會很多人嚇到不敢用。

xpoy 10-01-31 (日) 6:04

用给开源项目的空间,当然是SourceForge最好罢?

另外,quake那样的引擎的确很强,但quake的引擎也大部分是用给 FPS之类 单位数量少的游戏,LZ的引擎主要是想走往哪个游戏的方向?
iphone所使用的ARM架构和psp的MIPS架构还是差别很大的,即便在包装了很多层的API层次也有极大的区别,按自己的想法吧应该在现在改变向iphone (?)
进行psp游戏开发的主力是 较大的游戏公司,它们应该多半是用索尼的SDK以及购买的引擎罢?短期想给他们以影响的确不现实,当然实际情况怎样自己并不清楚,因为只是几个月前参与过psp游戏的汉化( :P 顺带学习点mips架构的皮毛)。
lua的API是不足的,希望LZ的开源项目中考虑到 类似于可视化开发的组件.

小可只是一个大菜,说的东西也只不过是 立即的想法,和实际的情况可能缪差千里,LZ万万要指正…

另外,/:^] 如果可以,TA3D.org……

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://miloyip.seezone.net/wp-trackback.php?p=139
Listed below are links to weblogs that reference
關於把 Mil 開源,徵求大家意見 from Milo的遊戲開發

Home > 雜項 > 關於把 Mil 開源,徵求大家意見

Search
Feeds
Meta

Return to page top