如何學習游戲編程,沒學習過編程怎么制作游戲?
那肯定是先學習java基礎,如果是想向手機游戲方向發展,那就是要重點學好java基礎語法,還有線程要重點好好學,異常,IO,什么的都要學習到,其實只要你把java的基本思想搞明白,能夠獨立寫一些類似計算器這樣的小程序(一定是獨立完成,思維邏輯清晰的寫完)的話就可以來研究手機游戲了
手機游戲開發其實是j2me,是java語言的一個發展方向,用j2me就可以制作手機游戲以及軟件,對于自學的話我個人推薦《java me 使用詳解——用eclipse進行移動開發》這本書,講解很詳細,適合入門學習,從高級用戶界面開始學習,然后低級用戶界面,用戶存儲,游戲開發,這樣的一個學習過程,但是說實話,你如果是自學的話入門可以,但是如果想編一個像樣的游戲的話那估計難度有點大,因為在手機游戲開發過程中很多東西都是經驗,很多人說j2me簡單,其實說實話,是簡單,不就是那11個包里的那幾個類的調用嗎?但是用這些類里的方法什么的結合起來編寫一個游戲,那就不簡單了,這時候就需要一個老師或者有經驗的人給你指點一下了,就是這樣。
手機游戲開發(也就是j2me)其實不難,技術性的東西不難,難就難在邏輯思考,重在算法的編寫,游戲中間需要許多的NPC,這些NPC的活動都是需要你編寫很多的代碼來實現人工智能的,所以,加油!祝你成功!
游戲開發規劃方案怎么寫?
首先確定好發展城市。如果工作無經驗的話,先找個小公司,好好學經驗。做個2-3年,之后可以考慮往大公司發展。因為這時你有了項目開發經驗,熟悉項目開發過程。要給自己設定目標,計劃幾年內做到游戲主程。
是如何變成游戲的?
人能識別有意義的字母、數字組合,就是代碼。電腦機器只能識別0和1的二進制數字組合。
人寫的代碼不能直接被電腦識別,需要一個翻譯的過程,這個過程叫"編譯",把對人有意義的代碼轉換為對電腦有意義的二進制碼。
你看到的游戲畫面是電腦理解了這些二進制碼之后的結果。
電腦根據二進制碼來進行游戲圖像渲染、處理玩家的鍵盤鼠標操作信息。
舉個簡單的例子吧,假設人寫的代碼如下:這段代碼大概意思是:畫輛車,玩家按左,車往左走。
編譯之后形成下面這樣的二進制碼:其中每行代表源代碼中的一句。就像黑客帝國一樣,哈哈。這樣電腦才能理解。當然,這是個例子而已,真正編譯出來的二進制碼比這個要多得多!
學習游戲開發?
看這個問題在這個版面掛了挺久了,無聊答一發——純針對新人,這些步驟希望你能真的一步一步走過去,不要覺得內容“太簡單”或者“看起來不像開發游戲”就想跳過。早20年我會推薦你Delphi,但是現在C#也算是Delphi的精神續作了(什么精神續作,只是主程是同一個人而已),當年開發游戲可沒有什么引擎一說。
第一步:用C#的Image、Timer寫一個小程序
要求不高,先自己安裝VS、C#,這個環境非常好搭,我不在這里貼鏈接,是希望你首先能做到自己去找必要的知識。弄完以后,新建一個工程,在Form1里面拖一個Image和一個Timer,然后隨便找一張圖片,小一點的,你喜歡的。你要做的事情是:
Image拉個640x640就好,里面創建一個64x64的小方塊,這個小方塊里是這張圖片的完整樣子,這個小方塊的坐標是相對于Image的(x:0-Image寬度隨機,y:0)。
確保畫面不要閃爍。
每30毫秒這個小方塊的y會增加8,但不要讓小方塊“掉出屏幕”。
小方塊可以根據你鍵盤輸入的ASDW移動(ASDW分別對應什么方向你不知道的話,還是別繼續了),移動速度為40像素/30毫秒。
鼠標點擊Image區域,小方塊會取消當前的移動,并向點擊的地方移動過去,注意是移動過去,速度是40像素/30毫秒,而不是瞬間過去。
一步一步做到,這是你開發游戲的第一步,如果你這步都學不好,就不建議你打開Unity這種東西,別小看了這步,在這步里,你要解決的問題基本上就是理解貼圖的概念→理解游戲就是Input+Timer+GDI也可以做的東西→理解Input的處理不應該是if key==xxx then....,而是要建立一套命令機制的。對于一個正常程序員來說,做這個最多不超過1小時,但是對于一個新人來說,這就算花了3天也沒什么奇怪的,但是最重要的是你能堅持下來而不是跳過基本功。
第二步:還是在C#里做一個倉庫番
這個要求對于一個新人來說是不低的,不要小看倉庫番這個游戲,他可以讓你學會不少游戲開發的初級知識。
為什么我總對新人說從《倉庫番》開始-GameRes游資網
?
bbs.gameres.com
當然這樣一個倉庫番的要求并不低,在這個項目里,你會接觸到游戲設計的基本功。這個項目對于新人來說可能會需要1-2個月完成,尤其是當你的興趣移到了策劃技術下的關卡設計的話,會沉迷進去很久。但是這個項目最重要的是讓你明白一個游戲是怎么開發和設計的,純正的基礎知識,一定不要跳過。一些游戲看起來很簡單,比如flappybird,但這些比起倉庫番來說不見得真的簡單,而且更不適合學習用。
第三步:做一個俄羅斯方塊
之所以做一個俄羅斯方塊,是因為:
開發技巧:倉庫番其實還是回合制的,俄羅斯方塊會讓你第一次遇到“動作游戲”操作的問題,別看這個“動作游戲”是打引號的,當你真的遇到不打引號的動作游戲項目的時候,這種input的經驗也是有有用的。
策劃技巧:在俄羅斯方塊里,你會第一次遇到真實的分析一個需求——想一想:俄羅斯方塊里,按下A鍵方塊真的是“旋轉”嗎?其實這個抽象是大錯特錯的,俄羅斯方塊里從來就沒有方塊是“旋轉90度”的,而是從一個拼圖變成了另一個拼圖,只是看起來恰好是轉了90度,那么如果不是轉90度行嗎?加入僅僅只是“玩家可能反應不過來”,那怎么讓他們反應過來?
開發技巧:動態碰撞處理,或者說動作游戲和回合制游戲的交界點。你注意一個細節,俄羅斯方塊在方塊“落地”之前,還能通過左右方向來移動方塊,這是為什么?
開發技巧:消除動畫怎么穿插在這個過程中?
開發技巧:注意,你見過很多俄羅斯方塊的范例,但他們都犯了一個錯誤——俄羅斯方塊是會顯示下一個要出現的方塊的。當你注意到這個問題的時候,你會發現70%以上的范例做法都是錯的。
策劃技巧:無限關卡的游戲應該怎么設計?俄羅斯方塊關卡變化函數所需要的參數只有一個——方塊的下落速度,那么這個速度真的需要隨關卡一直增加嗎?還是增加到一個程度之后就不需要增加了?空想沒有意義,自己做了試試看再回答。
開發技巧:當方塊下落速度過快的時候,你會遭遇到跳幀。
俄羅斯方塊是一個游戲程序員(Gameplay方向)和游戲策劃走上正軌之前的最后一個挑戰項目,你第一次真的“寫對”俄羅斯方塊,你也會經歷代碼重構(因為你多半是一次寫不對的),然后重新整理思路和重構設計的階段。
接下來,用Unity之類的引擎把它們做出來
當你完成這3個挑戰之后,你再去熟悉Unity,才是一個好的開始。而這個時候你也差不多知道自己的興趣所在了——究竟是做一個設計師,還是做一個程序員。這2個游戲的開發中蘊含了幾乎所有RPG、SLG游戲的主要技巧,但是主要還只是主要,不是全部。如果你不服,可以試著先從坦克大戰(FC)開始繼續做游戲。
整個過程中最重要的幾點:
不要心急,不要覺得這些事情都是小事,沒有意義。如果說學計算機語言是扎馬步,那么這些游戲是屬于你進了少林以后挑水這些事情,他不是練武,但卻是練你的底子。
帶著思考去做,想想看有些技巧,用在較大型的游戲是怎樣的?技巧是一樣的技巧,關鍵看你怎么玩出花。
別管游戲是幾D的,大多游戲邏輯上都是2D就夠了的,3D只是Render而已。一個做法正確的游戲,2D到3D轉換障礙并不大,想想Evoland,還有DQ系列最近幾座,也都支持2D 3D切換,為什么呢?
不要為了實現,妥協你的設計。領悟一個策劃的基本功——什么是What to do的,什么是how to do的,how to do的是設計,what to do不過是玩家牢騷而已。明白了how to do,你也會修正你對what to do的看法,這對于設計的理性一面是很有幫助的。比如倉庫番一次推2格行不行?為什么?
新手學習哪種比較易學的編程?
在手機游戲流行的當下,各類手游層出不窮,占據中國流量的半壁江山,各個游戲公司在手游方面的競爭也越發激烈,急缺游戲開發人員,對開發人員的需求也越來越高。如果你也想自己制作手游,做起游戲開發的工作,那么學習Java將會是你不二的選擇!
Java是目前中國手機軟件開發行業的主流語言之一,也是學習的人數最多的,介于目前中國流行的基本都是android系統,所以手機游戲的開發也需要在android的平臺下開發。你可以朝這方面學習,不論你是自學還是找培訓班,學成后是有很大一片前景的。
學習手游制作的大致方向
Android學習方向的技能:
1、需要 javaLogic 也就是java的基本邏輯,牢固的Java基礎
2、扎實的Linux基礎知識
3、數據庫基礎知識
4、網絡協議
游戲方面:
1、精美的圖片、華麗的效果自然離不開flash 圖片處理之類的技術
2、搞懂游戲算法,比如你制作一款貪吃蛇的手游,要知道怎么讓蛇前進,怎么才算吃了食物變大。
3、進修 java與游戲設計,必要的話學點3D設計或美術設計。
設計模式:
1、在Android系統的框架層當中,使用了大量的設計模式,如果沒有這個方面的知識,對于Android的理解就會大打折扣。設計模式種類之多,全部掌握是不現實的,必須首先掌握面向對象的基礎設計原則。
2、掌握面向對象的基礎設計原則的書籍有:
① 《Effective Java》
② 《敏捷軟件開發:原則、模式與實踐》
服務器端開發知識:
1、Java EE
2、PHP,這是另外一門語言,但在我們學習Java的同時學習,有點得不償失,是否學習看你自己)
3、.NET與JavaEE差不多,只不過需要額外掌握C#,比較麻煩。
4、ruby on rails,簡潔、優雅,幾行代碼就可實現復雜的功能,不過要有Ruby語言知識基礎。
這些都是Android應用程序需的服務器端支持,掌握這類只是還是有必要的,只不過關于服務器端技術的種類實在太多,這邊就列出四個,不過既然你是學的Java,還是建議學習JavaEE的知識。
Android開發的書籍選擇:
① 《精通Android2》
② 《 Android2高級編程》
兩本書對安卓開發的講解都是非常細致,建議結合SDK看。
以上就是關于如何學習游戲編程和沒學習過編程怎么制作游戲的相關問題解答,希望對你有所幫助。