當前位置:編程學習大全網 - 編程語言 - windows遊戲開發用什麽軟件

windows遊戲開發用什麽軟件

1. VC是微軟的產品,用它來編寫Windows程序有強大的程序接口和豐富的開發資源的支持,加之VC嚴謹的內存管理,在堆棧上良好的分配處理,生成代碼的體積小,穩定性高的優點,所以VC++是目前遊戲的主流開發工具。

2 . DirectX組件的知識

談到Windows系統下的遊戲開發,我們就要說壹下微軟的DirectX SDK。

Windows系統有壹個主要優點是應用程序和設備之間的獨立性。然而應用程序的設備無關性是通過犧牲部分速度和效率的到的,Windows在硬件和軟件間添加了中間抽象層,通過這些中間層我們的應用程序才能在不同的硬件上遊刃有余。但是,我們因此而不能完全利用硬件的特征來獲取最大限度的運算和顯示速度。這壹點在編寫Windows遊戲時是致命的,DirectX便是為解決這個問題而設計的。DirectX由快速的底層庫組成並且沒有給遊戲設計添加過多的約束。微軟的DirectX軟件開發工具包(SDK)提供了壹套優秀的應用程序編程接口(APIs),這個編程接口可以提供給妳開發高質量、實時的應用程序所需要的各種資源。

DirectX的6個組件分別是:

DirectDraw: 使用頁面切換的方法實現動畫,它不僅可以訪問系統內存,還可以訪問顯示內存。

Direct3D: 提供了3D硬件接口。

DirectSound: 立體聲和3D聲音效果,同時管理聲卡的內存。

DirectPlay: 支持開發多人網絡遊戲,並能處理遊戲中網絡之間的通信問題。

DirectInput: 為大量的設備提供輸入支持。

DirectSetup: 自動安裝DirectX驅動程序。

隨著DirectX版本的提高,還增加了音樂播放的DirectMusic。

3.AlphaBlend 技術

現在許多遊戲為了達到光影或圖象的透明效果都會采用AlphaBlend 技術。所謂AlphaBlend技術,其實就是按照"Alpha"混合向量的值來混合源像素和目標像素,壹般用來處理半透明效果。在計算機中的圖象可以用R(紅色),G(綠色),B(藍色)三原色來表示。假設壹幅圖象是A,另壹幅透明的圖象是B,那麽透過B去看A,看上去的圖象C就是B和A的混合圖象,設B圖象的透明度為alpha(取值為0-1,0為完全透明,1為完全不透明),Alpha混合公式如下:

R(C)=alpha*R(B)+(1-alpha)*R(A)

G(C)=alpha*G(B)+(1-alpha)*G(A)

B(C)=alpha*B(B)+(1-alpha)*B(A)

R(x)、G(x)、B(x)分別指顏色x的RGB分量原色值。從上面的公式可以知道,Alpha其實是壹個決定混合透明度的數值。應用Alpha混合技術,可以實現遊戲中的許多特效,比如火光、煙霧、陰影、動態光源等半透明效果。

4.A*算法

在許多遊戲中要用鼠標控制人物運動,而且讓人物從目前的位置走到目標位置應該走最短的路徑。這就要用到最短路徑搜索算法即A*算法了。

A*算法實際是壹種啟發式搜索,所謂啟發式搜索,就是利用壹個估價函數評估每次的的決策的價值,決定先嘗試哪壹種方案。如果壹個估價函數可以找出最短的路徑,我們稱之為可采納性。A*算法是壹個可采納的最好優先算法。A*算法的估價函數可表示為:f(n) = g(n) + h(n).這裏,f(n)是節點n的估價函數,g(n)是起點到終點的最短路徑值,h(n)是n到目標的最斷路經的啟發值。由於A*算法比較復雜,限於篇幅,在此簡單介紹壹下,具體理論朋友們可以看人工智能方面的書籍了解詳細的情況。

其它技術還有粒子系統,音頻與視頻的調用,圖象文件的格式與信息存儲等,大家可以在學好DirectX的基礎上逐漸學習更多的技術。

  • 上一篇:框架結構設計的原則?
  • 下一篇:南信大大氣科學專業和大氣科學(大氣環境方向)有什麽區別?
  • copyright 2024編程學習大全網