Original author(s) | Mark Overmars |
---|---|
Developer(s) | YoYo Games |
Initial release | 15 November 1999 |
Stable release | v2024.11.0 / 17 December 2024 |
Written in | |
Operating system | |
Platform | |
Available in | |
License | Proprietary |
Website | gamemaker |
GameMaker (originally Animo, Game Maker(until 2011) and GameMaker Studio) is a series of cross-platform game engines created by Mark Overmars in 1999 and developed by YoYo Games since 2007. The latest iteration of GameMaker was released in 2022.
GameMaker accommodates the creation of cross-platform and multi-genre video games using a custom drag-and-drop visual programming language or a scripting language known as Game Maker Language (GML), 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. [1]
GameMaker is primarily intended for making games with 2D graphics, allowing out-of-box use of raster graphics, vector graphics (via SWF), [2] and 2D skeletal animations (via Esoteric Software's Spine) [3] [4] along with a large standard library for drawing graphics and 2D primitives. [5] While the software allows for limited use of 3D graphics, this is in form of vertex buffer [6] and matrix functions, and as such not intended for novice users.
The engine uses Direct3D on Windows, UWP, and Xbox One; OpenGL 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). [7] Additional functionality can be implemented in software's scripting language or platform-specific native extensions. [8] In GameMaker Studio 2, users can choose whether to export the game as an NSIS installer, or a .zip file containing the game, the data.win file, and any files added under the "Included Files" tab in the editor. [9]
GameMaker supports building for Microsoft Windows, macOS, Ubuntu, HTML5, Android, iOS, Amazon Fire TV, Android TV, Raspberry Pi, [10] Microsoft UWP, PlayStation 4, Nintendo Switch [11] and Xbox One; [12] [13] [14] support for PlayStation 5 and Xbox Series X|S was announced in February 2021 [15] though an "Enterprise" license is needed to build games for these consoles. [16]
In past, GameMaker supported building for Windows Phone (deprecated in favor of UWP), Tizen, PlayStation 3, and PlayStation Vita (not supported in GMS2 "largely for business reasons"). [17]
PlayStation Portable support was demonstrated in May 2010, [18] but never made publicly available (with only a small selection of titles using it). [19]
Between 2007 and 2011, YoYo Games maintained a custom web player plugin for GameMaker games [20] before releasing it as open-source mid-2011 [21] 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. [22] On 22 November 2023, GameMaker announced that it would be "free for non-commercial use on all platforms (excluding console)," and the current subscription system would be replaced by a one-time license. [23]
GameMaker Language (GML) is GameMaker's scripting language. It is an imperative, dynamically typed language commonly likened to JavaScript and C-like languages. [24] [25] [26]
The language's default mode of operation on native platforms is via a stack machine; it can also be source-to-source compiled to C++ via LLVM for higher performance. [27] On HTML5, GML is source-to-source compiled to JavaScript with optimizations and minification applied in non-debug builds. [28]
GML Visual (originally called "Drag and Drop" [29] ) 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. [30]
While historically GML Visual remained fairly limited in what can be comfortably done with it, [31] [32] 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 [33] (with an in-IDE preview for users interested in migrating to code).
GameMaker was originally developed by Mark Overmars. 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). [34] The first versions of the program were being developed in Delphi. [35]
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; 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. [36]
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. [37]
Growing public interest led Overmars to seek help in expanding the program, which led to partnership with YoYo Games in 2007. [38] From this point onward, development was handled by YoYo Games while Overmars retained a position as one of the company's directors. [39] Version 7.0 was the first to emerge under this partnership.
The first macOS compatible version of program was released in 2009, [40] 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 [41] with the 1991 software Game-Maker . This version also had the runtime rewritten in C++ to address performance concerns [42] [ failed verification ][ contradictory ] 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. [43]
GameMaker: Studio entered public beta in March 2012 [43] and enjoyed a full release in May 2012. [44] Initial supported platforms included Windows, Mac, HTML5, Android, and iOS. Additional platforms and features were introduced over the years following; [45] [46] [47] [48] Late 2012 there was an accident with anti-piracy measures misfiring for some legitimate users. [49]
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. [1] [50]
November 2016 saw the initial release of GameMaker Studio 2 beta, [51] with full release in March 2017. [52] This version spots a completely redesigned IDE (rewritten in C# [53] ) 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. [54]
In January 2021, YoYo Games was sold to Opera Software for roughly 10 million USD. The development team of GameMaker remains the same, and has not caused any major development changes to GameMaker Studio. [55] [56] [57]
In August 2021, YoYo Games announced that they are changing their licenses and will offer a free version of the GameMaker engine. [58]
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). [59]
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. [60]
The program currently holds a rating of 8.5/10 on Mod DB 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. [61] Douglas Clements of Indie Game Magazine wrote that the program "[s]implifies 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 and the YoYo Games website is "convoluted". [62]
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", such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, and so forth. The name DirectX was coined as a shorthand term for all of these APIs and soon became the name of the collection. When Microsoft later set out to develop a gaming console, the X was used as the basis of the name Xbox to indicate that the console was based on DirectX technology. The X initial has been carried forward in the naming of APIs designed for the Xbox such as XInput and the Cross-platform Audio Creation Tool (XACT), while the DirectX pattern has been continued for Windows APIs such as Direct2D and DirectWrite.
Adobe Flash is a discontinued multimedia software platform used for production of animations, rich internet applications, desktop applications, mobile apps, mobile games, and embedded web browser video players.
In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.
A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term "software engine" used more widely in the software industry.
RenderWare is a video game engine developed by British game developer Criterion Software.
Game programming, a subset of game development, is the software development of video games. Game programming requires substantial skill in software engineering and computer programming in a given language, as well as specialization in one or more of the following areas: simulation, computer graphics, artificial intelligence, physics, audio programming, and input. For multiplayer games, knowledge of network programming is required. In some genres, e.g. fighting games, advanced network programming is often demanded, as the netcode and its properties are considered by players and critics to be some of the most important metrics of the game's quality. For massively multiplayer online games (MMOGs), even further knowledge of database programming and advanced networking programming are required. Though often engaged in by professional game programmers, there is a thriving scene of independent developers who lack a relationship with a publishing company.
Kodi is a free and open-source media player and technology convergence software application developed by the Kodi Foundation, a non-profit technology consortium. Kodi is available for multiple operating systems and hardware platforms, with a software 10-foot user interface for use with televisions and remote controls. It allows users to play and view most streaming media, such as videos, music, podcasts, and videos from the Internet, as well as all common digital media files from local and network storage media, or TV gateway viewer.
Homebrew, when applied to video games, refers to software produced by hobbyists for proprietary video game consoles which are not intended to be user-programmable. The official documentation is often only available to licensed developers, and these systems may use storage formats that make distribution difficult, such as ROM cartridges or encrypted CD-ROMs. Many consoles have hardware restrictions to prevent unauthorized development.
PhysX is an open-source realtime physics engine middleware SDK developed by Nvidia as part of the Nvidia GameWorks software suite.
Unity is a cross-platform game engine developed by Unity Technologies, first announced and released in June 2005 at Apple Worldwide Developers Conference as a Mac OS X game engine. The engine has since been gradually extended to support a variety of desktop, mobile, console, augmented reality, and virtual reality platforms. It is particularly popular for iOS and Android mobile game development, is considered easy to use for beginner developers, and is popular for indie game development.
RPG Maker, known in Japan as RPG Tsukūru, is a series of programs for the development of role-playing video games (RPGs) with story-driven elements, created by the Japanese group ASCII, succeeded by Enterbrain, and then by Gotcha Gotcha Games. The Japanese name, Tsukūru, is a pun mixing the Japanese word tsukuru (作る), which means "make" or "create", with tsūru (ツール), the Japanese transliteration of the English word "tool".
A video game console emulator is a type of emulator that allows a computing device to emulate a video game console's hardware and play its games on the emulating platform. More often than not, emulators carry additional features that surpass limitations of the original hardware, such as broader controller compatibility, timescale control, easier access to memory modifications, and unlocking of gameplay features. Emulators are also a useful tool in the development process of homebrew demos and the creation of new games for older, discontinued, or rare consoles.
Construct is an HTML5-based 2D video game engine developed by Scirra Ltd. It is aimed primarily at non-programmers, allowing quick creation of games through visual programming. First released as a GPL-licensed DirectX 9 game engine for Microsoft Windows with Python programming on October 27, 2007, it later became proprietary software with Construct 2, as well as switching its API technology from DirectX to NW.js and HTML5, as well as removing Python and adding JavaScript support and its plugin SDK in 2012, and eventually switched to a subscription-based model as a web app.
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 console in the Xbox series. It was first released in North America, parts of Europe, Australia, and South America in November 2013 and in Japan, China, and other European countries in September 2014. It is the first Xbox game console to be released in China, specifically in the Shanghai Free-Trade Zone. Microsoft marketed the device as an "all-in-one entertainment system", hence the name "Xbox One". An eighth-generation console, it mainly competed against Sony's PlayStation 4 and Nintendo's Wii U and later the Nintendo Switch.
Godot is a cross-platform, free and open-source game engine released under the permissive MIT license. It was initially developed in Buenos Aires by Argentine software developers Juan Linietsky and Ariel Manzur for several companies in Latin America prior to its public release in 2014. The development environment runs on many platforms, and can export to several more. It is designed to create both 2D and 3D games targeting PC, mobile, web, and virtual, augmented, and mixed reality platforms and can also be used to develop non-game software, including editors.
OpenFL is a free and open-source software framework and platform for the creation of multi-platform applications and video games. OpenFL applications can be written in Haxe, JavaScript, or TypeScript, and may be published as standalone applications for several targets including iOS, Android, HTML5, Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi, and Node.js.
Universal Windows Platform (UWP) is a computing platform created by Microsoft and introduced in Windows 10. The purpose of this platform is to help develop universal apps that run on Windows 10, Windows 10 Mobile (discontinued), Windows 11, Xbox One, Xbox Series X/S, and HoloLens without the need to be rewritten for each. It supports Windows app development using C++, C#, VB.NET, and XAML. The API is implemented in C++, and supported in C++, VB.NET, C#, F# and JavaScript. Designed as an extension to the Windows Runtime (WinRT) platform introduced in Windows Server 2012 and Windows 8, UWP allows developers to create apps that will potentially run on multiple types of devices.
Stride is a free and open-source 2D and 3D cross-platform game engine originally developed by Silicon Studio. It can be used to create video games for PC, mobile devices and virtual reality.
Emby is a media server designed to organize, play, and stream audio and video to a variety of devices. Emby's source code was mostly open with some closed-source components as of August 2017, releases of the software published via the Emby website are however proprietary and cannot be replicated from source due to the build scripts also being proprietary. As of version 3.5.3 Emby has been relicensed and is now closed-source, while open source components will be moved to plugins. Due to this, a free open source fork of Emby was created called Jellyfin. Emby uses a client–server model.
Leadwerks is a cross-platform game engine developed by Leadwerks Software that focuses on ease of use and learning. The software supports Windows and Linux, with OS X support in development. Leadwerks is currently on its fourth major version and is sold through the Steam digital distribution platform.