兩個階段的突擊努力終於告一段落,回頭看來,這兩個階段異常的艱苦,每天十幾個小時,一天兩頓飯,有時還沒吃上。開頭狀態和情緒調整的不錯,後面確實感覺到疲倦和沉悶了,這60天的工作內容,相當於乙個公司4個程式設計師6個月左右的工作量,以正確努力的有效勞動時間計算。
然而辛苦是必須的,收穫積累也是顯著和有意義的。堅持在幾個方向的同步進行,從工具,圖形引擎,人工智慧,遊戲框架都獲得了較好的建設和鞏固;這個同時也確定了美術的製作流程,和規則定義,未來的遊戲專案,不用再去考慮任何技術和製作問題了,這有多酷。同時在管理控制上使用敏捷的原則,化繁為簡,輕量有效記錄管理,重開發。對需求管理也做了一定的總結歸納,是一場不錯的功堅戰。
當前的jdi3d引擎已經足夠強大,幾乎包括了目前國內一些比較優秀公司的引擎優點,從測試資料上看,jdi3d具備了完美時空3d引擎的穩定快速和金山劍俠3引擎的絢麗的等技術點。
這階段的另乙個收穫是利用微積分思想,摸索出的自己的實時光能傳遞演算法,不過加入引擎中將會是很久以後的事情了,還是先以專案為主。
1.場景工具,針對一些試用美術的建議,做了易用性的提高。
1.1 水面製作更加方便快捷,可以鎖定高度製作任意形狀的水域;
1.2 山體編輯能夠快速構型,增加指定同一高度刷繪;
1.3 物體和單位的編輯模式確定更靈活可擴充的模式,編輯介面提供更多引數和合理的布置,
如果再次對屬性進行增加,**的修改可以最少。
1.4 增加導航圖等ai基礎的編輯測試模組。
2.模型特效引擎及工具整合修改,擴充最多
2.1 模型換裝規則及對應使用編輯方式整理確定,包括
材質編輯,骨骼掛點編輯,外部裝備,紋理裝備替換,幾何及紋理裝備替換。
2.2 增加 紋理動畫,顏色動畫,以及鏡面等高光效果。
2.3 融入粒子特效,將模型和特效集合於一體,減少乙個工具軟體的工序,只要乙個模型效果編輯軟體器,就可以製作任何動畫以及粒子特效的效果。
2.4 可以以3dmax的製作各種基礎效果為模板,可以方便的增加和建立任何特效。工序簡單明確而易於學習。
2.5 刀光等條帶系統的編輯輸出
2.6 動作混合,可使用各不相同任意兩個動作優雅的組合出新的動作。
2.7 模型動畫 和 特效集合於一體,所有的動態模型,擺設和粒子只需要一種檔案格式。
jdi3d 的新model檔案幾乎實現的和《魔獸世界》一致。都是乙個檔案包括多種內容,這使得在遊戲程式設計的時候,不管的人物,生物,npc等動畫的驅動,或者是各種魔法,增減益效果的程式設計,都只需要使用一種格式管理驅動,為後續的遊戲程式設計提供極大的方便性和簡潔性。
3.無限地形進一步得到整理和加強
3.1 地形紋理在當前顯示卡下cache 在某些情況下會產生失效後置顯示的問題。
3.2 乙個被長期忽略沒有發現的兩個外部地形接縫處lod裂縫問題。這個問題隱藏這麼深,以至於那麼多地圖測試都難於發現。
3.3 修正乙個地形快取無效命中的錯誤,這個錯誤會在某個時刻,讓整個大世界突然不顯示一塊區域。
3.4 在做遊戲部分開發的時候,同時對陰影部分進行了優化,增加了對靜態陰影儲存和讀取功能。動態陰影的可見控制,進一步提公升渲染速度。
3.5 現在引擎能在視野後面透出長長的陰影,即便該物體離開相機視野非常的遠;陰影在遠處實現淡入淡出,增加影象的平滑感覺。
這些優化使得在幾個大地形組合48萬面的奧格瑞瑪城的時候,fps仍能保持在25-60的實用幀率內。同樣,以工程和次優應用為前提, 否則可以在進一步的優化和提高,然而當前這種模型已經遠遠超過國內的絕大多數遊戲引擎速度。jdi3d還有很多潛力可以挖掘.....。
3.6 現在的無限大世界非常的穩健,我只用了70%左右的常規優化,快速而穩定,然後以後還可以有不小的提公升空間。
同樣一定要注意加強自我約束控制,工程的完整實現才是第一目標,何況已經遠勝於國內的很多遊戲了,實用第一,優化無止境。
4.引擎架構的提煉,整理刪除很多臨時的測試**和變數。提煉合併各功能類。進一步物件化工具化。
5.百人同螢幕測試,3000-4000面,80-100根骨骼,的人物動畫在150人同屏的情況下,純粹軟體模型渲染達到20fps.如果使用shader 加速就更理想了。這個問題是很多遊戲公司的困擾,也幫助了他們解決,主要問題還是在於各公司的動畫實現在資料結構上和數學計算上的選擇,不懂得採用正確的方法。
6.人工智慧和導航
6.1 實現基於圖的導航演算法
6.2 實現基於導航網格的演算法
6.3 整理以前fps引擎的路點演算法
6.4 基於上述3種方法,實現a*,dijkstra路徑收索方法,實現自動尋路
6.5 實現狀態機控制,人物運動等主要遊戲邏輯
a.state machine
b.行為管理系統
c.目標仲裁系統
不似3d影象引擎部分的開發那樣會因為包括各種資源,時間,空間,效率,cpu,gpu 輔助資料庫管理等眾多既要綜合元素整合處理,又對某乙個技術點做詳盡反覆許多次的測試實驗,才能提煉達到正確結果,充滿風險,艱苦,常常耗費很長的時間才能解決和優化乙個特定的問題,這樣的問題在3d引擎方法有許許多多。而遊戲遊戲邏輯及ai 方面的邏輯儘管富有挑戰性,也存在難點,然而這部分的編寫,足夠純粹,也足夠有趣。幾乎可以讓你保持身心愉快,工作長久而 仍舊頭腦清醒。ai是個快樂的有趣的體驗過程。現在如果你使用jdi3d ,可以看到npc 能很聰明的找出一條路徑,繞過樹木或者建築等阻擋物,過來攻擊你,哇,這機械人夠聰明。
還有許多細節部分的增加完善以及修改,在workplan 和 worklog 有記錄,只是時間一長東西一多,實在記不住了,就先記錄總結到這裡吧。
時間有點長了,鐵人也要休息,給自己大睡幾天的機會,看看世界盃。
找工作階段性總結
至今為止我已經面了一些公司了,他們之中有 武漢緯創 北京文思 廣州瑞信 深圳華為 港灣。其中港灣由於筆試的考得題目以前沒接觸過而被拒掉了,緯創由於我不願意在武漢工作和工資太少的緣故被我拒了,北京文思我面試了還在等結果,廣州瑞信我也不想去因為那裡提的條件太bt了 簽約5年,長期出差,月薪很低,不安排住...
階段性總結JDBC 3
jdbc程式設計六步 因為jdbc語言就是用來連線資料庫的,所以我們把他模板化學習知道每一步是什麼,每一步需要用到什麼 即可。jdbc程式設計就是以下六步,一定要特別熟悉!1.註冊驅動 就是告訴j a程式你要連線什麼資料庫,是mysql還是oracle還是其他的 2.獲取連線 jvm程序和資料庫之間...
工作四年的階段性總結 1
晚上參加了幾個朋友之間的技術分享,看別人的講演,覺得很業餘。然後就想寫下自己的工作總結。我工作的第一家單位是乙個上海浦東一家披著美資外殼的台灣外包公司,工作了乙個月,就被通知沒過試用期。自己反思,原因有三 1 為人比較直,對於自己看不慣的事情去頂撞。2 技術基礎不夠紮實。應屆畢業的非軟體畢業生技術能...