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