一叔遂、為什么自己寫一個(gè)游戲
如果你對(duì)玩游戲有足夠的熱情憋飞,這個(gè)問題可以不用回答了霎苗。我知道你認(rèn)為游戲是一項(xiàng)融合了美術(shù)、音樂和故事的藝術(shù)榛做。在你鑒賞他人藝術(shù)的同時(shí)唁盏,你自己也會(huì)有創(chuàng)造藝術(shù)的沖動(dòng)。
我們玩了許多游戲瘤睹,或者有這樣那樣的遺憾升敲,或者某個(gè)游戲激發(fā)了我們的靈感。這時(shí)我們都有一種沖動(dòng)轰传,想做一款自己的游戲驴党。就算它不能成為很受歡迎的游戲,也會(huì)讓自己很開心获茬,很有成就感港庄。
做游戲的過(guò)程中充滿樂趣。即使你做的游戲不入流恕曲,你也會(huì)得到比玩一流游戲還大的樂趣鹏氧。一邊娛樂,一邊還能提高自己的編程技術(shù)佩谣,何樂而不為呢把还。
還有,一直以來(lái)茸俭,我們都是玩Windows下的游戲〉趼模現(xiàn)在越來(lái)越多的人投入了Mac OS和Linux的懷抱,可是Linux和Mac上的中文RPG并不多見调鬓。有時(shí)不禁懷念起Windows下角色扮演游戲的味道艇炎。為了玩游戲,要重返糟糕的Windows嗎腾窝?絕不缀踪。作為一個(gè)程序設(shè)計(jì)師居砖,我們可以自己動(dòng)手,豐衣足食驴娃。
二奏候、要一個(gè)什么樣的游戲
我這里將邊寫教程邊做一個(gè)角色扮演游戲。初步的設(shè)想是這樣托慨,這是一個(gè)第一視角的武俠游戲鼻由,每一個(gè)關(guān)卡會(huì)有數(shù)量不等的敵人向我們沖來(lái)。他們會(huì)攻擊我們厚棵,我們也要攻擊他們蕉世。或者我們利用手頭的道具和技能干翻他們婆硬;或者被他們干掉狠轻,Game Over。
盡管我做的是一個(gè)RPG彬犯,你也可以使用從中學(xué)到的技術(shù)向楼,做其他類型的游戲:比如休閑游戲,如Zuma谐区,連連看等湖蜕;射擊游戲,如飛機(jī)大戰(zhàn)等宋列。
三昭抒、如何去做
我們首要的目標(biāo)是做跨平臺(tái)的游戲,可以在Windows下玩炼杖,更可以在Linux和Mac OS上玩灭返。因此我們需要跨平臺(tái)的多媒體庫(kù)。SDL(Simple DirectMedia Layer) 正是我們需要的坤邪,它開源高效熙含、使用簡(jiǎn)單。
我們可以通過(guò)很多編程語(yǔ)言使用SDL, 如c, c++, java, python, ruby等艇纺。
在本書中怎静,我將在Linux上使用C語(yǔ)言和SDL庫(kù)開發(fā)一個(gè)簡(jiǎn)單的2D角色扮演游戲。Mac OS的環(huán)境和Linux相似黔衡。
至于Windows上消约,你可以用VC++開發(fā)C程序,也可以使用編輯器 + MinGW進(jìn)行開發(fā)员帮。我建議后者,因?yàn)槲覀儗⑹褂肕akefile管理項(xiàng)目导饲,如果你使用MinGW捞高,我在Linux下寫的代碼可以直接拿到Windows上make氯材,一點(diǎn)也不用修改。
四硝岗、說(shuō)明
這一系列教程可能會(huì)在修改過(guò)程中不斷地更新氢哮。希望朋友們多多糾錯(cuò)、多提寶貴意見型檀。