Game Maker Language
   HOME

TheInfoList



OR:

GameMaker (originally Animo, Game Maker ''(until 2011)'' and GameMaker Studio) is a series of
cross-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
game engine A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term "software engine" used in the software i ...
s created by
Mark Overmars Markus Hendrik Overmars (; born 29 September 1958 in Zeist, Netherlands) is a Dutch computer scientist and teacher of game programming known for his game development application GameMaker. GameMaker lets people create computer games using a dra ...
in 1999 and developed by
YoYo Games YoYo Games is a British software development company based in Dundee, Scotland. From February 2015 to January 2021, the company was owned by Playtech, it was then sold to Opera Software to launch its new gaming division. History YoYo Games wa ...
since 2007. The latest iteration of ''GameMaker'' released in 2022. GameMaker accommodates the creation of
cross-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
and multi-genre
video game Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
s using a custom drag-and-drop
visual programming language In computing, a visual programming language (visual programming system, VPL, or, VPS) is any programming language that lets users create programs by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VP ...
or a
scripting language A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled. A scripting ...
known as Game Maker Language, which can be used to develop more advanced games that could not be created just by using the visual programming features. GameMaker was originally designed to allow novice computer programmers to be able to make computer games without much programming knowledge by use of these actions. Recent versions of software also focus on appealing to advanced developers.


Overview

GameMaker is primarily intended for making games with 2D graphics, allowing
out-of-box An out-of-the-box feature or functionality (also called OOTB or off the shelf), particularly in software, is a native feature or built-in functionality of a product that comes directly from the vendor and works immediately when the product is placed ...
use of
raster graphics upright=1, The Smiley, smiley face in the top left corner is a raster image. When enlarged, individual pixels appear as squares. Enlarging further, each pixel can be analyzed, with their colors constructed through combination of the values for ...
,
vector graphics Vector graphics is a form of computer graphics in which visual images are created directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves and polygons. The associated mechanisms may include vector display a ...
(via
SWF SWF ( ) is an Adobe Flash file format used for multimedia, vector graphics and ActionScript.Open Screen Pr ...
), and 2D skeletal animations (via Esoteric Software's Spine) along with a large standard library for drawing graphics and 2D primitives. While the software allows for limited use of
3D graphics 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for the ...
, this is in form of vertex buffer and
matrix Matrix most commonly refers to: * ''The Matrix'' (franchise), an American media franchise ** ''The Matrix'', a 1999 science-fiction action film ** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchis ...
functions, and as such not intended for novice users. The engine uses
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware a ...
on Windows, UWP, and Xbox One;
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
on macOS and Linux; OpenGL ES on Android and iOS, WebGL or 2d canvas on HTML5, and proprietary APIs on consoles. The engine's primary element is an IDE with built-in editors for raster graphics, level design, scripting, paths, and shaders ( GLSL or HLSL). Additional functionality can be implemented in software's scripting language or platform-specific native extensions. In GameMaker Studio 2, you can choose whether to export the game as an NSIS installer, or a
.zip ZIP is an archive file format that supports lossless data compression. A ZIP file may contain one or more files or directories that may have been compressed. The ZIP file format permits a number of compression algorithms, though DEFLATE is th ...
file containing the game, the data.win file, and any files added under the "Included Files" tab in the editor.


Supported platforms

GameMaker supports building for
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
,
Ubuntu Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: ''Desktop'', ''Server'', and ''Core'' for Internet of things devices and robots. All the ...
, HTML5,
Android Android may refer to: Science and technology * Android (robot), a humanoid robot or synthetic organism designed to imitate a human * Android (operating system), Google's mobile operating system ** Bugdroid, a Google mascot sometimes referred to ...
,
iOS iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
, Amazon Fire TV, Android TV, Raspberry Pi, Microsoft UWP,
PlayStation 4 The PlayStation 4 (PS4) is a home video game console developed by Sony Interactive Entertainment. Announced as the successor to the PlayStation 3 in February 2013, it was launched on November 15, 2013, in North America, November 29, 2013 in ...
,
Nintendo Switch The is a hybrid video game console developed by Nintendo and released worldwide in most regions on March 3, 2017. The console itself is a Tablet computer#Gaming tablet, tablet that can either be docking station, docked for use as a home video ...
and
Xbox One The Xbox One is a home video game console developed by Microsoft. Announced in May 2013, it is the successor to Xbox 360 and the third base console in the Xbox series of video game consoles. It was first released in North America, parts of ...
; support for
PlayStation 5 The PlayStation 5 (PS5) is a home video game console developed by Sony Interactive Entertainment. Announced as the successor to the PlayStation 4 in April 2019, it was launched on November 12, 2020, in Australia, Japan, New Zealand, North Ame ...
and Xbox Series X, S was announced in February 2021 In past, GameMaker supported building for
Windows Phone Windows Phone (WP) is a discontinued family of mobile operating systems developed by Microsoft for smartphones as the replacement successor to Windows Mobile and Zune. Windows Phone featured a new user interface derived from the Metro design la ...
(deprecated in favor of UWP),
Tizen Tizen () is a Linux-based mobile operating system backed by the Linux Foundation, mainly developed and used primarily by Samsung Electronics. The project was originally conceived as an HTML5-based platform for mobile devices to succeed MeeGo. Sa ...
,
PlayStation 3 The PlayStation 3 (PS3) is a home video game console developed by Sony Interactive Entertainment, Sony Computer Entertainment. The successor to the PlayStation 2, it is part of the PlayStation brand of consoles. It was first released on Novemb ...
, and
PlayStation Vita The PlayStation Vita (PS Vita, or Vita) is a handheld video game console developed and marketed by Sony Interactive Entertainment. It was first released in Japan on December 17, 2011, and in North America, Europe, and other international territo ...
(not supported in GMS2 "largely for business reasons").
PlayStation Portable The PlayStation Portable (PSP) is a handheld game console developed and marketed by Sony Computer Entertainment. It was first released in Japan on December 12, 2004, in North America on March 24, 2005, and in PAL regions on September 1, 2005, ...
support was demonstrated in May 2010, but never made publicly available (with only a small selection of titles using it). Between 2007 and 2011, YoYo Games maintained a custom web player plugin for GameMaker games before releasing it as open-source mid-2011 and finally deprecating in favor of HTML5 export. Prior to August 2021, users had to obtain a single-purchase license for one of five different platforms, excluding consoles, depending on the target platform they wanted to publish on (such as desktop or mobile). An annual license was required to publish for consoles, which was also contained in an all-encompassing annual Ultimate license that covered all supported platforms. Yoyo Games announced a change to the licensing approach in August 2021, allowing GameMaker to be used for free to learn, and eliminating the single-purchase options. Instead, it simplified the license scheme to only two tiers, one that supported publishing on all non-console platforms, and a higher tier that added in console platform publishing support at a lower rate than the prior Ultimate license. These changes were aided by the financial investment of Opera into YoYo Games to help reduce costs for GameMaker users.


GameMaker Language

GameMaker Language (GML) is GameMaker's scripting language. It is an imperative,
dynamically typed In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constructs of a computer progra ...
language commonly likened to
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
and C-like languages. The language's default mode of operation on native platforms is via a
stack machine In computer science, computer engineering and programming language implementations, a stack machine is a computer processor or a virtual machine in which the primary interaction is moving short-lived temporary values to and from a push down st ...
; it can also be source-to-source compiled to C++ via
LLVM LLVM is a set of compiler and toolchain technologies that can be used to develop a front end for any programming language and a back end for any instruction set architecture. LLVM is designed around a language-independent intermediate represen ...
for higher performance. On HTML5, GML is source-to-source compiled to JavaScript with optimizations and minification applied in non-debug builds.


GML Visual

GML Visual (originally called "Drag and Drop") is GameMaker's visual scripting tool. GML Visual allows developers to perform common tasks (like instantiating objects, calling functions, or working with files and data structures) without having to write a single line of code. It remains to be largely aimed at novice users. While historically GML Visual remained fairly limited in what can be comfortably done with it, GameMaker Studio 2 had seen an overhaul to the system, allowing more tasks to be done with GML Visual, and having it translate directly to code (with an in-IDE preview for users interested in migrating to code).


History

GameMaker was originally developed by
Mark Overmars Markus Hendrik Overmars (; born 29 September 1958 in Zeist, Netherlands) is a Dutch computer scientist and teacher of game programming known for his game development application GameMaker. GameMaker lets people create computer games using a dra ...
. The program was first released on 15 November 1999 under the name of Animo (at the time, it was just a graphics tool with limited visual scripting capabilities). The first versions of the program were being developed in
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
. Subsequent releases saw the name changed to Game Maker and software moving towards more general-purpose 2D game development. Versions 5.0 and below have been
freeware Freeware is software, most often proprietary, that is distributed at no monetary cost to the end user. There is no agreed-upon set of rights, license, or EULA that defines ''freeware'' unambiguously; every publisher defines its own rules for the f ...
; version 5.1 introduced an optional registration fee; version 5.3 (January 2004) introduced a number of new features for registered users, including particle systems, networking, and possibility to extend games using DLLs. Version 6.0 (October 2004) introduced limited functionality for use of 3D graphics, as well as migrating the runtime's drawing pipeline from VCL to
DirectX Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct", ...
. Growing public interest led Overmars to seek help in expanding the program, which led to partnership with YoYo Games in 2007. From this point onward, development was handled by YoYo Games while Overmars retained a position as one of the company's directors. Version 7.0 was the first to emerge under this partnership. The first macOS compatible version of program was released in 2009, allowing games to be made for two operating systems with minimal changes. Version 8.1 (April 2011) sees the name changed to GameMaker (lacking a space) to avoid any confusion with the 1991 software '' Game-Maker''. This version also had the runtime rewritten in C++ to address performance concerns with previous versions. September 2011 sees the initial release of "GameMaker: HTML5" - a new version of software with capability to export games for web browsers along with desktop. GameMaker: Studio entered public beta in March 2012 and enjoyed a full release in May 2012. Initial supported platforms included Windows, Mac, HTML5, Android, and iOS. Additional platforms and features were introduced over the years following; Late 2012 there was an accident with anti-piracy measures misfiring for some legitimate users. In February 2015, GameMaker was acquired by Playtech together with YoYo Games. Announcement reassured that GameMaker will be further improved and states plans to appeal to broader demographic, including more advanced developers. November 2016 saw the initial release of GameMaker Studio 2 beta, with full release in March 2017. This version spots a completely redesigned IDE (rewritten in C#) and a number of new editor and runtime features. In August 2020, major update 2.3 was released, bringing a host of new features to IDE, runtime, and the scripting language. In January 2021,
YoYo Games YoYo Games is a British software development company based in Dundee, Scotland. From February 2015 to January 2021, the company was owned by Playtech, it was then sold to Opera Software to launch its new gaming division. History YoYo Games wa ...
was sold to
Opera Software Opera is a Norwegian multinational technology company and subsidiary of Kunlun that specializes in web browser development, fintech, as well as services such as Opera News and YoYo Games. The company's total user base, including users of its d ...
for roughly 10 million USD. The development team of GameMaker remains the same, and has not caused any major development changes to GameMaker Studio. In August 2021, YoYo Games announced that they are changing their licenses and will offer a free version of the GameMaker engine. In January 2022, YoYo Games changed GameMaker Studio 2's numbering scheme so the version corresponds to the year and the month it was released ''(For example, 2022.1 for January 2022)''. In April 2022, YoYo Games dropped the ''GameMaker Studio 2'' name in order to match its new version numbering scheme, changing it to simply GameMaker.


Reception

The program currently holds a rating of 8.5/10 on
Mod DB Mod DB is a website that focuses on general video game modding. It was founded in 2002 by Scott "INtense!" Reismanis. As of September 2015, the Mod DB site has received over 604 million views, has more than 12,500 modifications registered, and ...
based on 223 user reviews; many cite its flexibility and ease of use as positives and instability, crashes, project corruption and outdated features as negatives. Douglas Clements of ''Indie Game Magazine'' wrote that the program " mplifies and streamlines game development" and is "easy for beginners yet powerful enough to grow as you develop", though noting that "resource objects have to be gathered if unable to create" and that licensing between
Steam Steam is a substance containing water in the gas phase, and sometimes also an aerosol of liquid water droplets, or air. This may occur due to evaporation or due to boiling, where heat is applied until water reaches the enthalpy of vaporization ...
and the YoYo Games website is "convoluted".


References


External links

* * {{Video game engines Video game IDE Video game engines 1999 software IPhone video game engines Programming tools for Windows