GameMaker是一個(gè)游戲開發(fā)系統(tǒng),允許你使用圖形、按鈕和文本創(chuàng)作自己的冒險(xiǎn)游戲。由于其拖拽按鈕與GML語言的特征,使用GameMaker開發(fā)游戲可以降低對編程知識的門檻要求。只要拖拽圖形,輸入文字,點(diǎn)擊很少的幾個(gè)按鈕,選擇一些控制選項(xiàng),游戲很快就可以編寫成功了。
高自由度
在可制作游戲類型方面,GameMaker是高度自由的,非常接近直接用編程語言可制作的游戲范圍。諸如“彈幕射擊+益智 ”、“街機(jī)闖關(guān)+ARPG”、“迷宮冒險(xiǎn)+音樂游戲”之類的混合類型都可以自由制作。
軟件的 3D相關(guān)功能略顯薄弱,僅是一個(gè)補(bǔ)充。國外愛好者為其開發(fā)了3D方面擴(kuò)展引擎,已達(dá)到一般可用水平。如果開發(fā)者需要制作“2D+3D”效果的游戲,需要將游戲整體設(shè)計(jì)在3D模式之下。
GameMaker內(nèi)核為 DirectX 6,并不高級但久經(jīng)考驗(yàn)。網(wǎng)游地推調(diào)查顯示,由于國內(nèi)非發(fā)達(dá)地區(qū)的公用電腦配置普遍不高,因此所開發(fā)游戲能夠廣泛的支持國內(nèi)大部分電腦,免卻后顧之憂。軟件的處理優(yōu)化方面,可滿足常規(guī)制作,包括對2D游戲引擎要求最苛刻的彈幕射擊游戲。
跨平臺
GameMaker軟件本體以及所開發(fā)游戲,能運(yùn)行在PC/MAC平臺,運(yùn)行游戲并不需要任何插件。官方曾表示過推出跨平臺版本的意向。使用Game Maker 7/8編譯出的游戲,可在最新的操作系統(tǒng)Windows7下運(yùn)行。
GameMaker For Mac、GameMaker HTML5已經(jīng)面世,GameMaker在未來將支持更多的平臺,使用該軟件也將獲得更大的空間。
內(nèi)置編程語言GML
GameMaker最大的價(jià)值在于其內(nèi)置的一套編程語言——The Game Maker Language (GML)。
GML高度概括了2D游戲設(shè)計(jì)能用到的共通編程語句,往往濃縮為一個(gè)簡短靈活的函數(shù),是“文字版的按鈕”,使設(shè)計(jì)游戲更為靈活。其與圖形界面中的按鈕有對應(yīng)關(guān)系。使用按鈕入門游戲制作的用戶,可以從“我熟悉的按鈕所對應(yīng)的GML”來進(jìn)階學(xué)習(xí)。
舉例:
我們要做一個(gè)跟蹤導(dǎo)彈。
只需在導(dǎo)彈的循環(huán)動(dòng)作中添加一行move_towards_point(Enemy.x,Enemy.y,Speed)
這樣便做好了對Enemy跟蹤的導(dǎo)彈,跟蹤速度為Speed。
GML的潛在價(jià)值是不可估量的。
在世界游戲開發(fā)領(lǐng)域,我們經(jīng)常碰到這樣的事情:多種編程語言設(shè)計(jì)開發(fā)同一種游戲的問題。如同真實(shí)世界中,人們出現(xiàn)語言隔閡,可以用手勢、表情與圖畫表達(dá)心意,程序員之間也可以用大家都理解的“偽代碼”交流。
GML與這種“偽代碼”相似甚至相等。從某種意義上講,用GML表述出來的程序邏輯已經(jīng)簡潔到極端。當(dāng)從事復(fù)雜的游戲設(shè)計(jì)時(shí),使用GML來描述結(jié)構(gòu),其明晰程度可謂首屈一指。隨著獨(dú)立游戲制作界整體水平逐步提高,這種潛在價(jià)值將愈加明顯。
這些特色,使得一個(gè)GameMaker高級用戶,即便是應(yīng)付復(fù)雜游戲,也能以難以置信的高速制作;即使把游戲設(shè)計(jì)作為業(yè)余愛好,也能相對輕松步入最高階——對游戲引擎結(jié)構(gòu)進(jìn)行優(yōu)化調(diào)整。這都?xì)w功于GameMaker作者出色的設(shè)計(jì)才能。
拖拽按鈕
GameMaker設(shè)計(jì)游戲過程中的一大特征是,可使用拖拽按鈕(d&d)進(jìn)行游戲邏輯編排。
舉例:
我們在場景放了2個(gè)球。要實(shí)現(xiàn)一個(gè)功能:2球相撞時(shí),A球反彈,B球爆炸。
具體做法是在A球的碰撞事件,拖拽反彈按鈕;
在B球的碰撞事件,拖拽改變實(shí)例按鈕,讓B球變成爆炸動(dòng)畫;
編輯爆炸動(dòng)畫對象,在動(dòng)畫播放結(jié)束事件,拖拽銷毀按鈕。如此便完成了功能的制作。
這里不要求編程基礎(chǔ),卻需要一個(gè)合乎編程過程的明確思路(事實(shí)上,可以近似認(rèn)為是編程思想)。是真正意義上的“想到便能做到”。由此,GameMaker為那些從未接觸過編程,但熱愛游戲的玩家,邁入游戲編程世界,提供了一個(gè)特別便捷有力的途徑。
事件驅(qū)動(dòng)
事件類型豐富周期(step)驅(qū)動(dòng)腳本語言GML具有如下特征:
1兼容C/VB寫法,語法不嚴(yán)格,書寫量少
2可書寫script來擴(kuò)展功能(每個(gè)script是一個(gè)源件,相當(dāng)于一個(gè)函數(shù))
3弱類型語言,而且寫入字段無需預(yù)先聲明
4基于角色實(shí)例的域
5資源樹,可分類,每一類源件可自由分組,便于資源快速查找
6不同的過程(事件/scritp)分開編輯(而不是多個(gè)過程在同一個(gè)版面)。
7資源樹中細(xì)致到每個(gè)script(相當(dāng)于函數(shù)),每個(gè)script分開編輯,每一種源件都有editor,既可使用象積木一樣的action寫程序,也可使用gml腳本語言,action的文本框中可使用復(fù)雜的表達(dá)式。表達(dá)式中可使用變量名運(yùn)算符函數(shù)限定名,和gml代碼中類似。
1 可開發(fā)大型游戲
2 可調(diào)用dll,來擴(kuò)展功能
3 內(nèi)置網(wǎng)絡(luò)通訊,建立網(wǎng)絡(luò)多玩家游戲(ipx tcpip 消息接發(fā) sharedData..)
4 通用型maker,適于多種游戲類型,不是專為某一種游戲類型而設(shè)計(jì)
5 碰撞(相遇)功能 (碰撞事件,碰撞檢測,contact,碰撞相關(guān)的移動(dòng),mask sprite........)
6 可以處理多個(gè)周期(alarm、timeline等)
7 Paths路徑
8 適于鳥瞰地圖的尋路(轉(zhuǎn)彎尋路、A*尋路等)
9 繪圖功能(draw事件 高級draw函數(shù) alpha混合)
10 文件讀寫(ini 文本) 注冊表讀寫 環(huán)境變量 外部程序 接收命令行參數(shù)
11 內(nèi)置函數(shù)豐富,開發(fā)效率高
1 定制遮罩繪制精靈圖形,可以制作望遠(yuǎn)鏡效果/按外形剪切圖形外形顯示
2 按遮罩透明度繪制精靈圖形,可以繪制火焰/爆炸圖形特效,去背景操作
3 完備的屏幕圖形繪制功能,繪制規(guī)則形狀/點(diǎn)/按鈕/生命值條/路徑/箭頭/多種可選顏色/自由合成RGB顏色/截屏/獲取屏幕信息
4 自定義各種屬性文字繪制/圖形化字符繪制/縮放/旋轉(zhuǎn)/漸變填充等
5 高級繪制功能:繪制矢量點(diǎn)圖形/帶線框圖形/圓角形/不規(guī)則多邊形繪制
具有特別混合去背景效果繪制,多種可選模式,完成云彩/爆炸/魔法特效繪制
6 獨(dú)有的支持元件圖形tiles功能,讓你輕松搞定類似采蘑菇型元件拼圖式游戲
7 完全支持屏幕調(diào)整/設(shè)置顯示器屏幕高/寬高度/顏色值/設(shè)置鼠標(biāo)屏幕位置
8 游戲窗口操控/類似屏幕調(diào)整效果用來調(diào)整一個(gè)游戲窗口
9 獨(dú)特的平面視角控制views,定制窗口大小觀看舞臺/類似攝影機(jī)跟蹤效果,輕松完成第三人稱RPG游戲
10 樣式豐富的舞臺轉(zhuǎn)場效果/各種切換特效隨意選擇
11 游戲屏幕可選定時(shí)刷新功能
12 游戲信息顯示功能,顯示游戲幫助/游戲指令/顯示圖片/播放游戲動(dòng)畫
13 自定義/顯示彈出對話框/顯示問題對話框/輸入數(shù)值/字符對話框。自定義對話框背景/文字/標(biāo)題/按鈕及字體/存儲對話框/錯(cuò)誤對話框
14 獨(dú)有的高分排行顯示/自動(dòng)列舉/顯示/輸入名稱功能,輕松制作計(jì)分型游戲排行榜。
15 上百條功能函數(shù)完全操控精靈圖像/背景/3d聲音/字體/路徑/物體/腳本/時(shí)間線/場景等資源的各種屬性,并且有游戲中替換資源的功能,比如游戲中從其它目錄中換取背景圖形/換取聲音/修改窗口大小/修改游戲幫助等完全更換各種資源。
16 文本文件讀寫/二進(jìn)制文件讀寫/文本跳行/文件屬性更改/文件查找/目錄操作等
17 完全支持注冊表操作/任意修改各種子鍵/支持ini文件讀寫操作/支持游戲中調(diào)用外在程序
18 獨(dú)特的五種數(shù)據(jù)庫類型數(shù)據(jù)/列表存儲型數(shù)據(jù)
Stacks Queues Lists Maps Priority Queues
完成不同要求向堆餞添加/刪除數(shù)據(jù)操作,適合RPG游戲等人物道具操作等
19 絢麗的粒子制作功能
簡單的代碼讓你實(shí)現(xiàn)各種專業(yè)級的各種粒子效果,內(nèi)置焰火/煙霧/爆炸/雨雪氣候等多個(gè)特效直接調(diào)用,并可設(shè)置發(fā)射器/擋板/反彈板/引力板等完全自定義功能
20 功能強(qiáng)大底層網(wǎng)絡(luò)編寫功能,讓你從最底層開始自己制作自己的網(wǎng)絡(luò)交流/信息傳輸機(jī)制
21 新加的強(qiáng)大的3D制作功能,完成3D-fps的場景/貼圖/霧效,以及自定義顯存繪制surface,完成專業(yè)圖像級別得心應(yīng)手,自定義多邊形/攝影機(jī)/燈光等。
加上眾多高手為GM編寫了無數(shù)的動(dòng)態(tài)庫連接插件dll,GM可謂此類工具里面的最優(yōu)選擇。
由于此軟件并未針對亞洲市場銷售,在 GameMaker 5.3 版之后,不能直接在漢字及日韓文等 Unicode 編碼文字。已有一些國內(nèi)愛好者為其開發(fā)了實(shí)用的中文顯示擴(kuò)展插件,但字體華麗度一般。中國獨(dú)立游戲發(fā)展歷程中,對文字類游戲開發(fā)具有相對豐厚經(jīng)驗(yàn)積累,因此若要設(shè)計(jì)純文字游戲,請選用其他軟件,也是對作品的尊重。GameMaker 的中文顯示功能,正確用途是為動(dòng)作性游戲顯示漢字進(jìn)行有效補(bǔ)充。
1999年11月15日,Gamemaker 1.1由荷蘭烏得勒支大學(xué)計(jì)算機(jī)科學(xué)家Mark Overmars在其大學(xué)服務(wù)器發(fā)布。
2009年12月22日,Game Maker 8 最終版發(fā)布。
2020年8月20日,YoYoGames正式發(fā)布GameMaker:Studio 2.3。