Introducing Dragonfly Cloud! Learn More

Question: Does GameMaker use C++?

Answer

GameMaker Studio, developed by YoYo Games, is a popular game development platform that simplifies the process of game creation. While it has its own scripting language called GameMaker Language (GML), which is similar in syntax to C, GameMaker itself is not primarily programmed using C++. However, GameMaker does provide functionality for more advanced users to extend the capabilities of their games through the use of "extensions".

Extensions in GameMaker can be written in various languages, including C++. These are typically used to add functionality that is not available in GML or to optimize certain aspects of a game by writing them in a lower-level language. Here's a simple example of how one might go about creating an extension:

// Example C++ code for a GameMaker extension // This is a simplified example function extern "C" double MyCustomFunction(double value) { // Perform some operation in C++ return value * 2; }

To use this in GameMaker, you would compile it as a dynamic library (.dll on Windows, .so on Linux, or .dylib on MacOS), and then set up an extension in GameMaker Studio to call this function. In the GameMaker IDE, you'd specify the function name and the parameters it expects.

While extensions and native code can enhance a GameMaker project, most of the development within GameMaker Studio is done using GML. It is worth noting that the actual source code of the GameMaker Studio IDE and runtime is not accessible to the public, and it is not known to be written in C++.

In conclusion, while GameMaker Studio's primary programming language is GML, developers do have the option to use C++ for creating extensions which can then be integrated into their GameMaker projects.

Was this content helpful?

White Paper

Free System Design on AWS E-Book

Download this early release of O'Reilly's latest cloud infrastructure e-book: System Design on AWS.

Free System Design on AWS E-Book

Start building today 

Dragonfly is fully compatible with the Redis ecosystem and requires no code changes to implement.