GameMaker

Mark Overmars開發的遊戲軟體

GameMaker是一款擁有圖形界面,可靈活編程,以2D遊戲設計為主的遊戲開發軟體。本軟體由MarkOvermars使 Delphi語言開發,於1999年11月發布了首個公開版本,在4.3版之後轉為部分功能收費軟體。後由英國公司Yoyogames收購,大力推動了歐美甚至是全世界獨立遊戲界的發展。目前最新版本為V8.1。

拖拽按鈕


GameMaker 設計遊戲過程中的一大特徵是,可使用拖拽按鈕 (d&d) 進行遊戲邏輯編排。
舉例:
我們在場景放大了 2 個球。要實現一個功能:2 球相撞時,A 球反彈,B 球爆炸。
具體做法是在 A 球的碰撞事件,拖拽反彈按鈕;
在 B 球的碰撞事件,拖拽改變實例按鈕,讓 B 球變成爆炸動畫;
編輯爆炸動畫對象,在動畫播放結束事件,拖拽銷毀按鈕。如此便完成了功能的製作。
這裡不要求編程基礎,卻需要一個合乎編程過程的明確思路(事實上,可以近似認為是編程思想)。是真正意義上的“想到便能做到”。由此,GameMaker 為那些從未接觸過編程,但熱愛遊戲的玩家,邁入遊戲編程世界,提供了一個特別便捷有力的途徑。

HTML5版本


遊戲製作工具GameMaker的開發商YoYoGames於日前推出了旗下遊戲製作工具GameMaker的HTML5版本。(可在官方網站查看)該版本將支持用戶在任何平台上開發出能在任意HTML兼容瀏覽器上可運行的遊戲。此次新版本被命名為GameMaker:HTML5。
GameMaker:HTML5將會輸出遊戲到與HTML5相兼容的JavaScript,無需額外的插件或者額外的安裝。
這個新版本採用了與前GameMaker版本相同的用戶界面以及拖放功能。此外,新版本中還加入了一些新的功能,包括TeamCollaboration。TeamCollaboration將可以支持多團隊成員同時進行一個項目開發。
YoYoGames的首席執行官SandyDuncan表示:“GameMaker:HTML5是GameMaker系列的一個巨大進步。對於能夠推出這個新版本我們感到非常自豪。任何人使用該製作工具的人都可以實現創建遊戲或網頁內容的夢想。
“隨著HTML5技術的愈發成熟,HTML5已經成為了一個標準。GameMaker:HTML5毫無疑問的將會引領一場比以往任何時候都能夠輕鬆構建和部署更加豐富和複雜內容的革命。”
GameMaker:HTML5已經可以在YoYoGames官方網站上購買。促銷價為99美元。

GML


GameMaker 最大的價值在於其內置的一套編程語言 —— The Game Maker Language (GML)。
GML 高度概括了 2D遊戲設計能用到的共同編程語句,往往濃縮為一個簡短靈活的函數,是“文字版的按鈕”,使設計遊戲更為靈活。其與圖形界面中的按鈕有對應關係。使用按鈕入門遊戲製作的用戶,可以從“我熟悉的按鈕所對應的 GML ”來進階學習。
舉例:
我們要做一個跟蹤導彈。
只需在導彈的循環動作中添加一行 move_towards_point(Enemy.x,Enemy.y,Speed)
這樣便做好了對 Enemy 跟蹤的導彈,跟蹤速度為 Speed。
GML的潛在價值是不可估量的。
在世界遊戲開發領域,我們經常碰到這樣的事情:大家在設計同一種遊戲,卻用的是不同編程語言,怎麼交流呢?如同真實世界中,人們出現語言隔閡,可以用手勢、表情與圖畫表達心意,程序員之間也可以用大家都理解的“偽代碼”交流。
GML 與這種“偽代碼”相似甚至相等。從某種意義上講,用 GML 表述出來的程序邏輯已經簡潔到極端。當從事複雜的遊戲設計時,使用 GML 來描述結構,其明晰程度可謂首屈一指。隨著獨立遊戲製作界整體水平逐步提高,這種潛在價值將愈加明顯。
這些特色,使得一個個 GameMaker 高級用戶,即便是應付複雜遊戲,也能以難以置信的高速製作;即使把遊戲設計作為業餘愛好,也能相對輕鬆步入最高階段 —— 對遊戲引擎結構進行優化調整。這都歸功於 GameMaker 作者出色的設計才能。

使用心得


在可製作遊戲類型方面,GameMaker 是高度自由的,非常接近直接用編程語言可製作的遊戲範圍。諸如“彈幕射擊+ 益智”、“藉機機闖關 + ARPG ” 、“迷宮冒險 +音樂遊戲”之類的混合類型都可以自由製作。
軟體的 3D 相關功能略顯薄弱,僅是一個補充。國外愛好者為其開發了3D方面擴展引擎,已達到一般可用水平。如果開發者需要製作“2D + 3D”效果的遊戲,需要將遊戲整體設計在 3D 模式之下。
GameMaker 內核為 DirectX 6 ,並不高級但久經考驗。網游地推調查顯示,由於國內非發達地區的公用電腦配置普遍不高,因此所開發遊戲能夠廣地地支持國內大部分電腦,免卻後顧之憂。軟體的處理優化方面,可滿足常規製作要求,包括對 2D 遊戲引擎要求最苛刻的彈幕射擊遊戲。
由於此軟體並未針對亞洲市場銷售,在 GameMaker 5.3 版之後,不能直接在漢字及日韓文等 Unicode 編碼文字。已有一些國內愛好者為其開發了實用的中文顯示擴展插件,但字體華麗度一般。中國獨立遊戲發展歷程中,對文字類遊戲開發具有相對豐厚經驗積累,因此若要設計純文字遊戲,請選用其他軟體,也是對作品的尊重。GameMaker 的中文顯示功能,正確用途是為動作性遊戲顯示漢字進行有效補充。
GameMaker 軟體本體以及所開發遊戲,能運行在 PC/MAC 平台,運行遊戲並不需要任何插件。官方曾表示過推出跨平台版本的意向。使用 Game Maker 7/8 編譯出的遊戲,可在最新的操作系統Windows 7 下運行。
GameMaker For Mac、GameMaker HTML5已經面世,GameMaker在未來將支持更多的平台,使用該軟體也將獲得更大的空間。

歷史介紹


GameMaker是一個遊戲開發系統,允許你使用圖形、按鈕和文本創作自己的冒險遊戲。使用這個軟體你不需要專業的編程知識,當然你想創作一個更好的遊戲還是需要懂一點編程語言的。只要拖拽圖形,輸入文字,點擊很少的幾個按鈕,選擇一些控制選項,遊戲很快就可以編寫成功了。

事件驅動


事件類型豐富周期(step)驅動腳本語言gml:
1 兼容c/VB寫法,語法不嚴格,書寫量少
2 可書寫script來擴展功能(每個script是一個源件,相當於一個函數)
3 弱類型語言,而且寫入欄位無需預先聲明
4 基於角地域例地域
5 各方面的函數非常齊全 ide: 1 ide快速找到資源:ide有資源樹,有分類,每一類源件可自由分組, 2 ide快速找到程序:不同的過程(事件/scritp)分開編輯(而不是多個過程在同一個版面)資源樹中細緻到每個script(相當於函數),每個script分開編輯 3 每一種軟體軟體editor 4 既可使可像積木一樣的action寫程序,也可使用gml腳本語言 5 action的文本框中可使用複雜的表達式!表達式中可使用 變數名 運算符 函數 限定名,和gml代碼中類似!

工具特色


可開發開發的大型,不是一般的小玩意。
可調用dll,來擴展功能。
內置網路通訊,建立網路多玩家遊戲(ipx tcpip 消息接發 sharedData..)。
遊戲設計本身的各方面考慮得非常非常周到。
通用型maker,適於多種遊戲類型,不是專為某一種遊戲類型而設設計的
碰撞(相遇)功能(碰撞事件,碰撞檢測,contact,碰撞相關的移動,mask sprite........)。
可以處理多個周期(alarm和timeline)。
Paths路徑。
適於鳥瞰地圖的尋路(轉彎尋路和A*尋路)。
繪圖功能(draw事件 高級draw函數 alpha混合)。
文件讀寫(ini 文本)註冊表讀寫 環境變數 外部程序 接收命令行參數。
其他應有的函數.... object軟體就是角色類,有類似 類繼承 的功能 --------object.parent 開發效率高。
周全、清晰的遊戲設計思想,(對堅持常規語言的程序員來說,了解一下無妨)因為程序設計與遊戲設計是不同的概念還有很多。

高級功能


定製遮罩繪製精靈圖形,可以製作望遠鏡效果/按外形剪切圖形外形顯示。
按遮罩透明度繪製精靈圖形,可以繪製火焰/爆炸圖形特效,去背景操作。
完備的屏幕圖形繪製功能,繪製規則形狀/點/按鈕/生命值條/路徑/箭頭/多種可選顏色/自由合成RGB顏色/截屏/獲取屏幕信息。
自定義各種屬性文字繪製/圖形化字元繪製/縮放/旋轉/漸變填充等。
高級繪製功能:繪製矢量點圖形/帶線框圖形/圓角形/不規則多邊形繪製。
具有特別混合去背景效果繪製,多種可選模式,完成雲彩/爆炸/魔法特效繪製。
獨有的支持元件圖形tiles功能,讓你輕鬆搞定類似采蘑菇型元件拼圖式遊戲。
完全支持屏幕調整/設置顯示器屏幕高/寬高度/顏色值/設置滑鼠屏幕位置。
遊戲窗口操控/類似屏幕調整效果用來調整一個遊戲窗口。
獨特的平面視角控制views,定製窗口大小觀看舞台/類似攝影機跟蹤效果,輕鬆完成第三人稱RPG遊戲。
樣式豐富的舞台轉場效果/各種切換特效隨意選擇。
遊戲屏幕可選定時刷新功能。
遊戲信息顯示功能,顯示遊戲幫助/遊戲指令/顯示圖片/播放遊戲動畫。
自定義/顯示彈出對話框/顯示問題對話框/輸入數值/字元對話框。自定義對話框背景/文字/標題/按鈕及字體/存儲對話框/錯誤對話框。
獨有的高分排行顯示/自動列舉/顯示/輸入名稱功能,輕鬆製作積分型遊戲排行榜。
上百條功能函數完全操控精靈圖像/背景/3d聲音/字體/路徑/物體/腳本/時間線/場景等資源的各種屬性,並且有遊戲中替換資源的功能,比如遊戲中從其它目錄中換取背景圖形/換取聲音/修改窗口大小/修改遊戲幫助等完全更換各種資源。
文本文件讀寫/二進位文件讀寫/文本跳行/文件屬性更改/文件查找/目錄操作等。
完全支持註冊表操作/任意修改各種子鍵/支持ini文件讀寫操作/支持遊戲中調用外在程序。
獨特的五種資料庫類型數據/列表存儲型數據。
Stacks Queues Lists Maps Priority Queues。
完成不同要求向堆餞添加/刪除數據操作,適合RPG遊戲等人物道具操作等。
絢麗的粒子製作功能。
簡單的代碼讓你實現各種專業級的各種粒子效果,內置焰火/煙霧/爆炸/雨雪氣候等多個特效直接調用,並可設置發射器/擋板/反彈板/引力板等完全自定義功能。
功能強大的底層網路編寫功能,讓你從最底層開始自己製作自己的網路交流/信息傳輸機制。
新加的強大的3D製作功能,完成3D-fps的場景/貼圖/霧效,以及自定義顯存繪製surface,完成專業圖像級別得心應手,自定義多邊形/攝影機/燈光............還有更多功能因版面關係不便待舉,讀者可於使用中發現!
加上眾多高手為GM編寫了無數的動態庫連接插件dll,GM可謂此類工具裡面的最優選擇!