GameMaker 是一款拥有图形界面,可灵活编程,以2D游戏设计为主的游戏开发软件。本软件由 Mark Overmars 使用 Delphi 语言开发,于 1999 年 11 月发布了首个公开版本,在 4.3 版之后转为部分功能收费软件。后由英国公司 Yoyogames 收购,大力推动了欧美甚至是全世界独立游戏界的发展。最新版本为V8.1。
软件介绍
GameMaker是一个游戏开发系统,允许你使用图形、按钮和文本创作自己的冒险游戏。由于其拖拽按钮与GML语言的特征,使用GameMaker开发游戏可以降低对编程知识的门槛要求。只要拖拽图形,输入文字,点击很少的几个按钮,选择一些控制选项,游戏很快就可以编写成功了。
发展历程
1999年11月15日,Gamemaker 1.1由荷兰
乌得勒支大学计算机科学家Mark Overmars在其大学服务器发布。
2009年12月22日,Game Maker 8
最终版发布。
2020年8月20日,YoYoGames正式发布
GameMaker:Studio 2.3。
2023年11月22日,GameMaker 游戏引擎宣布取消订阅制,现在已经对个人开发者完全免费了。
引擎特征
高自由度
在可制作游戏类型方面,GameMaker 是高度自由的,非常接近直接用
编程语言可制作的游戏范围。诸如“
弹幕射击+ 益智 ”、“
街机闯关 +
ARPG ” 、“ 迷宫冒险 +
音乐游戏”之类的混合类型都可以自由制作。
软件的 3D 相关功能略显薄弱,仅是一个补充。国外爱好者为其开发了3D方面扩展引擎,已达到一般可用水平。如果开发者需要制作“
2D + 3D” 效果的游戏,需要将游戏
整体设计在 3D 模式之下。
GameMaker 内核为
DirectX 6 ,并不高级但久经考验。
网游地推调查显示,由于国内非发达地区的公用
电脑配置普遍不高,因此所开发游戏能够广泛的支持国内大部分电脑,免却后顾之忧。软件的处理优化方面,可满足常规制作,包括对 2D
游戏引擎要求最苛刻的
弹幕射击游戏。
GameMaker 软件本体以及所开发游戏,能运行在 PC/MAC 平台,运行游戏并不需要任何插件。官方曾表示过推出跨平台版本的意向。使用 Game Maker 7/8 编译出的游戏,可在最新的操作系统
Windows 7 下运行。
GameMaker For Mac、GameMaker HTML5已经面世,GameMaker在未来将支持更多的平台,使用该软件也将获得更大的空间。
GameMaker 最大的价值在于其内置的一套编程语言 —— The Game Maker Language (GML)。
GML 高度概括了 2D
游戏设计能用到的共通编程语句,往往浓缩为一个简短灵活的函数,是“
文字版的按钮”,使设计游戏更为灵活。其与
图形界面中的按钮有对应关系。使用按钮入门
游戏制作的用户,可以从“我熟悉的按钮所对应的 GML ” 来进阶学习。
举例:
只需在导弹的
循环动作中添加一行 move_towards_point(Enemy.x,Enemy.y,Speed)
这样便做好了对 Enemy 跟踪的导弹,跟踪速度为 Speed。
在世界游戏开发领域,我们经常碰到这样的事情:多种编程语言设计开发同一种游戏的问题。如同真实世界中,人们出现语言隔阂,可以用手势、表情与图画表达心意,程序员之间也可以用大家都理解的“
伪代码”交流。
GML 与这种“伪代码”相似甚至相等。从某种意义上讲,用 GML 表述出来的程序逻辑已经简洁到极端。当从事复杂的
游戏设计时,使用 GML 来描述结构,其明晰程度可谓首屈一指。随着独立游戏制作界整体水平逐步提高,这种潜在价值将愈加明显。
这些特色,使得一个 GameMaker 高级用户,即便是应付复杂游戏,也能以难以置信的高速制作;即使把游戏设计作为业余爱好,也能相对轻松步入最高阶段 —— 对
游戏引擎结构进行优化调整。这都归功于 GameMaker 作者出色的设计才能。
拖拽按钮
GameMaker 设计游戏过程中的一大特征是,可使用拖拽按钮 (d&d) 进行游戏逻辑编排。
举例:
我们在场景放了 2 个球。要实现一个功能:2 球相撞时,A 球反弹,B 球爆炸。
具体做法是在 A 球的碰撞事件,拖拽反弹按钮;
在 B 球的碰撞事件,拖拽改变实例按钮,让 B 球变成爆炸动画;
编辑爆炸动画对象,在动画播放结束事件,拖拽销毁按钮。如此便完成了功能的制作。
这里不要求编程基础,却需要一个合乎编程过程的明确思路(事实上,可以近似认为是编程思想)。是真正意义上的“想到便能做到”。由此,GameMaker 为那些从未接触过编程,但热爱游戏的玩家,迈入
游戏编程世界,提供了一个特别便捷有力的途径。
事件类型丰富周期(step)驱动
脚本语言GML具有如下特征:
1 兼容C/VB写法,语法不严格,书写量少
2 可书写script来扩展功能(每个script是一个源件,相当于一个函数)
4 基于角色实例的域
5 资源树,可分类,每一类源件可自由分组,便于资源
快速查找 6 不同的过程(事件/scritp)分开编辑(而不是多个过程在同一个版面)。
7 资源树中细致到每个script(相当于函数),每个script分开编辑,每一种源件都有editor ,既可使用象积木一样的action写程序,也可使用gml脚本语言,action的
文本框中可使用复杂的
表达式。表达式中可使用 变量名
运算符 函数 限定名,和gml代码中类似。
HTML5版本
该版本将支持用户在任何平台上开发出能在任意
HTML兼容浏览器上可运行的游戏。此次新版本被命名为GameMaker:HTML5。
GameMaker:HTML5将会输出游戏到与HTML5相兼容的
JavaScript,无需额外的插件或者额外的安装。
这个新版本采用了与前GameMaker版本相同的
用户界面以及拖放功能。此外,新版本中还加入了一些新的功能,包括TeamCollaboration。TeamCollaboration将可以支持多团队成员同时进行一个
项目开发。
YoYoGames的
首席执行官SandyDuncan表示:“GameMaker:HTML5是GameMaker系列的一个巨大进步。对于能够推出这个新版本我们感到非常自豪。任何人使用该制作工具的人都可以实现创建游戏或网页内容的梦想。
“随着HTML5技术的愈发成熟,HTML5已经成为了一个标准。GameMaker:HTML5将会引发一场比以往任何时候都能够轻松构建和部署更加丰富和复杂内容的革命。”
工具特色
2 可调用dll,来扩展功能
3 内置网络通讯,建立网络多玩家游戏(ipx tcpip 消息接发 sharedData..)
4 通用型maker,适于多种
游戏类型,不是专为某一种游戏类型而设计
5 碰撞(相遇)功能 (碰撞事件,
碰撞检测,contact,碰撞相关的移动,mask sprite........)
6 可以处理多个周期(alarm、timeline等)
7 Paths路径
9 绘图功能(draw事件 高级draw函数 alpha混合)
10 文件读写(ini 文本)
注册表读写
环境变量 外部程序 接收
命令行参数高级功能
1 定制遮罩绘制精灵图形,可以制作望远镜效果/按外形剪切图形外形显示
2 按遮罩透明度绘制精灵图形,可以绘制火焰/爆炸图形特效,去背景操作
3 完备的屏幕图形绘制功能,绘制规则形状/点/按钮/生命值条/路径/箭头/多种
可选颜色/自由合成
RGB颜色/截屏/获取屏幕信息
4 自定义各种属性文字绘制/图形化字符绘制/缩放/旋转/渐变填充等
5 高级绘制功能:绘制矢量点图形/带线框图形/圆角形/不规则
多边形绘制
具有特别混合去
背景效果绘制,多种可选模式,完成云彩/爆炸/魔法特效绘制
6 独有的支持元件图形tiles功能,让你轻松搞定类似采蘑菇型元件拼图式游戏
7 完全支持屏幕调整/设置显示器屏幕高/宽高度/颜色值/设置鼠标屏幕位置
8 游戏窗口操控/类似屏幕调整效果用来调整一个游戏窗口
9 独特的平面视角控制views,定制窗口大小观看舞台/类似
摄影机跟踪效果,轻松完成第三人称
RPG游戏10 样式丰富的舞台
转场效果/各种切换特效随意选择
11 游戏屏幕可选定时刷新功能
12 游戏
信息显示功能,显示游戏帮助/游戏指令/显示图片/播放
游戏动画13 自定义/显示弹出对话框/显示问题对话框/输入数值/字符对话框。自定义对话框背景/文字/标题/按钮及字体/存储对话框/错误对话框
14 独有的高分排行显示/自动列举/显示/输入名称功能,轻松制作计分型游戏排行榜。
15 上百条功能函数完全操控精灵图像/背景/3d声音/字体/路径/物体/脚本/时间线/场景等资源的各种属性,并且有游戏中替换资源的功能,比如游戏中从其它目录中换取背景图形/换取声音/修改窗口大小/修改游戏帮助等完全更换各种资源。
16
文本文件读写/
二进制文件读写/文本跳行/
文件属性更改/文件查找/目录操作等
17 完全支持注册表操作/任意修改各种子键/支持
ini文件读写操作/支持游戏中调用外在程序
18 独特的五种数据库类型数据/列表存储型数据
Stacks Queues Lists Maps Priority Queues
完成不同要求向堆饯添加/删除
数据操作,适合
RPG游戏等人物道具操作等
19 绚丽的粒子制作功能
简单的代码让你实现各种专业级的各种粒子效果,内置焰火/烟雾/爆炸/雨雪气候等多个特效直接调用,并可设置发射器/挡板/反弹板/引力板等完全自定义功能
20 功能强大底层网络编写功能,让你从最底层开始自己制作自己的网络交流/
信息传输机制
21 新加的强大的3D制作功能,完成3D-fps的场景/贴图/雾效,以及自定义
显存绘制surface,完成专业图像级别得心应手,自定义多边形/摄影机/灯光等。
加上众多高手为GM编写了无数的
动态库连接插件dll,GM可谓此类工具里面的最优选择。
引擎缺陷
由于此软件并未针对
亚洲市场销售,在 GameMaker 5.3 版之后,不能直接在汉字及日韩文等
Unicode 编码文字。已有一些国内爱好者为其开发了实用的中文显示扩展插件,但字体华丽度一般。中国
独立游戏发展历程中,对文字类游戏开发具有相对丰厚经验积累,因此若要设计纯
文字游戏,请选用其他软件,也是对作品的尊重。GameMaker 的中文显示功能,正确用途是为动作性游戏显示汉字进行有效补充。