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