學習js的編程小游戲,計算機編程入門先學什么?
編程入門,可以先學一門語言,掌握一定的編程思想,然后再學其他編程語言、計算機原理、數(shù)據(jù)結構與算法等等。
一般來說,如果是零基礎編程入門,有充足的學習時間,可以先C語言,想盡快就業(yè),則可以先學Java或Python。
C語言是幾乎所有編程語言的基礎,掌握了C語言,其他語言基本都能很快上手,但C語言接近底層,比較復雜,學起來難度較高,需要花費大量的時間和精力。
Java是世界上使用人數(shù)最多的語言,是主流的開發(fā)語言之一,Java開發(fā)人員的需求量很大,比較好就業(yè),而且相對于C來說,Java更容易掌握。
Python應用范圍較廣,需求量也在不斷增加,對于就業(yè)來說,也比較有優(yōu)勢,而且相對其他兩門語言,Python具有高度的閱讀性,更為簡單易學。
當然,如果是為了就業(yè),也可以根據(jù)就業(yè)方向來學習語言,比如Android應用開發(fā)學Java,iOS應用開發(fā)學Objective-c,網(wǎng)頁開發(fā)學JavaScript,大數(shù)據(jù)開發(fā)學Python或R語言,游戲開發(fā)則可以學C或C++。
客觀地說java難還是javascript難?
java更難。
java和javascript是目前比較熱門的編程語言,java因為在企業(yè)中被廣泛引用,所以成為了網(wǎng)站后端開發(fā),桌面應用程序開發(fā)等領域的首選,javascript則成為了前端開發(fā)的必學編程語言,但是從難度系數(shù)上,java編程對邏輯思維的要求更強。
java是以c語言為底層語言進行開發(fā)的,許多方面依然繼承了c語言的特點,雖然java在學習的初始階段會比較的簡單,大多都是諸如:if.....else這類邏輯語法的嵌套,但是在后期的應用上,編程開發(fā)的難度會大大增加。在java開發(fā)中,許多的底層代碼都是要求程序員自己手寫的,也就是行業(yè)中俗稱的“造輪子”,雖然java也注重模塊化編程思維,但是一個大型項目通常會有幾百個模塊,代碼量也會有幾萬行,甚至幾十萬行。程序員會花費大量的時間去調(diào)試bug,同時java的缺陷也很明顯:
一、閉包問題
java雖然流行了十幾年,但是閉包問題一直沒有徹底解決,函數(shù)式編程在java中還沒有真正實現(xiàn)。
二、無法避免的泛型警告
在用java編程的時候,泛型警告是最常見的問題,即使不少的代碼明明正確,也會給你來個預警,如果不引入特定的注解,會讓開發(fā)變得很難受。
三、原生代理機制缺陷
Java提供的代理機制,只針對接口,而不是具體類,不能代理final類。
四、錯誤捕捉異常
在java中,類似于try....catch這類的捕捉錯誤語句,經(jīng)常會報出一些難以理解的錯誤,也許開發(fā)人員的代碼書寫相當?shù)囊?guī)范,但是依然會報錯。
javascript與之相比,在代碼的書寫性以及簡易性上還是很明顯的。javascript是一門弱類型語言,容錯性是它的優(yōu)點,程序員在開發(fā)的時候,不必要嚴格地遵循代碼書寫規(guī)范,即使出現(xiàn)了一些錯誤,也會被javascript快速的識別,js的錯誤捕捉能力還是很強大的,同時javascript作為主流的前端開發(fā)語言,擁有著廣泛的社區(qū),以及大量的開源框架和豐富的模塊包,程序員很多時候不需要再進行“造輪子”,直接找到相應的開源代碼,安裝引入之后就可以使用,特別適合于一些定位為"API接口調(diào)用工程師"的人。
國內(nèi)現(xiàn)在有不少開發(fā)商,也很注重javascript開發(fā)工具的研發(fā),如現(xiàn)在主流的uniapp,實際上就是對javascript語言進行封裝的一個超集,使用uniapp開發(fā)更多的時候就是在調(diào)用API,不需要像java那樣注重代碼的邏輯性。
雖然javascript的開發(fā)難度系數(shù)比java簡單,但是javascript的整體優(yōu)越性卻不如java,java有著完整的開發(fā)體系,成熟的開發(fā)框架以及較高的使用性能,相反javascript在這些方面還是較弱,因為javascript的語法體系不成熟,所以更新的速度很快,從ES5,ES6,到最新的ES11,javascript的改動很大,這使得很多的完結的開發(fā)項目,會出現(xiàn)各種不兼容情況,同時javascript開發(fā)需要導入大量的第三方插件包,這些插件包一旦更新,對于代碼的兼容性也是很大的問題,這才讓typescript開始受到關注。
所以從客觀上說,java的開發(fā)難度系數(shù)更大,但是javascript的運行效果不如java。
如何學會游戲開發(fā)和策劃?
首先,你必須清楚地知道游戲策劃的工作涵蓋了多少內(nèi)容。打個比方,假設你現(xiàn)在是在玩一款名為游戲策劃的游戲,首先你必須找到你的技能樹,并且看清楚,這課樹的枝椏分向了哪幾個方向,進一步確定你的額技能點到底應該怎么點(我本人做過文案策劃和系統(tǒng)策劃,所以這兩方面講的相對清楚一些)。
1.文案策劃(RPG類游戲均需要的專業(yè)性人才)
簡介:只要是RPG類的游戲,不管是mmo還是卡牌,只要這個游戲擁有劇情,它都需要至少一個文案策劃。這一類策劃負責游戲的劇情設計,角色設計、世界觀設計、對白撰寫、文本撰寫、道具描述撰寫、裝備描述撰寫、活動包裝等等等等。簡而言之,就是游戲之中所有與文字及ip相關的事宜,都是由文案策劃負責。
必備技能:
(1)文字表達能力
最起碼要做到邏輯清楚,表達準確。
進階階段就是要語言優(yōu)美,文筆流暢。
再遞進的階段就是博覽群書,言之有物,不管是引經(jīng)據(jù)典,還是自寫詩詞樣樣精通。燭龍在招收文案策劃的時候一般都會加上一句,中文系畢業(yè)最佳。
(2)設計能力
最基礎地是要能夠設計出一個體量較小的完整故事,也就相當于是網(wǎng)絡游戲里的支線任務水平。這其中包含了角色性格設計、情節(jié)邏輯設計及最基礎的部分玩法設計。支線任務這種程度,不可能有專門的玩法組來配合,只能依靠自己。
進階階段是要能夠獨立設計出至少100環(huán)的主線任務故事。在這一階段,必須要做到設計出的人物不能走形,任務邏輯清楚有趣。但其實它本質(zhì)上還是人物設計,并沒有想象的那么困難。
再遞進的階段就是ip、世界觀設計。牽扯到游戲歷史、背景,包括游戲世界到底是怎么出現(xiàn)的,是如何一步一步衍化成如今這個面貌,涉及到多少勢力、種族,這些勢力、種族之間的關系如何,每個勢力、種族經(jīng)歷過什么樣的歷史,有哪些英雄人物等等等等。
(3)看圖說話能力
簡而言之就是包裝,不是所有游戲都能做到文案先行的,很多時候都是其他策劃做好了裝備、道具交給文案策劃包裝,也就是這東西到底叫什么,為什么叫這個。他們會提供的只有這個裝備or道具到底是干什么使的,以及它到底長個啥樣子。也就沒有啥進階能力,反正你只要包得足夠靠譜就ok。
2.系統(tǒng)策劃(是個游戲就需要的專業(yè)性人才)
簡介:要了解這個工種,首先要知道什么是游戲系統(tǒng)。用比較學術的說法就是,具有某種功能性的整體,即為系統(tǒng)。用比較玄學的說法就是,你在游戲過程中,能通過感觀體驗到的所有內(nèi)容都屬于系統(tǒng)。做任務,有任務系統(tǒng),打副本,有戰(zhàn)斗系統(tǒng),就算脫離了rpg游戲的殼子,玩兒個王者農(nóng)藥,你以為就沒有系統(tǒng)了?那個蛋疼的符文,也是系統(tǒng)。不客氣的講,一個合格的系統(tǒng)策劃,構建了游戲的底層邏輯。
在說到必備技能之前,首先必須看清楚一個系統(tǒng)都由哪些部分構成,請看下圖。
這四大塊共同構成了系統(tǒng)。一個完整的系統(tǒng)體驗是什么樣的?以windows窗口來舉例。首先,用戶先點擊窗口右上角的小紅叉,這之后程序后臺在用戶看不見的地方進行代碼運算,最終得出關閉窗口的指令,并切實地在用戶屏幕之上體現(xiàn)出來。這,就算是一個完整的系統(tǒng)操作體驗。接下來我們將以上區(qū)塊按部就班地一個個來分析一下。
ui界面,即用戶界面,在游戲當中就是玩家所有可以被操作覆蓋的地方。這項工作并不需要完全由系統(tǒng)策劃負責,畢竟不是所有的系統(tǒng)策劃都擁有一雙美工的手。但我們必須要為之后負責此區(qū)塊的人提供思路。例如,當玩家點擊某個按鈕時,是否需要彈出一個新的窗口,彈出的這個新窗口需要顯示什么。或者,當玩家點擊商城中的購買按鈕時,是否需要彈出二次確認框,給玩家第二次的反應機會,避免誤觸操作。這都是系統(tǒng)策劃必須考慮的問題。當然,如果你遇到一些過度負責的美工那更痛苦,他or她極有可能會讓你提供靈感圖,那么你還需要用到viso或ps手動給他拼一個。
底層邏輯,即這個系統(tǒng)到底干什么使的。這個問題看似簡單,但其實……
舉個陰陽師最簡單的簽到系統(tǒng)例子。簽到系統(tǒng)到底干什么使的?這還不簡單?不就簽到使的嗎!但是作為一個合格的系統(tǒng)策劃,想問題絕不能這么片面。首先明確一點,什么是簽到?就是玩家每次登陸游戲時,點擊界面某個位置,即將作為簽到的變量加一。同時每次的疊加,會給玩家發(fā)放一些獎勵。獎勵是否隨機?這需要系統(tǒng)策劃考慮清楚。當作為簽到的變量累積到一定數(shù)值時,是否要再給玩家一份獎勵?這需要系統(tǒng)策劃考慮清楚。這個變量數(shù)值是否一直記在游戲服務端上?需不需要定期重置以減輕服務器的計算讀取壓力?這也需要系統(tǒng)策劃考慮清楚。等到問題都考慮清楚了,再把他們整理成程序一眼就能看明白的流程圖,大致如下:
代碼構成,別害怕,一個成熟的游戲工作室一般情況下并不會讓一個系統(tǒng)策劃自己擼胳膊挽袖子親自上前線碼代碼。但你應該清楚你的系統(tǒng)從程序方面如何實現(xiàn),因為程序隨時有可能在稀奇古怪的地方卡殼,并需要系統(tǒng)策劃給出專業(yè)性建議。程序邏輯和運用程序語言畢竟是兩回事,只要思路夠清晰,應付程序暴風驟雨般的提問也是可以應對自如的。
維護管理,自己提的需求,跪著也要自己去維護。這是身為一個策劃的職業(yè)操守,尤其是系統(tǒng)策劃。有的是上線的系統(tǒng)被玩家噴得跟坨翔一樣,于是只能回爐重造的。
3.數(shù)值策劃(所有網(wǎng)游、RPG類單機,只要不是純玩法類游戲都需要的專業(yè)性技術人才)
簡介:是我個人認為的,游戲策劃里最枯燥的一個工種,又累又枯燥。當年我所在的組里,數(shù)值組的大佬永遠奮戰(zhàn)在第一線不說,一到版本日,鐵定加班的就是他們了。主要負責游戲投放概率的計算,陰陽師里就是ssr掉落的概率,王者農(nóng)藥里就是開箱子開出英雄來的概率。還有在mmo里,玩家下副本用不同的裝備要打多長時間,都是數(shù)值大佬說了算。每次升級要攢多久,也要看數(shù)值大佬的計算結果。總而言之,就是通過復雜的計算,成功保證游戲的營收與玩家的收獲絕對公正,但絕不成正比。
必備技能:概率論、高斯函數(shù)、微積分學的不好還是不要考慮這個工種了。
4.戰(zhàn)斗策劃(有技能的游戲都需要的專業(yè)性技術人才)
簡介:主要負責游戲中所有與戰(zhàn)斗相關方面的設計,包括怪物ai編寫,怪物技能設計,玩家角色技能設計,簡言之就是在游戲中戰(zhàn)斗發(fā)生以后,除了雙方打對方一下扣多少血,用多少藍是屬于數(shù)值策劃的范疇以外,感受到的所有東西,都是戰(zhàn)斗策劃搞定的。所以如果農(nóng)藥某個角色玩兒的不爽,盡情去罵戰(zhàn)斗策劃吧。
戰(zhàn)斗策劃有時也細分成兩種,一種叫技能策劃,一種叫怪物策劃。前者專門負責技能的設計,需要遍玩天下各路游戲,達到胸中自有技能的境界。而且在設計時必須考慮到技能平衡,完全依賴數(shù)值策劃后期靠數(shù)值找平,那基本找不平。怪物策劃主要負責怪物行為邏輯設計,簡單來說,怪物行為主要有兩種可能,一種是think,一種是ai。think由程序寫死,怪物策劃只需修改一些數(shù)值即可,一般針對一些比較傻的怪物,看到你撲過來就是揍,看不到你就原地站著不動,這就是think。ai控制則相較而言復雜得多,要考慮怪物什么時候撲過來,撲過來用什么技能,撲過來的時候要不要跟你說句話,簡單說,ai控制著所有think無法完成的行動。
必備技能:
(1)起碼要熟悉主流游戲的所有技能、技能成長,能夠設計出足夠合理的技能,并能夠勝任不同個體間的技能平衡。
(2)邏輯思維清楚,能弄明白如何編寫怪物ai。
5.關卡策劃(擁有副本的mmo游戲需要的人才)
簡介:現(xiàn)在市面所見的所有pc端的mmorpg游戲,不管是魔獸、劍網(wǎng)三、最終幻想15、天涯明月刀還是天諭都有副本系統(tǒng)。此系統(tǒng)作為mmo游戲的主要玩法,幾乎決定了一款mmo的勝敗。而決定了這個游戲好不好玩的,除了有些玩家特別講求的打擊感外,還有一個因素,就是各個關卡做得是否獨到、有趣。這就需要關卡策劃來出謀劃策了(有的游戲會用其他策劃來兼職這一工種)。
作為關卡策劃,要對自己游戲的戰(zhàn)斗系統(tǒng)非常了解,要能設計出具備可行性的關卡結構,即負責副本ai的編寫。副本ai控制什么時候放出什么樣的怪物,該怪物死亡會對副本產(chǎn)生什么樣的影響,如果需要出現(xiàn)阻擋玩家進入下一關卡的空氣墻,則該空氣墻在玩家做了什么操作之后會被消除。這些都需要關卡策劃考慮。
必備技能:
(1)起碼要熟悉主流mmo的副本關卡,并能夠設計出足夠合理的副本。
(2)邏輯思維清楚,能夠完美地統(tǒng)和副本系統(tǒng)及戰(zhàn)斗系統(tǒng)。
(3)具備創(chuàng)新性,起碼知道怎樣才能做出現(xiàn)在市面上沒有的副本關卡來,不然怎么吸引玩家留存?
以上就是關于學習js的編程小游戲和計算機編程入門先學什么的相關問題解答,希望對你有所幫助。