安卓手機游戲開發教程
❶ 游戲開發主要學什麼
學習的先後順序
1、首先是C++語言。
2、只是做windows方面的游戲學習,可以學習下DirectX,這個很方便在windows下做游戲開發。
3、如果想製作跨平台游戲,建議學習下opengl/opengles,這是個很強大很專業的圖形介面,因為很多平台支持所以適合跨平台游戲製作使用。
4、想學習3d游戲並迅速工作,建議學習u3d引擎、ue引擎這些游戲引擎,有了以上的基礎學習這些引擎也可以理解的更深入,u3d還會用到c#與js語言。
5、做2d游戲,可以使用cocos2dx等一些引擎,當然你也可以使用上面的3d引擎製作2d游戲。
6、然後就是可以深入的研究一些開源的游戲引擎,終極目標是可以自己做出一款比較棒的游戲引擎。
一、游戲程序:
類似軟體工程師,需要精通至少一門以上程序語言,比如c,c++,頁遊方面有flashas3,php等。他們的主要工作是寫程序代碼,需要一定的邏輯思維能力,數學能力。
如果你想成為程序員,可以從學習一門程序語言入手。
二、游戲美術:
游戲中的畫面都是由游戲美術師來製作的,具體細分為:游戲原畫,3d游戲模型貼圖(分3d場景與3d角色),游戲動畫,游戲特效,關卡美術等。想學習游戲美術的話,一定要有審美能力,如果有深厚的繪畫功底更佳。另外,還需要學習3dmax,ps,zbrush等軟體,這三個軟體是做游戲美術常用的。
三、游戲策劃:
游戲策劃主要制定游戲的規則和玩法,比如世界觀,劇情,對話,任務,數值,職業設定,副本設計,幫會系統等等。想學習策劃的話,需要你有較高的綜合素質,溝通能力,理解能力,邏輯思維能力等。
另外需要多玩游戲,並從設計的角度去分析游戲。策劃需要掌握的技能范圍很廣,根據具體項目和具體職責而不同。
游戲開發這個方向看起來目標很明確,但其實是個領域很廣的方向,入門的時候如果得不到指點一二,很容易誤入歧途,相反,如果走這條路之前能得到前人的一些指引,是可以事半功倍的。這里為大家推薦一下,以做參考。
游戲客戶端學習路線
1.首先,一開始可能對游戲引擎沒什麼概念,建議先入門一兩個游戲引擎(我推薦可以先去學習Cocos2d-x和Unity3D兩個引擎,市面上大多數游戲是利用這兩個引擎開發的)。入門階段要做的就是看該引擎的教程(書籍、視頻、網上博客、網上教程、官方幫助文檔等),並且熟練該引擎所使用的編程語言。
推薦課程:C#教程。
因為不同平台下的性能不同,支持的編程語言也不盡相同,所以針對不同平台下的流行的游戲引擎也是不同的。下面列舉一些現在流行的游戲引擎。
windows或游戲主機:【Unreal】、寒霜、CE3
蘋果IOS:【unity3D】、【cocos2d-x】、【Unreal】、sparrow、spritekit。
安卓:【unity3D】、【cocos2d-x】、【Unreal】、AndEngine、libgdx。
網頁:【Egret】、【cocos2d-js】橡橡、Fancy3D、unity3D。
當然並不是不同平台的游戲開發,就毫無共通之處,學了這個到了另一個平台就無用了。不是這樣的,編程的世界裡你走得越遠你會發現很多東梁伏旁西的本質都是相似的,例如你如果扎實地理解了C++的基本語法,日後再轉Java語言也不是很難的事情,因為它們本質的面向對象特性還有各種編程語言特性都是相通的。
2.因為游戲開發就是一門實時渲染的藝術,所以離不開圖形庫的學習。現在主流的圖形庫是Windows平台專用的DirectX11和通用平台的Opengl。這兩個圖形庫,至少需要入門其中一個。
3.然後,你就可以開始看計算機圖形學的書籍了。如果你發現你的理論底子不足,這個時候就需要補一下線性代數、基本的微積分、還有3D數學的知識。
4.游戲引擎中包含了各個部分,上面的渲染只是游戲引擎的一部分。還有其它諸如著色器編寫、地形編寫、物理引擎編寫、模型和動畫、人工智慧體設計、網路編程等等,完成渲染部分的基本學習後,你可以選擇自己感興趣的部分進行專攻,畢竟我們實際工作大多數時候是團隊開發,而不是單打獨斗,每個人都應該精通自己所擅長的那部分。
5.至此,獨自開發一款小型游戲已經完全不在話下了。也具備了加入公司合力開發一款大型游廳臘戲的能力。
游戲服務端學習路線
1.首先需要熟悉一門服務端語言,比如C/C++、PHP等,會使用一個開發框架。
2.會在伺服器上搭建環境,拿lamp來說linux和apache、mysql、php四者擔任的角色要清楚。大多伺服器會選擇搭建在Linux環境下,所以也需要熟悉Linux操作命令。
3.至少熟悉一種資料庫。比如關系型資料庫mysql,能熟練寫出增刪改的語句和不算很復雜的查詢語句,再比如了解各種方式的多表查詢有哪些不同等資料庫技能也是需要的。
4.了解網路編程及多線程等。比如http通信協議。跨平台的交互一般http是使用比較廣泛的,需要大體了解,你得清楚請求報文通常包含哪些部分、常見的伺服器返回碼對應的含義。
5.會使用至少一種數據格式。服務端和客戶端建立了聯系,數據的傳輸也需要一種協議格式去統一。json是目前使用率最高的格式了。json的數據格式還是簡單明了易學的,主要是要了解如何使用它較好的去定義介面。
關於學習路線,我覺得對於學習者,尤其是初學者來說,非常有用,它的作用就是一幅地圖,讓你在浩瀚的知識叢林不至於迷失方向,甚至放棄在99%的地方。
其實和軟體開發一樣,游戲開發也是需要從編程語言學起,但不同的是游戲開發需要熟悉各種游戲開發工具,相對軟體開發難度稍大一些,所以,如果你是零基礎想學游戲開發,你需要有一個系統的學習方向和規劃。
根據游戲類型的不同,所學的軟體也不一樣。
中小型游戲大致可分為網頁游戲,flash游戲,小游戲等,基本上都是一些休閑類的傻呆萌的情節和操作。
這類游戲開發相對比較簡單,會Javascript、HTML、flashcs、Java就可以進行開發了,語言類主要有C/C++,匯編語言,著色器語言,腳本語言,高效的開發語言C#或Java。
現在的游戲主要分為三種:
1、PC類端游(就是電腦上面運行的游戲)
這類游戲在線人數多,游戲中要處理的數據龐大。所以對伺服器性能要求非常高,一般都是採用C++做為開發語言,C++可以直接操作內存數據,與操作系統直接交互,減少數據之間的復制,它運行效率高,處理速度快,是很適合這里游戲開發語言。
學習這種游戲的開發,學習的有C++編程,Linux網路編程、TCP/IP通訊協議、多線程編程再加資料庫。
PC類端游戲開發周期較長。大概需要三年左右的時間。
2、網頁游戲(比如現在經常說的1刀999級)
因為是網頁游戲,游戲的界面展示依賴於網路傳輸,所在在畫面和特效上會次於客戶端游戲很多。和端游類是差不多是一樣的,有些公司之前是做端游的,他們就直接把端游的伺服器架構拿來就可以使用,以完成快速開發。
需要學習內容和端游差不多。
3、手機游戲(主要區分為安卓和IOS)
手機類游戲目前是最熱門的游戲,很多熱播的電視劇或者電影之後,都會有相同情節的手游上線。
伺服器主流的開發語言是C++和Java,但是C++學習難度大,開發速度慢。一般來說我們都是使用Java語言來開發伺服器。
希望這些見解,能給頭條的友友們帶來幫助。
❷ 安卓手機游戲是用什麼編程語言開發的
一、安卓系統開發語言-C/C++
android系統是基於Linux內核開發的,所以底叢肢飢層還是Linux內核與驅動。上層是C/C++本地庫和Android運行時環境,這一層主要是android虛擬機和支持虛擬機運行的本地庫,採用C/C++語言開發飢核。
二、安卓軟體編程語言-Java
為了方便開發谷歌採用了Java語言來開發安卓應用,應用程序框架層API是採用Java語言編寫的,方便開發者調用。上層是應用層,就是平時開發者自己開發的應用。這一層谷歌官方支持的編程語言是Java和Kotlin。
三、手機軟體編程語言-Kotlin
安卓手機應用早期使用Java開發的比較多,現在多了很多用Kotlin開發的,Kotlin是Google和Oracle發打完官司以後,自己推出來的。代碼里可以同時使用Java和Kotlin,目前看來Kotlin已經能滿足正常開發需求,並能穩滲返定運行,之所以很多公司還沒有完全切換,主要還是歷史遺留的java代碼,已經能穩定運行的,沒有必要再花時間和人工去重構。
2d的一般用cocos,語言是c++,3d一般用的是u3d,語言是js或者c#,上面那倆都是跨平台的,要是lz足夠牛x的話直接上opengles
❸ 安卓手機游戲開發需要學什麼
在瑭錦Tanjurd要學Android游戲編程 游戲是Android應用商店中的一個大分類,也是智能手機的一大亮點。需要學習SurfaceView、動畫繪制、圖形圖像的碰撞和檢測、地圖的設計、數據存儲、感測器編程、網路編程、多媒體編程、事件處理等等的回顧,編寫2D游戲。通過對OpenGL3D內容的介紹,了解在Android上開發3D游戲的基本技能。學習游戲引擎libgdx,了解游戲引擎的用法。