Page semi-protected

GameMaker: Studio

From Wikipedia, the free encyclopedia
  (Redirected from Game Maker Language)
Jump to: navigation, search
For other uses, see Gamemaker (disambiguation).
GameMaker
The game maker logo.png
Original author(s) Mark Overmars
Developer(s) YoYo Games
Initial release 15 November 1999
Stable release v1.4.1474
Preview release v1.99.299 Early Access Version
Written in Delphi For GM Studio IDE, runners for games are built with appropriate languages for each target device
Operating system IDE for Microsoft Windows, Mac OS X (only for GameMaker for Mac)
Available in English
Type Game creation system
License Proprietary
Website GameMaker: Studio

GameMaker: Studio (originally named Animo and later Game Maker) is a proprietary game creation system created by Mark Overmars in the Delphi programming language.[1]

GameMaker accommodates the creation of cross-platform and multi-genre video games using drag and drop action sequences or a sandboxed scripting language known as Game Maker Language, which can be used to develop more advanced games that could not be created just by using the drag and drop features. GameMaker was designed to allow novice computer programmers to be able to make computer games without much programming knowledge by use of these actions.

Development history

Originally titled Animo the program was first released in 1999,[2] and began as a program for creating 2D animations. The name was later changed to GameMaker, lacking a space to avoid intellectual property conflicts with the 1991 software Game-Maker.[3] While Animo had a built-in scripting language, which was not as complex as it is in more recent versions, it and the next few versions of GameMaker did not have DirectX support, a separate runner to run games independently from the IDE, syntax highlighting, or the ability to compile games into executable files.[2]

Design and uses

System requirements
Minimum Recommended
Windows
Operating system Windows XP Windows 7/8[4]
Memory 512MB 4096MB[5]
Hard drive 200MB 1000MB
Graphics hardware DirectX 9.0c compliant card with 128 MB RAM
Display Screen resolution of 1024×600
Network Broadband internet connection required at all times

GameMaker is designed to allow its users to easily develop video games without having to learn a complex programming language such as C++ or Java through its proprietary drag and drop system, in the hopes of users unfamiliar with traditional programming creating games by visually organizing icons on the screen.[6][7] These icons represent actions that would occur in a game, such as movement, basic drawing, and simple control structures. It is also possible to create custom "action libraries" using the Library Maker.

Rendering

GameMaker primarily runs games that use 2D graphics, allowing the use of limited 3D graphics.[8] The program has no way of choosing which graphics API the runner uses for rendering on a given platform, always using Direct3D since 6.0 on Windows, and OpenGL since 7.0 on non-Windows based platforms. The program only supports the built in custom "d3d" mesh format which is not compatible with the DirectX mesh format and a converter is necessary to use more popular or standard 3D formats such as .3ds, and .obj for use in a 3D project.[9] It also supports the ability to create particle effects such as rain, snow and clouds, however not natively in 3D except through use of Dynamic Link Library.

The latest iteration of the software uses a new extension mechanism which is incompatible with extensions written for older versions of the program, especially those built on top of another single extension known as "GM API". Versions 8.1 and lower had a variety of DLLs and wrappers to existing programming API's and libraries that extended GameMaker with things such as socket support and MySQL connectivity.

Scripting

Game Maker Language (GML) is the primary scripting language that is interpreted similarly to Java's Just-In-Time compilation used in GameMaker, which is usually significantly slower than compiled languages such as C++ or Delphi.[10] It is used to further enhance and control the design of a game through more conventional programming, as opposed to the drag and drop system. The syntax of GML borrows aspects from other languages such as C, C++ and JavaScript, giving it some syntax features of object-oriented programming but is not fully featured in that custom structs and classes are not possible. GML is an unusual language in that it only has two types, binary-safe (prior to Game Maker 8.1) strings and double-precision floating-point ("real") values, with complex data structures having to be referenced using integral float-point handles.

Originally, GML was designed to supplement the drag and drop interface, allowing advanced users to add greater functionality to their games or programs. Newer versions of GameMaker actually use GML as their base, with all drag and drop functions as pre-written GML scripts.[citation needed]

With the Standard Windows Export, when GameMaker creates a stand-alone game, GameMaker attaches a runner and all GML scripts (including drag and drop functions) are packed into a data file. Every time the generated program is executed, an included interpreter carries out the commands indicated by the GML code.[citation needed]

Version 1.2 introduced LLVM or, in GameMaker's context, the GameMaker Language Compiler (GMLC). The GMLC first turns GML code into C++ code, which is then compiled via Clang. This boosts the performance for logic-heavy games but does little for graphic-heavy games.[citation needed]

Engine compatibility

Games built with Game Maker 6 became incompatible with Windows Vista and later, while Game Maker 5 and Game Maker 7 games are compatible. While YoYo Games recommends rebuilding the games with a recent Game Maker engine, a software patch to fix the executables was released.[11] Recently support for version 8.1 and lower have been deprecated, GameMaker is no longer backwards compatible.[12] Many extensions of GameMaker no longer work now as well as many of the major and popular extensions were built upon a single extension themselves which was called "GMAPI" and is no longer compatible.

Export modules

GameMaker accommodates redistribution on multiple platforms. The basic "free" version of GameMaker formerly limited you to a certain number of resources, but as of the latest version of the rebranded Studio there is no limit except that export modules other than Windows must be purchased separately as well as more advanced features like multiple configurations and source control integration.[13] The program currently builds for 9 platforms: Windows, Windows 8, Mac OS X, Ubuntu, HTML5, Android, iOS, Windows Phone 8 and Tizen.[14] The latest version has recently added Xbox One and Playstation export modules.[15]

Controversy

Reverse Engineering

Several versions of the software made reverse engineering easy by packing resource data to the end of the executable with no encryption or internal obfuscation.[16] A decompiler was released specifically for decompiling games distributed with the early iOS runner.[17] Obfuscation programs were later developed and released to deter hackers from extracting the game resources from executable files built with the program.[18] YoYoGames later issued a formal cease and desist to the hackers warning against further infringement of their intellectual property posing as a financial threat to the company.[19] The latest version of the software, GM: Studio, makes it harder to decompile games given its compiled nature and it has built in obfuscation.[20]

Digital rights management

Screenshot showing the DRM image

In late 2012/early 2013, YoYo Games released a version of their new Studio IDE for cross-platform development that would import games and destroy all of the image type resources for some legitimate purchasers of the software by superimposing a pirate symbol on top of the image.[21] This was due to a fault in their digital rights management software implementation which they use as a method of combating pirated copies of the software.[22][23] YoYoGames publicly stated they would remove the DRM at a later point in time,[24] but that other less-invasive DRM techniques would remain.[25]

Reception

The program currently holds a rating of 8.4/10 on Moddb based on 196 user reviews many citing its flexibility and ease of use as positives and instability, crashes, project corruption and outdated features as negatives.[26]

See also

References

  1. ^ "Game Maker Studio engine". Desura. Retrieved 29 May 2013. 
  2. ^ a b Unknown. "Old versions of "Game Maker"". Retrieved 16 January 2014. 
  3. ^ Eric-Jon Rössel, Tairne (April 30, 2010). "The Original Game-Maker". Archived from the original on 1 March 2014. Retrieved 15 January 2015. 
  4. ^ "Installation and System Requirements". YoYo Games. Retrieved 15 January 2015. 
  5. ^ "GameMaker: Studio". Valve Corporation. Retrieved 15 January 2015. 
  6. ^ "Drag-and-drop Icons to GameMaker Language Reference". Retrieved 15 January 2015. 
  7. ^ "No coding required: How new designers are using GameMaker to create indie smash hits". PC Gamer. Retrieved 15 January 2015. 
  8. ^ Ford, Jerry (2010). Getting Started with Game Maker. Course Technology, a part of Cengage Learning. ISBN 9781133168966. Archived from the original on 24 January 2014. Retrieved 24 January 2014. 
  9. ^ ".D3D File Extension". FileInfo.com. 20 December 2010. Retrieved 15 January 2015. 
  10. ^ Ford, Jerry (2009). Getting Started with Game Maker. Cengage Learning. p. 333. ISBN 1133168965. Retrieved 14 January 2014. 
  11. ^ Making_games_work_under_Windows_Vista on yoyogames.com
  12. ^ "Porting GM7 And GM8 Games To GameMaker:Studio". YoYo Games. 19 July 2013. Retrieved 15 January 2015. 
  13. ^ Evan Lewis (6 November 2014). "Learn how to make your own video games with GameMaker: Studio at RetroGameCon". Syracuse Media Group. Retrieved 2 December 2014. 
  14. ^ "This will let you say 'Happy Birthday,' 'Get Well Soon' with a video game". Alexa Ray Corriea. 22 January 2014. Retrieved 23 January 2014. 
  15. ^ Danny Cowan (1 October 2014). "GameMaker Studio gets Xbox One, Windows export this year". Joystiq. Retrieved 2 December 2014. 
  16. ^ "GameMaker 8.1 Decompiler Released". Game Jolt. 6 June 2011. Retrieved 14 January 2014. 
  17. ^ "Game Maker iOS Decompiler Released". Game Jolt. 19 December 2010. Retrieved 14 January 2014. 
  18. ^ "Game Maker Obfuscator – Now Supports Sprite Obfuscation". Game Jolt. 2 October 2011. Retrieved 14 January 2014. 
  19. ^ "Serious Legal Issues with "Decompilers"". YoYo Games. 5 January 2011. Retrieved 15 January 2015. 
  20. ^ Elliott, Jason (22 April 2013). HTML5 Game Development with GameMaker. Packt Publishing Ltd. ISBN 1849694117. Retrieved 29 December 2014. 
  21. ^ "Game Maker Studio DRM Misfires; Permanently Replaces Created Game Resources With Pirate Symbols". Techdirt. 28 November 2012. Retrieved 29 January 2014. 
  22. ^ 27 November 2012 by David Hing (27 November 2012). "Game Maker accidentally brands customers as pirates | bit-gamer.net". Bit-tech.net. Retrieved 29 January 2014. 
  23. ^ Chapple, Craig (29 November 2012). "Gamemaker anti-piracy bug destroys developer assets | Latest news from the game development industry | Develop". Develop-online.net. Retrieved 29 January 2014. 
  24. ^ "GameMaker Studio DRM Bug Trashes Legit Resources". Defy Media, LLC. 28 November 2012. Retrieved 2 December 2014. 
  25. ^ "Game Maker DRM Permanently Vandalizing Paying Users' Games". Entertainment Consumers Association. 28 November 2012. Retrieved 2 December 2014. 
  26. ^ "GameMaker: Studio Reviews". DBolical Pty Ltd. Retrieved 15 January 2015. 

External links