
一、...用什么語言編寫是不是需要你所玩游戲的代碼
如果還不會任何編程語言,建議從Python開始。
它設(shè)計清晰,文檔齊全,合適初學者入門。它是一門很好的入門語言,并且不僅僅只是個玩具;它非常強大、靈活,也適合做大型項目。好的教程可以在Python網(wǎng)站得到。
Java也是好的入門語言。它比Python難得多,但是生成的代碼速度也快得多。它同時也是一種優(yōu)秀的計算機語言,不止是用來入門。
但是注意,如果只會一兩門語言,將不會達到一個高水平的程序員的水平——需要學會如何以抽象的方式思考編程問題,獨立于任何語言。需要學會在幾天內(nèi)通過一些手冊,結(jié)合現(xiàn)在所知,迅速掌握一門新語言。這意味著應(yīng)該學會幾種截然不同的語言。
如果要做一些重要的編程工作,不得不學習C語言,Unix的核心語言。 C++與C非常其他類似;如果了解其中一種,學習另一種應(yīng)該不難。但這兩種都不適合編程入門者學習。越避免用C編程,工作效率會越高。
C非常有效率,節(jié)約機器資源。C的高效是通過手動做很多底層的管理(如內(nèi)存)來達到的。底層代碼都是復雜極易出現(xiàn)bug的,會花極多的時間調(diào)試。
如今的機器速度如此之快,這通常是得不償失——比較明智的做法是使用一種運行較慢、較低效率,但大幅節(jié)省時間的語言。選擇Python。
其他比較重要的語言包括 Perl和 LISP。 Perl實用,值得一學;它被廣泛用于動態(tài)網(wǎng)頁和系統(tǒng)管理,因此即便你從不用Perl寫程序,至少也應(yīng)該學會看。許多人使用Perl的理由和建議使用Python的理由一樣,都是為了避免用C完成那些不需要C高效率的工作。
LISP值得學習的理由不同——最終掌握了它時會得到豐富的啟迪和經(jīng)驗。這些經(jīng)驗會在以后的日子里成為一個更好的程序員,即使實際上很少使用LISP本身。
實際上最好五種都會(Python,Java,C/C++,Perl和LISP)。它們代表了截然不同的編程思路和方法,每種都會受益匪淺。
轉(zhuǎn)自CSDN博主「東邊有頭牛」的原創(chuàng)文章。
擴展資料:
應(yīng)用
(1):作為批次處理語言或工作控制語言。許多腳本語言用來執(zhí)行一次性任務(wù),尤其是系統(tǒng)管理方面。DOS,Windows的批處理文件和Unix的shell腳本都屬于這種應(yīng)用;
(2):作為通用的編程語言存在,如Perl、Python、Ruby等。由于“解釋執(zhí)行,內(nèi)存管理,動態(tài)”等特性,它們?nèi)员环Q為腳本語言。但它們已經(jīng)用于應(yīng)用程序編寫,用戶也不把它們看作腳本語言;
(3):許多大型的應(yīng)用程序都包括根據(jù)用戶需求而定制的慣用腳本語言。同樣地,許多電腦游戲系統(tǒng)使用一種自定義腳本語言來表現(xiàn)NPC(Non-Player Character,Non-Playable Character,Non-Player Class)和游戲環(huán)境的預編程動作。
此類語言通常是為一個單獨的應(yīng)用程序所設(shè)計,雖然它們貌似一些通用語言(如Quake C,Modeled After C),但它們有自定義的功能;
(4):網(wǎng)頁中的嵌入式腳本語言。熟知的HTML(Hyper Text Mark-up Language)即超文本標記語言,就是一種腳本語言,它的解釋器就是瀏覽器。
JavaScript直到現(xiàn)在仍然是網(wǎng)頁瀏覽器內(nèi)的主要編程語言,它的ECMAScript標準化保證了它成為流行的通用嵌入式腳本語言。隨著動態(tài)網(wǎng)頁技術(shù)發(fā)展,ASP、JSP、PHP等嵌入網(wǎng)頁的腳本語言正被廣泛使用,不過這些腳本要通過Web Server解釋,而Html則被瀏覽器執(zhí)行;
(5):腳本語言在系統(tǒng)應(yīng)用程序中嵌入使用,作為用戶與系統(tǒng)的接口方式。在工業(yè)控制領(lǐng)域,PLC編程、組態(tài)軟件的腳本語言是擴充組態(tài)系統(tǒng)功能的重要手段;
在通信平臺領(lǐng)域,IVR(自動語音應(yīng)答)流程編程;
Office辦公軟件,提供的宏和VBA;其他應(yīng)用軟件如ER Studio提供的Basic MacroEditor,用戶可以編寫Sax Basic腳本操作ER圖,生成Access庫、導出Word文檔等擴展功能。
二、游戲的連招動作是怎么設(shè)計的代碼上又是怎樣實現(xiàn)的
首先你必須了解一個概念,每一個角色的動作(包括跳、走路還有通常說的技能、輕拳、重腳之類的),我們都把它歸納為“一個動作”,一個動作是不具備任何屬性的,除非這些屬性是可以簡單歸納的(下面詳細說),這里是一個游戲設(shè)計師通常會犯的錯誤,他們認為一個技能=一個動作=所有屬性歸這個動作,但是動作游戲(ACT,這里還包括FTG也就是格斗類)里面,每一個動作都包含了許多幀,每一幀才是這個動作的特點,每一幀通常包含以下屬性:
1,動作貼圖:也就是你一套美術(shù)動作序列幀的第幾幀(通常這個都是一一對應(yīng)的,雖然說邏輯和視覺應(yīng)該分開才能做好游戲程序)。
2,攻擊矩形:用于判斷自己攻擊命中別人的矩形,通常一些受傷、格擋之類沒有攻擊性的動作是不帶攻擊矩形的,在攻擊矩形中,還會擴展出以下屬性:
1)傷害:通常是百分比,用于和角色的攻擊力相乘得到這個矩形框造成的傷害。
2)破壞:這個矩形框如果作為命中判斷的話,它會造成目標失去平衡多少,這里是一個很重要的概念,在一些蹩腳動作游戲中,你會發(fā)現(xiàn)可以無限抽血抽到死,因為他的動作沒有破壞屬性,所以不會因為你連續(xù)做一個動作導致目標被打飛或者倒地(等保護動作),他們都簡單的采用“連招的最后一下”這個設(shè)定來作為打破平衡的,所以你發(fā)現(xiàn),只要你不連招,就能抽血抽到死。
3)推動:多方向的力,通常有x和y方向,決定如果命中后,目標發(fā)生的位移。
在這里你還可以擴展很多屬性,具體根據(jù)項目的需要進行。
4)歸類:這個歸類其實可以看做是一個TAG,因為這是一個動作中的一幀中的一個矩形,每一個動作會有若干幀連續(xù)的,每一幀有若干個攻擊矩形,如果他們都能生效,那么目標很可能會被一擊斃命等,所以我們約定統(tǒng)一歸類的攻擊矩形,再一次動作中僅生效一次,比如我們在一個踢腿動作中定義了Kick作為歸類,所有的攻擊矩形歸類都是Kick,那么這個動作幀任何一幀的任何一個攻擊矩形命中了目標之后,該目標就不會受到這個動作的第2次影響。
5)特殊標志:用于一些面對受攻擊、防御矩形時候特殊處理邏輯的參數(shù),通常不推薦使用,但如街霸中“鎖骨割”,侍魂中“不意打”之類攻擊矩形在下半段,卻要破壞下半段防御矩形效果的攻擊動作會有這樣的使用。
3,受擊矩形:若干個受攻擊矩形,受到攻擊的時候進入受傷處理的流程,這里有一個技巧就是,一些需要保護的動作,比如角色倒地了的時候,是不需要受攻擊矩形的。每個受攻擊矩形一樣會有一些擴展屬性:
1)免傷:受到傷害降低多少,通常很多游戲是不用的,但如果做現(xiàn)在的游戲,尤其是類DNF的,應(yīng)該會用得上。
2)平衡:對抗破壞的,如果平衡高于破壞,那么角色的動作不會因為受到攻擊而被中斷,否則應(yīng)該當前動作就被中斷了,你可以想象街霸中2個角色對踢,然后一起受傷,就是因為踢腳動作的破壞都高于平衡。
3,防御矩形:角色的防御判定矩形,在遭到攻擊矩形碰撞的時候,與攻擊矩形相交的面積和攻擊矩形與受攻擊矩形相交的面積通過一系列算法可以得出本幀是否是防御成功的,防御成功的應(yīng)當按照防御矩形的屬性來算(屬性同受攻擊矩形,但處理上通常還是會有些區(qū)別,這個因游戲而異)。這里通常出現(xiàn)的一個概念問題就是方向,因為每一幀這個概念本身是靜態(tài),你也不應(yīng)該根據(jù)前后幀(尤其是后面的你根本不知道)判斷攻擊來的方向,所以這個算法是個有點意思的東西,我在GameRes上曾發(fā)帖說過。
4,Cancel標志和可Cancel標志:這里是題主問的問題的關(guān)鍵回答了!這是2個屬性,但我把他們放在一起說,因為他們的作用是互相的,假如A動作的第5幀到第8幀的“可Cancel標志”=FF(舉例,所以就算編亂起一個),而B動作具有(不論是否作為動作的屬性)Cancel標志=FF,那么當A動作播放到5-8幀的任何一幀,都可以由B動作來終結(jié)A動作轉(zhuǎn)而進入B動作,通常的,Cancel標志北方在每一幀里面,B動作的第一個具有Cancel標志=FF的幀,就是在Cancel了A動作之后開始播放的幀。通過這個,策劃在合理的設(shè)置之后,就能夠?qū)⒁贿B串動作形成連招,甚至連招并不是簡單地一條直線的,你可以A->B->C,也可以A->D->C,也可以A->B->D->C,你想到什么都可以,只要策劃填寫對路。
三、如何制作一款簡單游戲
1、制作游戲前需要給自己的游戲定位
在自己動手制作游戲前,需要先做下計劃,給自己的游戲定位。是大型游戲還是小游戲,游戲的種類是那種,有動作、冒險、休閑等。這個設(shè)計好后,才能開始下一步的游戲劇情的設(shè)計。
2、設(shè)計自己的游戲劇情
每個游戲都有自己的劇情和人物背景,根據(jù)自己想法,設(shè)計自己的游戲劇情。比如可以從小說中查找一些情節(jié)進行改寫,形成游戲的主線,游戲的分支線可以在后期補充。
3、選擇制作游戲的開發(fā)工具
不同種類的游戲,可以用不同的開發(fā)游戲的工具,大的游戲可以用編程開發(fā)工具,小的游戲,用腳本的開發(fā)工具也能制作出來,需要選擇一個自己熟悉的開發(fā)工具,這樣制作時,難度就會降低。
4、設(shè)計游戲人物的原畫和場景畫
游戲中人物的原畫和場景設(shè)計很重要,開發(fā)工具設(shè)計的代碼是在后臺,展示在臺面的就是人物的形象和不同風格的游戲場景。可根據(jù)自已設(shè)計的游戲主線,畫出主場景和主要人物的原畫,后期補充分場景和次要人物的原畫。
5、把設(shè)計好的原畫和場景畫進行掃描和加工處理
原畫和場景設(shè)計花費的時間比較長,美好的人物形象在華麗的場景中出現(xiàn),讓人看了印象深刻。接著把設(shè)計好的原畫和場景畫進行掃描和加工處理。這樣在游戲開發(fā)時就可以直接作為素材添加了。
6、選擇好的游戲背景和場景音樂
在玩家玩游戲時,好的游戲背景和場景音樂,讓人聽了輕松又愉快,會體驗到游戲的樂趣,制作自己的游戲時,可以選擇自己喜歡的音樂來作為游戲的背景和場景音樂。
7、制作自己的游戲的開發(fā)和測試
游戲的開發(fā)就是花費時間長的階段,如果學過編程的人,經(jīng)過幾個月的游戲開發(fā)工具學習就可以進行游戲開發(fā)了。如果想簡單一點就可以制作一個Flash的小游戲開發(fā)。經(jīng)過一段時間開發(fā)完成后,需要自己對游戲的主線和支線進行游戲的測試,避免游戲出錯。
8、把自己制作的游戲給朋友來玩,體驗游戲設(shè)計和制作的樂趣
游戲測試完成后,可以把自己制作的游戲給朋友來玩,體驗游戲設(shè)計和制作的樂趣。大家可以根據(jù)這個游戲制作的流程和方法來制作自己的游戲吧。











