World Library  
Flag as Inappropriate
Email this Article

GameMaker: Studio

Article Id: WHEBN0000555154
Reproduction Date:

Title: GameMaker: Studio  
Author: World Heritage Encyclopedia
Language: English
Subject:
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

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.

Contents

  • Development history 1
  • Design and uses 2
    • Rendering 2.1
    • Scripting 2.2
    • Engine compatibility 2.3
    • Export modules 2.4
  • Controversy 3
    • Reverse engineering 3.1
    • Digital rights management 3.2
  • Reception 4
  • See also 5
  • References 6
  • External links 7

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

External links

  1. ^
  2. ^ a b
  3. ^
  4. ^
  5. ^
  6. ^
  7. ^
  8. ^
  9. ^
  10. ^
  11. ^ Making_games_work_under_Windows_Vista on yoyogames.com
  12. ^
  13. ^
  14. ^
  15. ^
  16. ^
  17. ^
  18. ^
  19. ^
  20. ^
  21. ^
  22. ^
  23. ^
  24. ^
  25. ^
  26. ^

References

See also

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]

Reception

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]

Screenshot showing the DRM image

Digital rights management

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]

Reverse engineering

Controversy

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]

Export modules

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.

Engine compatibility

Version 1.2 introduced an LLVM backend for GML called the GameMaker Language Compiler (GMLC). The GMLC first compiles GML code into C++, which is then compiled once again to machine code via Clang. This boosts the performance for logic-heavy games but does little for graphic-heavy games.

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.

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.

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 only has two built-in data 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.

Scripting

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.

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.

Rendering

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. [7][6]

This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.