怎么通過游戲學編程,學習游戲開發?
看這個問題在這個版面掛了挺久了,無聊答一發——純針對新人,這些步驟希望你能真的一步一步走過去,不要覺得內容“太簡單”或者“看起來不像開發游戲”就想跳過。早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格行不行?為什么?
游戲編程入門?
1、首先建議先學習下出C++語言。
2、如果想只是做windows方面的游戲學習,可以學習下DirectX,這個很方便在windows下做游戲開發。
3、如果要制作跨平臺游戲,建議學習下opengl/opengles,這是個很強大很專業的圖形接口,因為很多平臺支持所以適合跨平臺游戲制作使用。
4、然后接著要是想學習3d游戲并迅速工作,建議學習u3d引擎、ue引擎這些游戲引擎,有了以上的基礎,學習這些引擎也可以理解的更深入,u3d還會用到c#與js語言。
5、做2d游戲,可以使用cocos2dx等一些引擎,當然你也可以使用上面的3d引擎制作2d游戲。
6、然后就是可以深入的研究一些開源的游戲引擎,終極目標是可以自己做出一款比較棒的游戲引擎。
你們知道游戲是怎么做出來的嗎?
軟件:有兩部分。
1、編寫游戲引擎、建模:需要熟練掌握C/C++、Microsoft Develop Studio開發環境、使用SDK或者MFC、DirectX/OpenGL、SQL編程、SQLServer或Oracle數據庫配置。
2、策劃、美工、音效:MAYA、3DMAX 、PS(音效制作方面不熟,這方面無法提供)。流程:策劃——引擎——建模——美工——測試。團隊:首先要組成一個由各功能小組核心構成的策劃組,負責構思整個游戲的內容架構。
包括故事大綱,游戲風格,人物造型,操作模式,任務模式,裝備模式等等,以及程序編寫、美工貼圖能否實現等等,資金預算能否維持等等。
然后籌建各功能小組:主編程組,負責游戲引擎。建模組,負責編寫一個完整的世界,各種人物、怪等。美工組,負責包裝游戲。測試組,設置若干組服務器,對游戲進行測試。
擴展資料:
1、游戲程序開發
游戲程序開發主要負責游戲程序開發,這一塊是人才缺口相對比較少的,因為各高校都開設有c/c++、java等專業,目前國內從事軟件開發的人才需求比較大,人才輸出也同樣比較大。
2、游戲策劃
游戲策劃通常定位為游戲產品經理,屬于綜合性比較強的崗位,主要負責游戲需求的調研與分析,游戲業務模型建立,游戲創意設計、游戲原型制作等工作,需要經常與游戲整個部門的人溝通。
3、游戲運營
主要負責游戲的日常運營工作,數據分析工作,游戲推廣和活動策劃工作,同樣,一名好的游戲運營,需要有豐富的游戲經驗,然后很難開展工作,要熟悉行業的一些重要指標,比如PCU、ACU\\ARPU\\滲透率等等,熟悉游戲的盈利模式。
4、游戲美術
游戲美術涉及到好幾個范疇 :游戲規則及玩法、視覺藝術、編程、產品化、聲效、編劇、角色、道具、場景、界面以上的元素都是一個游戲設計專案所需要的。游戲設計者常常專攻于某一種特定的游戲類型,例如桌面游戲、卡片游戲或者視頻游戲等。
以上就是關于怎么通過游戲學編程和學習游戲開發的相關問題解答,希望對你有所幫助。