游戲電腦編程入門自學,開發流程是什么樣的?
游戲開發是一個復雜的工程,但看題主的意圖是想獨立開發一款游戲。
那么一個人能不能開發一款游戲呢?答案當然是肯定的。
游戲的范疇很大,從上百G的3A大作,到僅僅64K的超級馬里奧,都是游戲,并且游戲獲得市場的認可跟自身的體積沒有半毛錢的關系,所以我們沒必要對著3A大作望洋興嘆!什么都沒做就先否定自己。
對于游戲開發的流程、分工、以及各種必要元素很多答主都分析的井井有條,在這里沒有必要過多累贅,僅僅分析一下,對于一個新入門的游戲開發者應該具備哪些素養:
前提:1,如果題主想要開發一款類似于《使命召喚:戰區》、亦或是《刺客信條:奧德賽》這類的超大型的3A巨制,那么基本就不需要往下看了,因為以現在的技術很難一個人獨立完成這樣的游戲,這些游戲都是用上千人的隊伍花費數年制作的。
2,如果題主有大量的資金(上不封頂),可以直接找專業公司做,以下也可以忽視。
如果以上都是否定,那么題主就可以繼續往下看了~
學游戲先學編程,這步必不可少現在游戲的開發技術五花八門,但最重要的一環就是編程,如果把一款游戲比作一個人的話,那么編程就比作人的大腦,編程的重要性由此可見一斑。
那么編程要學哪些語言呢?這里只推薦兩門語言:C#和swift。這兩門語言都是現代化的面向對象編程語言,功能強大,且簡潔易掌握。那么這兩種語言要怎么選擇呢?
1,C#是首選的。它所依附的Unity 3D是現在最受歡迎游戲開發平臺,依靠他基本可以開發出現在市面上所有類型的游戲(PS:《王者榮耀》也是它開發的哦~)。并且支持跨平臺,一個游戲工程,可以發布在所有游戲平臺:如PC、PS4、Xbox、iOS、Android等,省去了用戶跨平臺移植的麻煩
2,swift僅僅是針對iOS平臺,蘋果利用它開發了自己的游戲引擎:SpriteKit、SceneKit等,因為她比較簡單,已經有80歲的老奶奶和6歲的小朋友利用它開發出了游戲并深受好評!當然缺點也比較明顯,只能運行于蘋果設備,如:iPhone,iPad,Mac等,無法運行在PC或安卓設備。
具體選擇就看題主的意愿了,我的建議是直接C#省事!
美術和音樂,雖跨度巨大,但有折中方法如果把編程比作人的大腦,那么美術就是人的骨肉或衣服,音樂就是人的靈魂。
美術的功夫深不見底,如果想要研究,一輩子的時間也不夠充裕,音樂亦是如此。對于一款小型的獨立游戲,美術可能就是幾張圖片,如《Flappy Bird》就是幾張小鳥的動作分解圖和背景,音效就是一段簡單的循環播放音樂和死亡的音樂,一個人完全可以搞定,但是阻擋不了它的風靡!
關卡設計、戰斗平衡等這些也是游戲中特別注意的點,也是體現設計者巧妙心思的點,做好了可能就是游戲的核心玩法,做不好就會被用戶罵成翔!
以上幾點淺薄的認識希望對題主有所幫助~
有哪些零基礎的學習資料推薦?
前端開發,負責頁面展示。學習路線,html+css+javascript+jQuery+bootscrapt之類的框架,前期學很簡單,一個<button></button>就能顯示一個按鈕.要學精通還是有難度的,需要線性代數之類的高級知識。如果沒有好的文憑,那可能還需要ps技術。
后臺開發,負責后臺邏輯,可以選擇的java,微軟....這是目前最大的兩個體系,也各有優勢。java前期較簡單,前面的學習基本上都是方法調用。但要想精通同樣很有難度。選擇微軟也可以直接從C#入門,前期和java一樣易學。
在學習一門語言之前,首先要考慮好選擇哪種架構,可分為CS,BS兩種。BS是網頁開發,CS是桌面應用程序開發。
(僅供參考)
若選擇微軟 a.桌面開發學習路線是C-> C#或者C++ ->數據庫
b. C#->網頁開發 html+css+javascript->數據庫
若選擇java a. 網頁開發:javaSE->數據庫->html+css+javascript->ajax+xml+(json可選)->JSP&servlet->SSH(之類的框架)
市場上還有很多很多語言,比如PHP,Python....可以去58同城找招聘程序員的信息,看看他們公司的要求,學習公司需要的。選擇書籍可以根據上面推薦的語言去查找。最好別選明日科技出版社的從入門到精通系列,坑死人。再次申明,這些文字僅供參考。微軟答得很簡略,還需要自己再去找找更詳細的資料。
過不過時不是誰說了算的,市場會決定,需求會決定,計算機發展史上其實有很多你沒聽過的語言,那些才叫過時了,基本上書店看不到了,比如C的前身B語言。與其在乎會不會過時還不如搞清楚學習編程的核心是什么,那就是編程思想,而不是語句和代碼,語言及其語句和代碼是按一定格式來實現你的思想的。其實從任何語言入手都是可以的,各有各的特點和用途,比如說BASIC是微軟開發基于初學者的語言,現在大多作為編寫應用軟件的宏程序(當然JAVA也有腳本語言,就是網頁開發里的JS),而VB6是最后一個可視化的BASIC,而目前最新的OFFICE還內嵌VBA,即VB for Application,用戶可以借此提高工作效率。玩游戲時常用的按鍵精靈也是用類VB的語言,如果你會駕馭照樣也能有所作為。可以說VB目前已淪為腳本的代表,當然VB6你照樣可以有地方下載得到,而由于硬件的提升,其運行效率已經完全能滿足要求(我見過牛人VB寫的2D游戲,雖然可玩性欠缺,這個和游戲本身的設計有關,但是畫面刷新及動畫流暢度并不是很不堪),所以關鍵還在于怎么用。另外VB可以寫回調函數,也可以調用Windows的API,不過就是語句多一點,代碼重用機制太少,還有個問題就是VB是弱語言,它允許很多模糊的定義,這很方便初學者,但是由于定義模糊也很容易造成混亂,一旦被VB調教成散漫的習慣之后,你在學習其他強類型語言你可能會不適應。而C/C++這類強語言類型,定義嚴格不容易混淆,但是對初學者的學習過程打擊是最大的,時不時報個錯你莫名其妙不知道問題再哪里,幾番折騰之后你發現編程工作是個累人的活,很是壓抑,甚至X的心都有。學習要根據你的立足點,別人無法代替你選擇,選擇語言的方法就是了解一種語言的局限性,如果它無法滿足你的要求,那就暫時放一放。問題是對于初學者你并不知道你需要什么,而作為過來人,告訴你C++好,說面向對象多么美妙,或者說C#更好,因為完全面向對象,你也沒體會,為什么我要面向對象,有什么好處?如果幾個人有不同的說法,那你肯定沒有方向,因為作為新人你無從判斷。好了,你既不知道自己要什么,別人說的某語言的特點你也沒體會也很莫名其妙,你怎么選擇?我就給你級別順序,“級別”越低的語言越接近機器,對編程人員越不友好(開發效率低,麻煩),但是執行效率高,代碼明確直接,比如機器語言就是直接控制CPU每一步操作的。“級別”越高的語言對編程人員越友好,那是因為編譯器提供了后臺服務,代價就是層層打包,你不知道你的代碼到底做了些什么,這也是高級語言存在的意義,解放你的時間和腦細胞。而VB目前屬于一個尷尬的地位,不考慮計算機性能,VB屬于既沒有太高的友好性又沒有效率,所以現在我覺得用途最廣的就是腳本和宏了,因為更高級的語言比如C#開發效率更高,而且也是可視化的。當然匯編、C/C++、C#、java,PHP,DELPH更專業,有些適用于網頁開發有的基于本地底層驅動,硬件控制或者是數據庫應用程序或是一般應用程序,而有的都兼顧,針對性不同用途不同,這里所謂的適用是相對的,其實任何語言都可以完成任何任務,只是語言有側重,你如果用匯編編寫網頁訪問那是很麻煩的事情,所以你的發展方向及語言的側重點決定你該學習什么,其實思路(邏輯)都是一樣的,都是需要訓練的,而這些語言的特點網上一搜就知道不需要我多言。選擇首學什么沒有好壞之分,我的觀點:選擇一門語言先學習起來,熟練之后再去研究學習其他語言看看有什么區別,至于最終選擇看你自己興趣和要求了,我現在建議你先學C#,好處是語法和C/C++差不多,大部分關鍵詞都一樣,今后想學C++一點不別扭,可視化,底層封裝,你不需要管很多瑣碎的內存管理問題,完全面向對象,培養你面向對象的思想,錯誤檢查比C++更友好,還有狠多好處,比如代碼折疊,這個很有用處。順帶說下,我是從匯編學起的,我當時是因為一個游戲盤壞了扇區,找不到源了,只能自己編寫匯編讀取磁盤扇區去分析,好在游戲程序所在扇區沒壞,壞的是關卡數據,因此后來自己編寫了個地圖編輯器,但是匯編語言的麻煩在于內存定位很麻煩,當時還沒有好的編譯器,什么都要自己編排,雖然很痛苦,但是這是段難忘的時光,在這期間我了解了CPU讀取內存的機制以及數據總線地址總線控制總線這些概念,還有就是電路時序,什么是上升沿什么是下降沿,由此我也懂了SDRAM為什么比DRAM快兩倍。然后接觸C++,再接觸VB,然后C#。
編程有很多領域,應該先從你興趣開始,有興趣再決定編程領域,有了編程領域在決定語言.不同的語言對應著不同編程領域,只有確定這些信息了,才知道要看什么書籍。喜歡為WINDOWS開發軟件,那么 C語言是必備基礎(C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言)。
學好了然后在擴展一門面向對象的語言比如C++ C# JAVA 等.這些是不錯的選擇。然后光有語言不行,為了軟件的質量保證,還需要研究一下系統理論基礎,這樣你的軟件才能做到對系統的作家兼容性和獲取最佳性能。
拓展資料:
編程,是讓計算機為解決某個問題,而使用某種程序設計語言編寫程序代碼,并最終得到結果的過程。為了使計算機能夠理解人的意圖,人類就必須要將需解決的問題的思路、方法、和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算機之間交流的過程就是編程。
想學游戲編程需要什么?
我是主修軟件開發,各種語言的編程。
1、首先要知道游戲編程用的什么語言。是c++ 因為c++語言是目前最為穩定的、指針最為全面的語言。游戲尤其網游的穩定性要求極高,因此必須用c++。
2、先學c語言。c語言是全部計算機語言的基礎更是c++的基礎。因此要學好。再學c++,這個要學精,不然開發游戲沒戲。然后學數據結構、數據庫(orcle大型數據庫,小型sql不可以)、線性代數、離散數學結構就差不多了吧。要求:不單單是會,舉一反三。
3、2中說的是核心課程。html、css、js知道也行,但做游戲開發的你要知道,我們做的是一個人的心臟和大腦,那些一個美工人員會做的很好,而且不用你操心,也許美工做的比你還多但是,我們拿的薪資是他們的很多倍,咱們按年薪、他們按月還得算生活費、、呵呵、注:有不明白的再問我。
以上就是關于游戲電腦編程入門自學和開發流程是什么樣的的相關問題解答,希望對你有所幫助。