① 游戲開發中會用到哪些常用AI演算法
游戲開發指利用計算機編程語言,如C編程語言、C++、java等,編寫計算機、手機或游戲機上的游戲。 目前流行的游戲開發語言為C++編程語言,目前流行的游戲開發介面為DirectX9.0,還有OpenGL、SDL(Simple DirectMedia Layer)等。現在手機上玩的游戲分為Android與IOS兩種不同平台,分別是用eclipse/MyEclipse和xcode。現在也流行一些跨平台的編程引擎,例如cocos2d-x、unity 3D等。
接下來,再看看游戲開發的課程,游戲開發的課程除了理論知識還包括軟體的操作。
C++程序基礎:通過學習C++語言,奠定編程基礎。使用VS.net2005編譯工具,高效構建代碼。
演算法與數據結構:通過學習演算法與數據結構的基本概念,了解常用的數據結構及相關的抽象數據定義,認識計算機求解的基本思路與方法。
Win32程序入門:通過API和MFC的學習,熟悉Windows環境下程序設計基本方法。通過使用DirectX繪制2D圖形。
游戲數學和智能應用:游戲中的坐標系,矢量、矩陣,幾何碰撞,物理模擬,人工智慧與尋路演算法。
2D游戲技術與應用:2D 游戲技術概論,游戲地圖系統,GUI 系統,戰斗系統設計,任務系統優秀的聲音引擎 BASS,Cocos2D-X 引擎,Box2D 物理引擎。
游戲開發的常用軟體有C++、DirectX、Box2D、Cocos2d-x、Unity,不能說哪款最好用,因為這是游戲開發過程中都要用到的軟體,必須都精通。
C++是在C語言的基礎上開發的一種通用編程語言,應用廣泛。
DirectX,(Direct eXtension,簡稱DX)是由微軟公司創建的多媒體編程介面。
Box2D是一個用於模擬2D剛體物體的C++引擎。zlib許可是一個自由軟體授權協議,但並非left。
Cocos2d-x是一個開源的移動2D游戲框架,MIT許可證下發布的。這是一個C++ Cocos2d-iPhone項目的版本。
Unity是由Unity Technologies開發的一個讓玩家輕松創建諸如三維視頻游戲、建築可視化、實時三維動畫等類型互動內容的多平台的綜合型游戲開發工具,是一個全面整合的專業游戲引擎。
② Unity3D做一個手游怪物AI,需要掌握什麼
ai是個復雜的實現。
1。狀態轉換。例如被攻擊後轉向敵人,釋放魔法後進去休息狀態,敵人過於強大ai會逃跑,這些問題首先直觀的使用if else語句,可以這樣的ai通常非常難以寫出來,而且ai的修改會很麻煩,這時候業內慣用「有限狀態機」解決此問題。
2。路徑規劃。怎樣從A點到B點要繞過中間的障礙物,這需要演算法解決,非常成熟的解決方案就是 A*尋路(A星尋路演算法),這中演算法適合解決固定障礙的路徑規劃,如繞過山,河,溝不可移動的障礙。另外點下更復雜的戰術式尋路,如避開敵人火力區的路線,避開地面雷達的飛行路線等。
3。避開障礙物體。其實這也屬於「路徑規劃」類的問題,只不過此問題解決的是動態的障礙,和上面的第2點有非常大的區別。如20或者200個角色同時運行到一個目標,如無有效的演算法讓彼此以合適方式避開這個游戲效果是非常差的,常用的演算法有如Flocking演算法,用合力的方式計算朝向與速度,將角色分為三個基本的行為:聚集,分散,列隊 去解決,這一演算法用的非常廣;更加復雜的演算法如RVO演算法。
4。一些移動行為演算法。如:追趕,逃避,插入,避開牆等等。
再次點下開頭:AI的實現是個非常復雜的過程,不止是演算法上的,後期各項數值的調試迭代磨合是非常需要耐心的,以上4點是很基本需要掌握解決的方面。
純手打,希望對你有幫助。