GameMaker是一(yi)個游(you)(you)戲(xi)開(kai)發系統,允許你(ni)使用圖(tu)形、按(an)鈕(niu)和文(wen)本(ben)創作自己的冒險游(you)(you)戲(xi)。由于其拖拽按(an)鈕(niu)與GML語言的特征,使用GameMaker開(kai)發游(you)(you)戲(xi)可以降低(di)對編(bian)程知(zhi)識(shi)的門檻要(yao)求。只要(yao)拖拽圖(tu)形,輸入文(wen)字,點擊很(hen)少的幾個按(an)鈕(niu),選擇一(yi)些控制選項,游(you)(you)戲(xi)很(hen)快(kuai)就可以編(bian)寫成功了(le)。
高自由度
在可(ke)制作游(you)戲(xi)類型(xing)方面,GameMaker是高度自由(you)的(de),非常接(jie)(jie)近直(zhi)接(jie)(jie)用編程語言(yan)可(ke)制作的(de)游(you)戲(xi)范(fan)圍。諸如(ru)“彈幕(mu)射擊(ji)+益(yi)智 ”、“街機(ji)闖(chuang)關(guan)+ARPG”、“迷宮冒險+音樂(le)游(you)戲(xi)”之類的(de)混合類型(xing)都可(ke)以自由(you)制作。
軟件的 3D相關功能(neng)略顯(xian)薄弱,僅是一個補充。國(guo)外(wai)愛(ai)好者(zhe)為(wei)其開(kai)發了3D方面擴(kuo)展引(yin)擎,已達(da)到一般可用(yong)水平(ping)。如果(guo)(guo)開(kai)發者(zhe)需要制作(zuo)“2D+3D”效果(guo)(guo)的游戲,需要將游戲整體(ti)設計在3D模式(shi)之(zhi)下。
GameMaker內(nei)核為 DirectX 6,并不高(gao)級但(dan)久經考驗(yan)。網游地(di)推(tui)調(diao)查顯(xian)示,由(you)于國內(nei)非發(fa)(fa)達(da)地(di)區的公用電(dian)腦配置普遍(bian)不高(gao),因此所開(kai)發(fa)(fa)游戲能(neng)夠廣泛的支(zhi)持國內(nei)大部(bu)分(fen)電(dian)腦,免卻后(hou)顧之憂。軟(ruan)件(jian)的處理優化方(fang)面(mian),可滿足(zu)常規制(zhi)作(zuo),包括對2D游戲引擎要求(qiu)最苛刻的彈幕射擊(ji)游戲。
跨平臺
GameMaker軟件本體以及(ji)所開發游戲(xi),能運(yun)行在PC/MAC平臺,運(yun)行游戲(xi)并不需要(yao)任何插件。官(guan)方曾表(biao)示過推(tui)出(chu)跨(kua)平臺版本的(de)意向(xiang)。使用Game Maker 7/8編譯出(chu)的(de)游戲(xi),可在最新的(de)操作系(xi)統Windows7下運(yun)行。
GameMaker For Mac、GameMaker HTML5已(yi)經面(mian)世(shi),GameMaker在未來將(jiang)支持更(geng)多的平臺,使用該軟件(jian)也將(jiang)獲得更(geng)大的空間。
內置編(bian)程語言(yan)GML
GameMaker最大的(de)價值(zhi)在于其(qi)內(nei)置的(de)一套編程語言——The Game Maker Language (GML)。
GML高度概括了2D游戲(xi)設計能用到的(de)(de)(de)共(gong)通編程語(yu)句,往(wang)往(wang)濃縮為一(yi)個(ge)簡(jian)短靈活(huo)的(de)(de)(de)函(han)數,是“文(wen)字版(ban)的(de)(de)(de)按鈕”,使設計游戲(xi)更為靈活(huo)。其與圖形(xing)界面中的(de)(de)(de)按鈕有(you)對(dui)應關(guan)系。使用按鈕入(ru)門游戲(xi)制作的(de)(de)(de)用戶,可以從“我熟悉(xi)的(de)(de)(de)按鈕所對(dui)應的(de)(de)(de)GML”來進階學習。
舉例:
我們要做(zuo)一個跟蹤導(dao)彈。
只需(xu)在(zai)導彈的循環(huan)動(dong)作中添加一(yi)行move_towards_point(Enemy.x,Enemy.y,Speed)
這樣便做好(hao)了對Enemy跟蹤的(de)導彈,跟蹤速度(du)為(wei)Speed。
GML的潛(qian)在價值是不可(ke)估量的。
在世界游戲開(kai)發(fa)領域,我(wo)們(men)(men)經常碰到這樣的事(shi)情:多種編程語言設計開(kai)發(fa)同一種游戲的問題(ti)。如同真實(shi)世界中,人(ren)們(men)(men)出現語言隔閡,可(ke)以(yi)用(yong)手勢、表情與圖畫表達心意,程序(xu)員之間也可(ke)以(yi)用(yong)大(da)家都理解的“偽代(dai)碼(ma)”交流(liu)。
GML與這種“偽代(dai)碼”相(xiang)似(si)甚至相(xiang)等(deng)。從某種意義(yi)上講(jiang),用GML表(biao)述出來的程(cheng)序邏輯已經(jing)簡(jian)潔到極端。當從事復(fu)雜(za)的游(you)戲(xi)設計時(shi),使(shi)用GML來描述結(jie)構,其明(ming)晰程(cheng)度可謂首屈一指。隨著獨立(li)游(you)戲(xi)制(zhi)作界整(zheng)體水平逐步提(ti)高,這種潛在價(jia)值(zhi)將愈加(jia)明(ming)顯。
這些(xie)特色(se)(se),使(shi)(shi)得一(yi)個GameMaker高級用戶,即便是(shi)應(ying)付復雜游戲,也能(neng)以(yi)難(nan)以(yi)置(zhi)信的高速制作;即使(shi)(shi)把游戲設(she)計作為業余愛(ai)好,也能(neng)相對(dui)輕松步入最高階——對(dui)游戲引擎結(jie)構(gou)進行優化調整。這都歸功于GameMaker作者(zhe)出色(se)(se)的設(she)計才能(neng)。
拖拽按鈕
GameMaker設計游戲(xi)過(guo)程中的一大(da)特征是,可使用拖(tuo)拽按鈕(d&d)進行游戲(xi)邏輯編排。
舉例:
我(wo)們在場景放了(le)2個球(qiu)。要實現一(yi)個功能:2球(qiu)相撞時,A球(qiu)反彈,B球(qiu)爆炸(zha)。
具體做法是在A球(qiu)的碰撞事件,拖拽(zhuai)反彈按鈕;
在B球的碰撞(zhuang)事件(jian),拖拽改變實例(li)按(an)鈕,讓B球變成(cheng)爆炸動畫(hua);
編(bian)輯爆炸動(dong)畫對(dui)象(xiang),在動(dong)畫播放結束事件,拖拽銷毀(hui)按(an)鈕。如此便完成了功能的制作(zuo)。
這里(li)不要(yao)求編(bian)(bian)程(cheng)(cheng)(cheng)基礎,卻(que)需(xu)要(yao)一(yi)個合乎編(bian)(bian)程(cheng)(cheng)(cheng)過程(cheng)(cheng)(cheng)的(de)明(ming)確(que)思路(lu)(事(shi)實上,可以近似認為(wei)是編(bian)(bian)程(cheng)(cheng)(cheng)思想)。是真(zhen)正意義上的(de)“想到(dao)便能做到(dao)”。由此,GameMaker為(wei)那些從未接觸(chu)過編(bian)(bian)程(cheng)(cheng)(cheng),但熱愛游戲的(de)玩家,邁入(ru)游戲編(bian)(bian)程(cheng)(cheng)(cheng)世界,提供了一(yi)個特別便捷(jie)有力(li)的(de)途徑。
事件驅動
事(shi)件類型豐(feng)富周期(step)驅動腳本語言(yan)GML具有如下特征:
1兼容C/VB寫(xie)法(fa),語(yu)法(fa)不嚴格,書寫(xie)量少
2可書寫script來擴展功能(neng)(每(mei)個script是一個源件(jian),相(xiang)當于一個函數)
3弱類型語言,而且(qie)寫入字段(duan)無需預先聲明(ming)
4基于(yu)角(jiao)色實例的域
5資(zi)源樹,可分類,每(mei)一(yi)類源件可自由分組(zu),便于(yu)資(zi)源快速查找
6不同的過(guo)(guo)程(事件/scritp)分開編輯(而(er)不是多個(ge)過(guo)(guo)程在同一個(ge)版面(mian))。
7資源(yuan)樹(shu)中(zhong)細致到每(mei)個script(相(xiang)當于函數(shu)),每(mei)個script分開(kai)編輯,每(mei)一種源(yuan)件(jian)都(dou)有(you)editor,既可使用(yong)象積木一樣(yang)的action寫(xie)程序,也可使用(yong)gml腳本語言(yan),action的文(wen)本框中(zhong)可使用(yong)復雜(za)的表達式(shi)。表達式(shi)中(zhong)可使用(yong)變量名運算符函數(shu)限定名,和gml代碼(ma)中(zhong)類似。
1 可開發大型游戲
2 可調用dll,來(lai)擴(kuo)展功能
3 內置(zhi)網絡通訊,建立網絡多玩家(jia)游戲(ipx tcpip 消(xiao)息接發 sharedData..)
4 通用型(xing)(xing)maker,適于多種游(you)戲類(lei)型(xing)(xing),不是專為某一種游(you)戲類(lei)型(xing)(xing)而設計
5 碰(peng)撞(zhuang)(相(xiang)遇)功(gong)能 (碰(peng)撞(zhuang)事件(jian),碰(peng)撞(zhuang)檢測(ce),contact,碰(peng)撞(zhuang)相(xiang)關的移(yi)動,mask sprite........)
6 可以處理多個周期(alarm、timeline等(deng))
7 Paths路徑
8 適于(yu)鳥瞰地圖的尋(xun)路(轉(zhuan)彎尋(xun)路、A*尋(xun)路等)
9 繪(hui)圖功(gong)能(draw事件 高級draw函數 alpha混合)
10 文件讀寫(ini 文本) 注冊(ce)表讀寫 環境(jing)變量 外部(bu)程序 接(jie)收命令(ling)行(xing)參(can)數(shu)
11 內置函數豐富,開發(fa)效率高
1 定制遮(zhe)罩繪制精靈圖形,可(ke)以制作望遠(yuan)鏡效果/按外形剪切圖形外形顯(xian)示(shi)
2 按遮(zhe)罩透明度繪制(zhi)精靈圖(tu)形,可以繪制(zhi)火焰/爆炸圖(tu)形特效,去背景操作(zuo)
3 完(wan)備的屏(ping)幕圖形繪(hui)制(zhi)功(gong)能,繪(hui)制(zhi)規則形狀/點/按鈕/生命值條/路徑(jing)/箭頭/多種(zhong)可選顏(yan)色(se)/自(zi)由合(he)成RGB顏(yan)色(se)/截屏(ping)/獲取屏(ping)幕信息
4 自定義各種屬(shu)性文字繪制(zhi)/圖形化字符(fu)繪制(zhi)/縮放(fang)/旋轉/漸變填(tian)充等
5 高級繪(hui)(hui)(hui)制(zhi)功能(neng):繪(hui)(hui)(hui)制(zhi)矢量點圖形(xing)/帶(dai)線框圖形(xing)/圓角形(xing)/不規則多邊(bian)形(xing)繪(hui)(hui)(hui)制(zhi)
具有特(te)別混合(he)去(qu)背景效果繪制,多種可選模式,完(wan)成云彩/爆炸/魔法特(te)效繪制
6 獨(du)有(you)的支持元(yuan)件圖形(xing)tiles功(gong)能,讓你輕松(song)搞定類似采蘑菇型元(yuan)件拼圖式游(you)戲
7 完(wan)全(quan)支(zhi)持屏(ping)(ping)幕調(diao)整/設置(zhi)顯(xian)示器屏(ping)(ping)幕高/寬(kuan)高度/顏色值/設置(zhi)鼠標(biao)屏(ping)(ping)幕位置(zhi)
8 游戲窗口操控/類似屏(ping)幕調(diao)整(zheng)效(xiao)果用來調(diao)整(zheng)一個(ge)游戲窗口
9 獨(du)特的平(ping)面視角控制(zhi)(zhi)views,定制(zhi)(zhi)窗(chuang)口(kou)大小(xiao)觀看舞(wu)臺(tai)/類似(si)攝影(ying)機跟蹤效(xiao)果,輕(qing)松完成第(di)三(san)人稱(cheng)RPG游戲
10 樣式豐富(fu)的舞臺轉場(chang)效果/各種切換特效隨意選擇
11 游戲屏幕可選定時刷(shua)新(xin)功能
12 游戲(xi)信(xin)息顯(xian)示功能,顯(xian)示游戲(xi)幫助(zhu)/游戲(xi)指令/顯(xian)示圖片(pian)/播放游戲(xi)動(dong)畫
13 自定(ding)義/顯示彈出(chu)對話(hua)框(kuang)/顯示問(wen)題對話(hua)框(kuang)/輸入(ru)數值/字(zi)符對話(hua)框(kuang)。自定(ding)義對話(hua)框(kuang)背景/文(wen)字(zi)/標題/按鈕及字(zi)體/存儲對話(hua)框(kuang)/錯誤對話(hua)框(kuang)
14 獨有的高分排(pai)行顯示(shi)/自動列舉/顯示(shi)/輸入名稱(cheng)功能,輕松(song)制作計分型游戲排(pai)行榜。
15 上(shang)百條功(gong)能函數完全(quan)操(cao)控精靈圖像/背景/3d聲(sheng)音/字體/路(lu)徑/物體/腳本(ben)/時(shi)間線/場景等(deng)資(zi)(zi)源(yuan)的(de)各(ge)(ge)種屬性,并(bing)且有游(you)戲中(zhong)替(ti)換(huan)資(zi)(zi)源(yuan)的(de)功(gong)能,比如(ru)游(you)戲中(zhong)從(cong)其它目錄(lu)中(zhong)換(huan)取背景圖形(xing)/換(huan)取聲(sheng)音/修改窗口(kou)大小(xiao)/修改游(you)戲幫助等(deng)完全(quan)更換(huan)各(ge)(ge)種資(zi)(zi)源(yuan)。
16 文本文件(jian)讀(du)寫/二進制文件(jian)讀(du)寫/文本跳行/文件(jian)屬性更改/文件(jian)查找/目錄(lu)操作等
17 完(wan)全支持(chi)注冊表操作/任意修(xiu)改各(ge)種子鍵/支持(chi)ini文件讀寫操作/支持(chi)游戲中調用外在程序
18 獨(du)特的五種數(shu)據庫類型(xing)數(shu)據/列表存儲型(xing)數(shu)據
Stacks Queues Lists Maps Priority Queues
完成不同要求向堆餞添加(jia)/刪除數據操作(zuo),適(shi)合(he)RPG游戲等(deng)人物道具(ju)操作(zuo)等(deng)
19 絢(xuan)麗的粒子(zi)制作功能
簡單(dan)的(de)代(dai)碼讓你實現各種(zhong)(zhong)專業級的(de)各種(zhong)(zhong)粒(li)子效果,內(nei)置(zhi)焰火/煙霧(wu)/爆炸(zha)/雨雪氣候等多個特效直接(jie)調(diao)用,并可設(she)置(zhi)發射器(qi)/擋板(ban)(ban)/反(fan)彈板(ban)(ban)/引力板(ban)(ban)等完全自定義功能
20 功能強大底層網(wang)絡編寫(xie)功能,讓你從最底層開始自己制(zhi)作(zuo)自己的網(wang)絡交流(liu)/信息(xi)傳(chuan)輸機(ji)制(zhi)
21 新加的(de)強大(da)的(de)3D制(zhi)(zhi)作(zuo)功能,完(wan)成3D-fps的(de)場景/貼圖/霧(wu)效,以及自(zi)定(ding)義(yi)顯存繪制(zhi)(zhi)surface,完(wan)成專業圖像級別得心(xin)應手(shou),自(zi)定(ding)義(yi)多邊形(xing)/攝(she)影機/燈光等(deng)。
加上眾多(duo)高手為GM編寫了(le)無(wu)數(shu)的動態庫(ku)連接插(cha)件dll,GM可謂此(ci)類工具(ju)里(li)面的最優選擇。
由于此軟(ruan)件(jian)(jian)并(bing)未針(zhen)對(dui)(dui)(dui)亞洲市(shi)場銷售,在 GameMaker 5.3 版(ban)之后(hou),不能直接在漢字(zi)(zi)及日韓文等 Unicode 編碼文字(zi)(zi)。已有(you)一些國內愛好(hao)者為其(qi)開(kai)發(fa)了實用(yong)的中文顯示(shi)擴(kuo)展插件(jian)(jian),但字(zi)(zi)體華(hua)麗(li)度一般。中國獨(du)立(li)游(you)戲發(fa)展歷(li)程中,對(dui)(dui)(dui)文字(zi)(zi)類游(you)戲開(kai)發(fa)具有(you)相對(dui)(dui)(dui)豐厚經驗積累,因(yin)此若要設計純文字(zi)(zi)游(you)戲,請選(xuan)用(yong)其(qi)他軟(ruan)件(jian)(jian),也是對(dui)(dui)(dui)作品(pin)的尊重。GameMaker 的中文顯示(shi)功能,正確(que)用(yong)途是為動作性游(you)戲顯示(shi)漢字(zi)(zi)進(jin)行(xing)有(you)效補充。
1999年11月15日,Gamemaker 1.1由荷(he)蘭烏得勒(le)支大(da)學計算機(ji)科學家(jia)Mark Overmars在其大(da)學服務(wu)器(qi)發布。
2009年12月22日,Game Maker 8 最終(zhong)版發(fa)布。
2020年8月(yue)20日,YoYoGames正式發布GameMaker:Studio 2.3。