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.2.1264
Preview release v1.99.65 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 video games using drag and drop or a 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 IP 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 128MB graphics
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] 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.[7] 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. 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. 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.

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.

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.[8][9]

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, also a patch software to fix the executables was released.[10] Recently support for version 8.1 and lower have been deprecated, GameMaker is no longer backwards compatible.[11] 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. There is a "free" version of GameMaker: Studio which limits the user from using more than 10 types of any resource, and excludes features from the other versions, which must be paid for. The program currently builds for 9 platforms: Windows, Windows 8, Mac OS X, Ubuntu, HTML5, Android, iOS, Windows Phone 8 and Tizen.[12]

Controversy

Reverse engineering

Game Maker 7 (Mac) DRM

Multiple decompilers for various Game Maker versions have been written which can decompile games from the runner and obtain the editable files used to produce the executable.[13][14] One such decompiler allowed users to publish apps to iOS without consent of the company, prompting the company to file a lawsuit on 5 January 2011 posting their interpretation of a formal cease and desist letter to their blog as they were planning their own iOS exports, which posed a financial threat.[15][16] Various methods of protecting games against decompilation were developed such as obfuscation processes.[17]

Logo controversy

The controversial logo.

In 2009, YoYo Games conducted a competition for a new official Game Maker logo, encouraging members of the Game Maker Community to submit their own designs; the winner was Albert Zak. The decision received substantial criticism from the product's userbase, becoming in a sense an internet meme. After the negative response, CEO of YoYo Games Sandy Duncan blogged and posted on his Twitter feed making it clear that he was reconsidering the logo's design.

In response to the criticism, a topic was posted on the Game Maker Community where users could contribute a new logo,[18] and on 9 December, a new logo was chosen.

Digital rights management

Screenshot showing the DRM misfiring on a paid customer.

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 inserting a symbol of a pirate on top of the image.[19][20] 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.[21][22] The issue was addressed and fixed a few weeks later by removing the DRM.[citation needed] There has also been controversy regarding the Steam method of DRM in which several consumers have not been able to get the program working.[citation needed] The DRM misfire was originally introduced by Mike Dailly as a pun on the movie Pirates of Silicon Valley.[citation needed]

2013 April Fools' Day joke

On 30 March 2013, Mike Dailly announced that YoYo Games was being purchased by the Valve Corporation, the developers of Steam.[23] The joke drew much criticism from the community and lead to widespread arguments within the community and a large removal of several users from the Game Maker Community.[24] YoYo Games Chief Executive Officer, Sandy Duncan, later learned of the prank and promptly had it removed from the site, however several moderators continued reposting the topic. An apology was later given.[25]

Hacking scandals

It was discovered later, 18 March 2013, that the Game Maker Community forum by YoYo Games had been hacked unknowningly for an unknown period of time, allowing the hacker to steal members accounts and password information.[26][27] A person claiming to be the hacker contacted a moderator of the forum, True Valhalla, and requested an interview with himself about it to be uploaded to the Game Maker Blog. There the person claimed that he stole over 221,000 unencrypted passwords and sold them to email hackers and RuneScape users.[28] Trollsplatter was the administrator who was hacked through the GameMakerBlog, allowing the hacking possible. True Valhalla was removed from his moderating positions after the incident, which was only one of reasons behind the decision.[29] However, an apology or formal statement from YoYo Games has not been issued.

On 9 May 2013 it was revealed the same person was hacking the GMC again.[30] The hack involved a zero-day attack involving a Twitter feed an IRC chat link.[31] A formal apology was released by the company this time.[32]

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. ^ http://www.diygamer.com/2010/04/original-gamemaker/
  4. ^ http://www.yoyogames.com/studio/system-requirements
  5. ^ http://store.steampowered.com/app/214850/
  6. ^ http://www.packtpub.com/sites/default/files/downloads/4100OT_Appendix_Drag_and_drop_Icons_to_GameMaker_Language_Reference.pdf
  7. ^ Ford, Jerry (2010). Getting Started with Game Maker. Course Technology, a part of Cengage Learning. ISBN 9781133168966. Archived from the original on Unknown. Retrieved 24 January 2014. 
  8. ^ http://gmnewsbite.net/2013/04/25/llvm-gamemaker-users/
  9. ^ http://gmnewsbite.net/2013/04/24/gamemaker-language-compiler-gmlc/
  10. ^ Making_games_work_under_Windows_Vista on yoyogames.com
  11. ^ http://store.yoyogames.com/downloads/gm-studio/release-notes-studio.html
  12. ^ "This will let you say 'Happy Birthday,' 'Get Well Soon' with a video game". Alexa Ray Corriea. 22 January 2014. Retrieved 23 January 2014. 
  13. ^ https://sites.google.com/site/gamemakerdecompiler/
  14. ^ "Game Maker 8 Decompiler Released". GameJolt. 26 September 2010. Retrieved 8 February 2014. 
  15. ^ "Game Maker iOS File Format Cracked". Game Maker Blog. Retrieved 29 January 2014. 
  16. ^ "Game For Android System Made With Game Maker Studio". YouTube. Retrieved 29 January 2014. 
  17. ^ "Work on Official GameMaker Obfuscator". Game Maker Blog. Retrieved 8 February 2014. 
  18. ^ New Game Maker Logo Suggestions on GMC
  19. ^ "Skull & Crossbones Vandalize Studio Games". Game Maker Blog. Retrieved 29 January 2014. 
  20. ^ "Game Maker Studio DRM Misfires; Permanently Replaces Created Game Resources With Pirate Symbols". Techdirt. 28 November 2012. Retrieved 29 January 2014. 
  21. ^ Published on 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. 
  22. ^ 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. 
  23. ^ "Valve is buying Yoyogames, the makers of Game Maker : gamedev". Reddit.com. 31 March 2013. Retrieved 29 January 2014. 
  24. ^ "Yoyo Are Not Selling Out - April Fools - The Community - Game Maker Community". Gmc.yoyogames.com. Retrieved 29 January 2014. 
  25. ^ "YoYo Games April Fool’s Prank Angers Indie Game Community". Coin Arcade. Retrieved 29 January 2014. 
  26. ^ "Important: Gmc Hacked Please Read! - Announcements - Game Maker Community". Gmc.yoyogames.com. Retrieved 29 January 2014. 
  27. ^ "GameMaker Community Forums Hacked - Passwords Leaked". Game Maker Blog. Retrieved 29 January 2014. 
  28. ^ "Exclusive: Interview With The GameMaker Community Hacker". Game Maker Blog. Retrieved 29 January 2014. 
  29. ^ (read comments by Nocturne)
  30. ^ "GameMaker Forums Hacked Again". Game Maker Blog. Retrieved 29 January 2014. 
  31. ^ "Gmc Hacked Again - Page 3 - The Community - Game Maker Community". Gmc.yoyogames.com. 9 May 2013. Retrieved 29 January 2014. 
  32. ^ "Gmc Hacked Again. - Announcements - Game Maker Community". Gmc.yoyogames.com. Retrieved 29 January 2014. 

External links