Preface - Mtax-Development/GML-OOP GitHub Wiki
This page describes points of notice a potential user should consider before attempting to create a project using GML-OOP.
This project is generally not recommended for use by beginners. While it provides a grouped overview of the possibilities of GML features in each constructor and can ease the introduction to by basing it on concepts of object-oriented programming, it needs to be noted that this is an unofficial layer put over the native code that is bound by no warranty. It is advised for the user to have the experience with the elements used in the creation of this project and therefore posses the ability to correct potential disruptions on their own.
The core of the design of this project is to provide an additional layer of code overlaying the native GameMaker Language code that is executed during the runtime. This guarantees any code written using it to take at least marginally more time to execute in comparison to an equivalent code designed solely towards optimization. The actual difference in the execution speed in projects of a big scope have not been measured yet and it should be a point of notice while attempting to create highly performant code.
Attempting to use this project to its full extent will change the way the code is written. This elevates the learning curve of the codebase in a project created using it and therefore can increase difficulty of understanding and communication for the programmers unfamiliar with this project or ones created with it.
As GameMaker does not support the concept of namespaces, other resources cannot have the same names as GML-OOP constructors and their methods. This necessitates extra attention to ensure that none of preexisting or later added assets share names with the contents of this project.
GML-OOP was designed for the Desktop targets and was developed and tested only on Windows 10. Furthermore, this project was designed specifically for 2D applications. While it does not exclude it from being from being viable for use in projects of other types, no guarantee for stability or other warnings are to be given.