❶ Unity3D做一個手游怪物AI,需要掌握什麼
ai是個復雜的實現。
1。狀態轉換。例如被攻擊後轉向敵人,釋放魔法後進去休息狀態,敵人過於強大ai會逃跑,這些問題首先直觀的使用if else語句,可以這樣的ai通常非常難以寫出來,而且ai的修改會很麻煩,這時候業內慣用「有限狀態機」解決此問題。
2。路徑規劃。怎樣從A點到B點要繞過中間的障礙物,這需要演算法解決,非常成熟的解決方案就是 A*尋路(A星尋路演算法),這中演算法適合解決固定障礙的路徑規劃,如繞過山,河,溝不可移動的障礙。另外點下更復雜的戰術式尋路,如避開敵人火力區的路線,避開地面雷達的飛行路線等。
3。避開障礙物體。其實這也屬於「路徑規劃」類的問題,只不過此問題解決的是動態的障礙,和上面的第2點有非常大的區別。如20或者200個角色同時運行到一個目標,如無有效的演算法讓彼此以合適方式避開這個游戲效果是非常差的,常用的演算法有如Flocking演算法,用合力的方式計算朝向與速度,將角色分為三個基本的行為:聚集,分散,列隊 去解決,這一演算法用的非常廣;更加復雜的演算法如RVO演算法。
4。一些移動行為演算法。如:追趕,逃避,插入,避開牆等等。
再次點下開頭:AI的實現是個非常復雜的過程,不止是演算法上的,後期各項數值的調試迭代磨合是非常需要耐心的,以上4點是很基本需要掌握解決的方面。
純手打,希望對你有幫助。
❷ 我想開發的能力有哪些
客戶端的話以圖形學為主~要學習圖形學的相關理論~之後要懂至少一種圖形API,游戲公司的話建議是DirectX~當然,如果同時會辯碰OpenGL ES就更好了,專門在手機缺閉上的~然後是了解部分AI的內容~主要是兩個方面,一個是尋路演算法攜扮談,主要就是A星演算法,另一個是有限狀態機~之後還要至少了解一個引擎~以前的話是Ogre為主~現在的話如果你想做PC游戲就學這個,如果是手游的話可以學cocos2d-x~但是不管做什麼最推薦是Unity3d 只不過這個是收費的~如果你想做手游的話還要至少了解一個平台,IOS或者android~ios的話會比較簡單,會用xcode,懂object-c就行~android的話要懂NDK和jni這個比較麻煩~
伺服器端的話,最核心的是要懂網路協議~整個TCP/IP協議~它是一系列的協議~網路部分比較雜,協議和架構是兩大核心~只要弄懂了這倆,無論什麼樣的伺服器,用什麼做都沒有問題~協議的部分正常學就可以~架構部分比較復雜,需要在實際的工作中不斷積累~不過可以學習一下像什麼mangos之類的開源伺服器架構~除此之外你要懂網路編程,會用linux平台,網路編程部分包括linux網路編程和windows網路編程,這倆東西的內容都不少~如果你做手游的話可能還需要會node.js~