自己編程做游戲視頻,話說想做游戲?qū)W什么編程語言比較好?
企業(yè)級的游戲開發(fā)的話,一般C++多一些,大型游戲要求足夠高的運行效率,而JAVA,C#在這一方面是短項,而用C的話又沒有類,所以C++開發(fā)的游戲比較多,如果是想進游戲公司的話,多學(xué)學(xué)C++。
但是如果是個人開發(fā)小型游戲的話,建議用C#,小型游戲不需要考慮效率問題,C#足以應(yīng)付,微軟有個東西叫XNA,專為業(yè)余的程序員開發(fā)小型游戲而設(shè)計,上手簡單,微軟提供了大量的類庫,用起來很便捷。
如果是開發(fā)android的游戲的話,沒得選,只能用JAVA。
貌似也有用delphi開發(fā)的游戲,不過聽說不是主流。
其實語言不是重點,任何語言都可以做游戲,只是各個語言各有特點,根據(jù)需求的不同選擇最適合的語言。關(guān)鍵在于算法要理解,理解程序的構(gòu)架,研究透算法,才是最重要的。
學(xué)習(xí)的時候建議以C++來學(xué)習(xí),用JAVA或者C#的話學(xué)不到指針,用C的話學(xué)不到面向?qū)ο蟮乃枷搿2贿^如果沒有任何語言基礎(chǔ)的話,建議還是從C學(xué)起,先學(xué)會最基礎(chǔ)的東西再學(xué)C++。VB現(xiàn)在已經(jīng)很少用了,實在沒學(xué)的必要。
推薦教材《Visual C++游戲編程基礎(chǔ)》
如果只是想做個小的東西玩玩的話,有很多方便的軟件,比如《RPG maker》,用這些東西不需要什么編程的基礎(chǔ)就能做一些小的東西,玩玩足以。
想制作小型游戲需要具備什么知識?
從游戲制作的角度看,最重要的三個工種就是程序、美術(shù)、策劃,分別對應(yīng)代碼實現(xiàn)、美術(shù)設(shè)計、玩法設(shè)計。如果想要一個人制作小型游戲的話,也就是獨立游戲的話,需要具備以下知識:
游戲的誕生環(huán)境——游戲引擎開發(fā)游戲的第一步就是要掌握一些制作游戲的工具,注意是制作游戲而非游戲素材。通常來說制作游戲需要的就是游戲引擎,現(xiàn)在很多游戲引擎都可以個人免費使用,像ue4、unity、cocos這些引擎都比較方便。使用引擎還有一點好處是其中包含了很多插件和常用模板,這樣開發(fā)者就不用花時間從零開始做一些特別基礎(chǔ)的部分了。
游戲引擎的使用是最重要的,也就是如何將其他部分結(jié)合起來的一個工廠,無論是自行設(shè)計還是東拼西湊,都是要在游戲引擎中將所有內(nèi)容關(guān)聯(lián),然后打包出來。主機平臺就打包成主機版本,手機平臺就打包成手機版本,PC平臺就打包成PC版本。
游戲功能的實現(xiàn)——代碼編程游戲都是一個個功能結(jié)合的產(chǎn)物,每一個功能都是需要進行設(shè)計實現(xiàn)的,通常來說就要學(xué)習(xí)計算機語言去實現(xiàn)功能,也就是編程。不同的開發(fā)環(huán)境(引擎)使用不同的編程語言,例如ue4引擎使用C++開發(fā),unity使用C#開發(fā)(也可以用js),所以通常是要學(xué)習(xí)一門編程語言的。即便是實現(xiàn)最簡單的移動,也得明確地告訴計算機:哪個按鍵往哪個方向移動,速度是多少。
如果不會編程的話,也是有辦法的。像ue4有藍圖功能,可以在不編程的情況下制作游戲功能,unity也是有一些插件允許玩家拖拖點點實現(xiàn)一些基礎(chǔ)功能,像RPGMaker這種也能通過配置制作出游戲。但是要注意,這些方式的能力還是有限的,也就是必須在這些功能的范圍內(nèi),如果想要實現(xiàn)一些自身不支持的功能,那么還是要靠自己編程。
游戲的外表——美術(shù)資源美術(shù)資源是游戲的外觀表現(xiàn),這個真的需要一定的藝術(shù)細胞了,不是隨隨便便學(xué)就能短時間學(xué)明白的,靈感有時候比理論更加難。如果是做2D游戲,那么需要考慮怎么繪制圖片,如果是做3D游戲,那么還要考慮如何制作游戲模型。
不過現(xiàn)在網(wǎng)上和游戲引擎的官方商店也會提供一些付費或者免費的美術(shù)資源,如果有喜歡的或者可以湊合用的,也是完全可以拿過來直接用的。等到游戲真的有一定成果時,再付費外包一些美術(shù)團隊制作,然后把資源替換一下也是可以的。
網(wǎng)上也有很多工具,最常見的PS可以進行圖片處理,3DMAX可以建模,有一些軟件還能夠制作像素圖片和模型,如果有能力的話,可以學(xué)一學(xué),自己做點自己喜歡的東西,加入到游戲中。
游戲的靈魂——游戲玩法想要制作游戲,那么一定要清楚要做成什么樣的游戲,也就是非常非常詳細的規(guī)劃,一般叫做系統(tǒng)文檔。比如FC紅白機上的《坦克大戰(zhàn)》就需要考慮很多細節(jié)問題:
1.玩家是否可以雙人,每個玩家的顏色是什么,玩家可以強化幾個階段
2.有哪些強化道具
3.敵人分為幾種,每種是什么樣子,移動速度多少,子彈速度多少,移動軌跡采用什么方式,是否可以拾取道具,每局每種敵人數(shù)量與出生位置
4.地圖如何設(shè)計,一共有幾種元素,什么元素允許子彈穿透,什么元素允許子彈破壞,什么元素阻擋角色
5.游戲成功失敗的判定方式
等等
如果連游戲的設(shè)計環(huán)節(jié)都想不明白的話,就沒有必要往下做了,因為很有可能做著做著就蒙了,越做越亂。雖然有些設(shè)計確實是在制作的過程中產(chǎn)生的靈感,但是靈感也要進行再三思考,絕對不能想什么就加什么,不然最后就失去初衷了。
游戲的附屬——游戲聲音一般來說游戲都是需要音樂和音效的。音樂是指時間較長的BGM,音效指示時間較短的音樂片段,如《超級馬里奧兄弟》中踩到烏龜?shù)穆曇簦缘侥⒐降穆曇簦禄鹎虻穆曇舻鹊取?/p>
雖然音樂和音效并不是必須的,但是有音樂和音效往往會讓游戲更加吸引人,除非游戲的玩法決定其中就沒有音樂和音效,否則至少要有一些基本的,例如點擊確定的音效,成功失敗的音效,背景音樂至少也要 有一個BGM。
制作音樂和音效的工具網(wǎng)上也有,當(dāng)然也可以從某些地方進行取材,或者直接使用一些免費或者付費的資源也是可以的。
如果不提游戲的優(yōu)化的話,不考慮各種屏幕適配,不打算為以后版本更新的話,目前這些知識已經(jīng)可以做出一款基本游戲了,游戲的體量就看游戲的設(shè)計復(fù)雜度了。
零基礎(chǔ)學(xué)習(xí)編程難嗎?
首先要評估一下什么樣的零基礎(chǔ),其次是學(xué)習(xí)編程的目標(biāo)是什么,再來看能投入的資源,最后來規(guī)劃學(xué)習(xí)的路徑。
所謂零基礎(chǔ),各人情況也不一樣。學(xué)習(xí)編程肯定會接觸一門或多門編程語言,有的人是完全就沒接觸過編程語言代碼,更不用說數(shù)據(jù)結(jié)構(gòu),算法和計算機原理之類的專業(yè)知識,這些知識需要對數(shù)學(xué)靈光一點。有的人可能上學(xué)的時候接觸過一點,但是因為工作中沒有用到,后來全還給老師了。另外,英語也是基礎(chǔ)范疇之一,有一定英語基礎(chǔ)的人相對來說入門的時候能更快地記住編程語言中的關(guān)鍵字。所以零基礎(chǔ),在我看來有以上三個方面,代碼,數(shù)學(xué)和英語。
當(dāng)然,每個人都是從零開始的,如果有一定基礎(chǔ),學(xué)習(xí)編程入門的時候會相對容易一些,如果一點基礎(chǔ)都沒有,難度就會大一些。
第二個評估難易的標(biāo)準在于,你學(xué)習(xí)編程想干什么,目標(biāo)是什么。目標(biāo)低,自然容易達成一些,目標(biāo)高,肯定就困難得多。如果是想通過學(xué)習(xí)編程,解決工作中遇到的一些小問題,或者是興趣使然,想自己編個小軟件小游戲,這些都不難。因為編程開發(fā)在某種意義上來說是個手藝。就類似于做菜,可能很多人的廚藝并不能達到開餐館的要求,但是自己家里吃是沒問題的,偶爾也能做道不輸酒店的大菜。
如果是以就業(yè)為目標(biāo),零基礎(chǔ)并不是問題,只要你下定決心想學(xué)習(xí)。很多編程開發(fā)的工作,實際上是熟練工,所謂碼農(nóng)的稱謂就是這么來的。好比開車一樣,開的士很難么?很難學(xué)么?當(dāng)然開公交車要求就高一些,但是畢竟不是開飛機那么難。市面上有很多培訓(xùn)機構(gòu),經(jīng)過幾個月的時間學(xué)習(xí),很多人都可以入門的。這里多說一點,編程里面,前端相對容易一點,后臺相對難一點。當(dāng)然也有很多人從入門到放棄,更多的確實是自身不夠努力的原因,外在的原因也有,但不是起決定作用的。
想轉(zhuǎn)行技術(shù)的話,首先要看自己的一些情況,客觀的放到社會上去比較,如果年齡太大,學(xué)習(xí)編程再去找工作是不太現(xiàn)實的。你站在一個公司的角度上去看,為什么要給一個年過30,剛從培訓(xùn)機構(gòu)出來的入門菜鳥工作機會呢?有一大把剛畢業(yè)的,或者20來歲的可選,對不對?所以,如果超過30歲,零基礎(chǔ)學(xué)習(xí)編程再轉(zhuǎn)行做開發(fā),難度不是在于自身是否學(xué)得出來,而在于入門了之后是否能有就業(yè)機會。客觀的說,這種機會非常渺茫。
如果年齡不大,想轉(zhuǎn)行,那就看看能投入的時間和金錢有多少。培訓(xùn)方式有脫產(chǎn)的有不脫產(chǎn)的,有線上的也有線下的。一般來說,如果零基礎(chǔ)的話,脫產(chǎn)學(xué)習(xí)4到6個月才能真正入門,所謂脫產(chǎn)學(xué)習(xí)可以理解為每天不少于8個小時在學(xué)習(xí)編程上。
為什么這么說呢?換個角度看,一個在公司從事開發(fā)工作的人,正常來說一天不會少于8個小時在跟代碼打交道,一個月工作25天,也就是200個小時,4到6個月,累積1000個小時左右的代碼工作時間。這樣的人還不見得能做多少事,解決多大的問題。
所以,在選擇培訓(xùn)機構(gòu)和方式之前,首先要看自己能投入多少時間,是不是能夠堅持下去。零基礎(chǔ)學(xué)出來的大有人在,半途而廢的人其實更多。我認為,自身的意愿和投入程度是最重要的。
在選擇培訓(xùn)機構(gòu)上,對于零基礎(chǔ)入門這個階段,很多培訓(xùn)機構(gòu)都是能解決這個問題的。簡單來說,看看培訓(xùn)機構(gòu)開的時間長短,學(xué)員多少,收費高低大概就可以比較出來了。
這里建議你可以先去看看培訓(xùn)機構(gòu)官網(wǎng)上的免費課程,也有一些課程是在發(fā)在大的平臺上。一個是試一下自己能不能學(xué)進去,啃不啃得了,第二個是可以體驗一下老師的教學(xué)風(fēng)格自己能否接受。培訓(xùn)機構(gòu)講入門的東西大同小異,老師的水平高低不是體現(xiàn)在他自己技術(shù)水平有多厲害,過往在什么大廠待過,開發(fā)過什么牛掰的產(chǎn)品,而是看老師能不能用相對通俗易懂的方式講解對于零基礎(chǔ)的學(xué)員來說難以理解的概念,并且能夠在培訓(xùn)的過程中講一些編程的思想和解決問題的思路。
有些老師自己編程水平可能很高,敲代碼很熟練,改起bug來很快,但是講的東西基本是照本宣科,甚至連英語單詞都讀不清楚,這樣就極其考驗學(xué)員的靈性和毅力了。
總結(jié)一下,零基礎(chǔ)學(xué)習(xí)編程的難度因人而異,因目標(biāo)而異。哪怕代碼,數(shù)學(xué),英語三項都零基礎(chǔ),也是有很多人能學(xué)得出來的,關(guān)鍵是堅持和努力。關(guān)于轉(zhuǎn)行就業(yè),就得綜合考慮自身在人力資源市場上的情況,年齡越大越難。關(guān)于培訓(xùn)機構(gòu),可以通過免費在線課程體驗評估,總得來說活的比較久的培訓(xùn)機構(gòu)在入門培訓(xùn)上都發(fā)差不差,就業(yè)培訓(xùn)方面會有很大區(qū)別,這個就依賴師資力量了。
以上就是關(guān)于自己編程做游戲視頻和話說想做游戲?qū)W什么編程語言比較好的相關(guān)問題解答,希望對你有所幫助。