PIXNET Logo登入

太陽系後援會

跳到主文

部落格全站分類:職場甘苦

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 4月 03 週五 200900:28
  • 提升效能的方法(一)

做次世代的遊戲真是難阿!要畫面好看又要能跑的順,真恨不得自己改主機,把記憶體加大,把CPU和GPU變快。這當然是辦不到的事,只好想破腦筋來試試各種方法來加快減少系統的負擔。
其實不管做什麼樣平台的遊戲,一個畫面最多可以畫多少個東西往往是最難評估與測試的。這要考慮到面數,貼圖數量、還有Pixel Field Rate等等的瓶頸所在。既然是開發次世代遊戲,畫面當然不能太差,因此貼圖、面數等等往往都是高標準,再者為了表現場景的壯闊與美感,場景上的物件數量與複雜度都是很可怕的數據。更何況在加上特效與AI等等,這都是效能的瓶頸所在。
遊戲之所以是遊戲,就是要跑的動,讓玩家能夠順暢的遊玩。畫面再漂亮,Gameplay設計的在怎麼好,FPS不到30甚至只有10,只會讓玩家想折片罷了。當然,要讓遊戲跑的動,絕對不是企劃修改規則或是美術把model做的很Low(當然如果資料有問題也是要修改)就可以跑的動。曾經聽過有人一個畫面2萬面FPS還不到10,而且還是用9600來開發,可見效能不彰程式佔了很大的因素。畢竟寫不好的Code,再怎麼優化資料結果並不能改善許多。
要提申效能沒有不二法門,往往在於經驗與不斷的修改與測試,以程式人員來說:
1. 首先就是要最佳化自己的程式碼,能夠預先計算好的資料,就不要在每個Frame都計算或是在每個迴圈裡都做相同的計算等等。
2. 盡量使用硬體加速的指令集。比如說向量的運算,以Dot來講是X1 * X2 + Y1 * Y2 + Z1 * Z2。看似很簡單的運算,卻需要CPU幾十個指令的價格,如果真的只有處理一次那都無所謂。但是遊戲中對向量的計算是很頻繁的,這樣的計算往往每個Frame要做幾百幾千次,這樣看起來就不便宜了。如果能用硬體加速的指令集,將三次乘法和兩次加法用一個指令來取代,哇!是不是快很多ㄚ。
3. 提供更多的技術支援給其他部門。
4. 不斷的進修,提升自己的專業能力。
以美術來說:
1. 所做的資料要以能放進遊戲中執行為主,實際去看問題所在,並與程式和企劃討論修改方向。
2. 製作的檔案要符合規定,面數,頂點數,貼圖格式,記憶體大小,Bone的數量等等都要依據程式給的規範來製作。
3. 製作模型時要在前製時期就做好彈性,避免修改過多,也不要害怕修改。畢竟玩家不是美術,對於美感的呈現見仁見智,不需要位了堅持而降低了遊戲本質。
(繼續閱讀...)
文章標籤

kgsprogrammer 發表在 痞客邦 留言(1) 人氣(1,311)

  • 個人分類:遊戲開發
▲top
  • 10月 24 週五 200823:55
  • Float轉Int的快速方法

一般來說Float轉成Int,編譯器都會幫我們執行轉換 但是由於平台特性的問題,往往都是會做最保守的轉換 對於遊戲開發注重效能的程式碼來說,常常轉換是很費時的 尤其是當你是開發硬體規格受限的平台時,更是錙銖必較 以下分享一個快速的方式給大家參考
(繼續閱讀...)
文章標籤

kgsprogrammer 發表在 痞客邦 留言(0) 人氣(2,069)

  • 個人分類:遊戲開發
▲top
  • 8月 16 週六 200813:28
  • 遊戲鐵三角

何謂[遊戲鐵三角]? 
每個遊戲創作都會有所謂的遊戲鐵三角,他們分別是企劃、程式、美術,這三大類型的人又被分作許多細類型,這群奇葩在遊戲工作中分工著不同的事務,也在不同企業文化的公司有著不同的稱號...

比如說:企劃會稱作編導、製作人(掛著好聽的名字依然是作相同的事情 :p),還有許多分身被稱作執行企劃、創意企劃、關卡企劃、系統企劃等等;而程式也有不同的稱號與專業分工人稱:程序、編程或工程師,也有依照「使用功能」被分作搞系統的、搞規劃的、成像類的、資料庫的、搞網路的、還有寫3D的,當然也會有萬能的神(........經病),自以為是萬能的「神」想要把所有的事情都覽在自己身上(也有一種說法是因為本身能力不足,在工作上沒有辦法作出適度的分工與切割);而美術分類就更為廣泛,大分為2D與3D,在對岸則是稱作二維與三維(搞曖昧的詞),兩大類之後又要分作造型設定、人物、場景、物件...公司規模越大他們ㄉ名目就會被分的更多更細,其中的派閥就會相對的增加,有趣的戲碼就會上演的更加厲害...

 

一舉成名天下知 一夜成屍無人問 
這三大類族群的人,大多躲在陰暗的角落裡(也有人稱為象牙塔)研發著不為人知的驚世駭俗的大作,個個期望一舉成名,但是彼此之間經常因為理念、立場、風格而產生不同的派系,彼此之間的合縱連橫,天天上演著「如何有效的將責任推卸給別人之後享受更多的權力(利)」的戲碼,但是螳螂與蟬的殊死戰中往往不自知最大隻的麻雀通常就是公司的決策者與殘酷且現實的玩家與市場。
雖然現實總是殘酷的,但是過程比結果重要的論點之下,讓遊戲研發人個個化悲憤為力量,又再一次的往下一套美麗的虛幻之火中投身而去,而前仆後繼樂此不疲,直到看破之後離開卻又遠遠的躲在一旁看笑話...

(繼續閱讀...)
文章標籤

kgsprogrammer 發表在 痞客邦 留言(4) 人氣(162)

  • 個人分類:遊戲開發
▲top
  • 8月 09 週六 200813:22
  • 效能測試

製作遊戲時常常需要測試記憶體的使用量以及效能的評估
通常這種動作稱之為Profiling
這種通常會有強大的工具來輔助取得這些資訊
甚至更多的資訊
但是這種強大的工具通常會中斷遊戲的測試
(繼續閱讀...)
文章標籤

kgsprogrammer 發表在 痞客邦 留言(0) 人氣(226)

  • 個人分類:遊戲開發
▲top
1

自訂側欄

個人頭像

kgsprogrammer
暱稱:
kgsprogrammer
分類:
職場甘苦
好友:
累積中
地區:

近期文章

  • 輕鬆愜意,沁涼消暑----轉吧!流麵
  • Hook 4 Fun ---- 終極派對遊戲
  • Design Pattern -- Observer
  • Design Pattern -- Strategy
  • Template
  • Shaders for Game Programmers and Artists--Chap1_welcome to the world of shaders (閱讀心得)
  • 基本演算法分析
  • 『The Making of God of War III』讀後雜談
  • 求整數以2為底的Log運算
  • 很有台灣味的國產元創iPhone, iPod Touch遊戲----Sliding War

文章彙整

文章分類

toggle 程式研究 (6)
  • Design Pattern (2)
  • Refactory (8)
  • AI (2)
  • 3D圖學 (4)
  • 程式設計 (7)
  • C++ (8)
toggle 遊戲研究 (3)
  • 遊戲設計 (5)
  • 遊戲新聞 (7)
  • 遊戲開發 (4)
toggle 閒聊八卦 (1)
  • 閒聊八卦 (4)
toggle 後援會 (1)
  • 後援會公告 (1)
toggle 彼得哥的生平事蹟 (1)
  • 名言錦句篇 (1)
  • Game Develepment (2)
  • C++ (3)
  • 未分類文章 (1)

部落格文章搜尋

誰來我家

參觀人氣

  • 本日人氣:
  • 累積人氣: