Thursday, February 11, 2010

橫跨 PC / iPhone 的遊戲框架

忘了從哪時開始,變得好大喜功
就算得一個人(寫程式)也想製作橫跨 PC / iPhone 的遊戲框架
也忘了是哪一天,突然想通了如何連接兩個平台
於是一頭熱的買齊所有裝備著手製作
這個框架暫時名為Pearl Framework(沒甚麼特別意思的)
在PC上基於PowerVR SDK,而在iPhone上則基於Oolong Engine 2
現在已完成的部份:
  • Axis Aligned Billboard
  • Game State Transition
  • Material (Draw by material)
  • Particle System
  • Scene Graph
上圖是一個渲染測試
大約有40個模型(2個Material)、5塊Billboard、2個Particle Emitter(約200粒Particle)
在最新一代的iPod Touch可以保持45FPS
還沒有做過詳細的Performance Tuning

使用方法也很簡單:
// Init
mPearlFramework = new PearlFramework();
mPearlFramework->SetActiveGameState(new TModelTestState());
...
// Update
mPearlFramework->Update(dt);
...
// Render
mPearlFramework->Render(dt);

基本上Pearl Framework的用家只需要編寫不同的Game State
現在除了Input之外,Game State內的Code相通於兩個平台

11 comments:

  1. Wellcome to iPhone dev!
    咁耐無聲氣原來整緊 framework~ 努力呀!

    ReplyDelete
  2. Nice work!

    我也做了個可以橫跨 PC/Mac/iPhone 的 2D 遊戲框架哩~ :D

    ReplyDelete
  3. @Ricky:
    你們也開發了iPhone遊戲引擎?
    我希望在3月上旬可以完成第一款遊戲

    @半路:
    謝謝!
    你的2D遊戲框架是公開的還是只供內部使用?

    ReplyDelete
  4. 不好意思沒用過object-c 請問object-c寫出來的框架如何在pc上使用? 謝謝

    ReplyDelete
  5. @Anonymous:
    我只寫過極少量的Objective C
    基本上在整個框架有99%也是C++
    剩下的1%是Platform Specific 的Function Call
    如 Input Handling, GetLocalFolderPath 等

    ReplyDelete
  6. @Percy:
    我的遊戲框架是自用的,非公司用也非公開,目前只有做到 2D 的架構部分而已。

    之後會寫些相關的文章,歡迎一起來討論阿!

    ReplyDelete
  7. @半路
    期待你的文章 :)

    ReplyDelete
  8. 加油!
    期待睇您更多作品~!

    ReplyDelete
  9. I have a plan, to make a cross engine game develope platform, the demo wmv is here:
    http://www.youtube.com/watch?v=TqmXUfdQOcI

    welcome to my blogger, thanks.
    http://makedreamvsogre.blogspot.com/

    ReplyDelete
  10. Thanks for your visit, 夢癡 :)

    ReplyDelete