最近在看這本書,雖然說基本上書裡的內容都可以從約耳的blog讀到,但是有本書在手上翻感覺還是不一樣。
這本書基本上是在講一些開發及管理軟體project時的一些「實務經驗」,還有一些法則,有在軟體公司上班一段時間的看了這本書一定會會心一笑,即使是在國內數一數二的大型軟體公司,約耳所提到一些對軟體開發及管理有害的事情還是不斷再發生...
http://local.joelonsoftware.com/mediawiki/index.php/%E9%A6%96%E9%A0%81
有興趣的可以到這個網頁看看^^
貼一張一點關係都沒有的圖
星期一, 7月 12, 2010
Trigger battle
雖然已經把整個架構改成可以支援隨時進入另一個場景,不過還沒做任何可以觸發的點,所以開始在地圖上擺些主角之外的角色...
擺了其他角色後才發現,有很多問題要解決,例如這角色只是一般NPC,不會觸發戰鬥的,和主角接觸時要有物理碰撞之類的,一大堆東西要做...
擺了其他角色後才發現,有很多問題要解決,例如這角色只是一般NPC,不會觸發戰鬥的,和主角接觸時要有物理碰撞之類的,一大堆東西要做...
星期六, 7月 10, 2010
星期五, 7月 09, 2010
SkyX and Game state control
很久沒更新...
把SkyX給整進來了,然後主程式的架構大改,為了要能控制game的state跟flow,現在貼出來的是game其中的一個state,目前程式可以隨時切換到另一個state,例如進入戰鬥,now loading畫面等等,不過就只有主架構做好而已,還有一堆memory leak跟一堆小bug要修...
距離一個RPG還遠的很...
把SkyX給整進來了,然後主程式的架構大改,為了要能控制game的state跟flow,現在貼出來的是game其中的一個state,目前程式可以隨時切換到另一個state,例如進入戰鬥,now loading畫面等等,不過就只有主架構做好而已,還有一堆memory leak跟一堆小bug要修...
距離一個RPG還遠的很...
星期二, 5月 04, 2010
星期一, 5月 03, 2010
星期二, 4月 27, 2010
星期一, 4月 26, 2010
星期五, 4月 23, 2010
OGRE 1.7 terrain
弄了我半天,1.6之前只要直接set 一個cfg檔就可以畫出個簡單的terrain,1.7搞得好麻煩,雖然說新增了很多feature啦。
不過沒有新的tutorial或是usage document...搞了老半天才知道怎麼用,實在好累,先把code貼上來,以免過陣子忘記...
mTerrain = OGRE_NEW Ogre::Terrain(sceneMgr);
Ogre::Image img;
img.load("terrain.png", Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
Vector3 lightdir(0.55, -0.3, 0.75);
lightdir.normalise();
Light* l = sceneMgr->createLight("tstLight");
l->setType(Light::LT_DIRECTIONAL);
l->setDirection(lightdir);
l->setDiffuseColour(ColourValue::White);
l->setSpecularColour(ColourValue(0.4, 0.4, 0.4));
sceneMgr->setAmbientLight(ColourValue(0.2, 0.2, 0.2));
Ogre::Terrain::ImportData defaultimp;
/*...set the ImportData information...*/
mTerrain->prepare(defaultimp);
mTerrain->load();
/*...set the blend map...*/
blendMap0->dirty();
blendMap1->dirty();
blendMap0->update();
blendMap1->update();
mTerrain->freeTemporaryResources();
這blog貼code有沒有啥好方法啊?
貼張圖,1.7的terrain有支援normal map跟light map,而且加入了paging manager,以後就可以做大型場景了,bye bye PLSM.
不過沒有新的tutorial或是usage document...搞了老半天才知道怎麼用,實在好累,先把code貼上來,以免過陣子忘記...
//這個改成non-static function了,而且如果不在create terrain前呼叫,會導致run time error,
//而且這error從message或是windbg都看不出來怎麼死的,死在singleton裡,看到的人鐵定
//覺得莫名其妙XD
TerrainGlobalOptions* mTerrainGlobals = OGRE_NEW TerrainGlobalOptions();mTerrain = OGRE_NEW Ogre::Terrain(sceneMgr);
Ogre::Image img;
img.load("terrain.png", Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
Vector3 lightdir(0.55, -0.3, 0.75);
lightdir.normalise();
Light* l = sceneMgr->createLight("tstLight");
l->setType(Light::LT_DIRECTIONAL);
l->setDirection(lightdir);
l->setDiffuseColour(ColourValue::White);
l->setSpecularColour(ColourValue(0.4, 0.4, 0.4));
sceneMgr->setAmbientLight(ColourValue(0.2, 0.2, 0.2));
Ogre::Terrain::ImportData defaultimp;
/*...set the ImportData information...*/
mTerrain->prepare(defaultimp);
mTerrain->load();
/*...set the blend map...*/
blendMap0->dirty();
blendMap1->dirty();
blendMap0->update();
blendMap1->update();
mTerrain->freeTemporaryResources();
這blog貼code有沒有啥好方法啊?
貼張圖,1.7的terrain有支援normal map跟light map,而且加入了paging manager,以後就可以做大型場景了,bye bye PLSM.
星期五, 4月 09, 2010
星期三, 3月 10, 2010
OGRE Addons
目前決定會用PLSM2,PagedGeometry跟OgreNewt
基本上PagedGeometry已經在用了,但是要把Newton這個物理引擎整進來的時候遇到問題Orz,所以決定把Terrain的Scene Manager換成PLSM2。
這問題其實是...OgreNewt沒有wrap Newton對一般HeightMap的處理,也就是說,如果只用Ogre內建的scene manager產生的terrain,ogrenewt是沒辦法對其作物理運算,要不就是自己做一個mesh假裝是terrain,要不就是用ODE這個另外的engine,第三個在forum找到的方法就是用PLSM2來取代Ogre的terrain scene manager,所以搞了半天又要多弄一個addon進來Orz
然後PLSM2這東西目前基本上已經年久失修,document是有很多沒錯,但是一堆照著做卻會有更多問題的Orz
不過還好目前都解決了,花了好大功夫,所以目前這三個Addons都可以單獨build,也都稍微弄了個可以跑的demo,不過要把這三個弄在一起可能還要些功夫...而且我猜會遇到更多問題...
基本上PagedGeometry已經在用了,但是要把Newton這個物理引擎整進來的時候遇到問題Orz,所以決定把Terrain的Scene Manager換成PLSM2。
這問題其實是...OgreNewt沒有wrap Newton對一般HeightMap的處理,也就是說,如果只用Ogre內建的scene manager產生的terrain,ogrenewt是沒辦法對其作物理運算,要不就是自己做一個mesh假裝是terrain,要不就是用ODE這個另外的engine,第三個在forum找到的方法就是用PLSM2來取代Ogre的terrain scene manager,所以搞了半天又要多弄一個addon進來Orz
然後PLSM2這東西目前基本上已經年久失修,document是有很多沒錯,但是一堆照著做卻會有更多問題的Orz
不過還好目前都解決了,花了好大功夫,所以目前這三個Addons都可以單獨build,也都稍微弄了個可以跑的demo,不過要把這三個弄在一起可能還要些功夫...而且我猜會遇到更多問題...
星期四, 2月 18, 2010
星期二, 2月 16, 2010
訂閱:
文章 (Atom)














