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