Teaching Programming Concepts with GameMaker
This paper explores the idea of using the popular GameMaker system, GUI, language, and IDE for introducing students to programming in an approachable way that appeals to students interests and cultural experiences. GameMaker allows students to create and program playable games using the introductory development GUI, and then seamlessly transition to programming using the GameMaker Language (GML). While the idea of introducing software development through game design or other interesting and engaging approaches is not new, many innovative approaches do not seamlessly progress into programming. Students must often discard the platform-specific techniques and skills when moving to a traditional programming language, leveraging only conceptual understanding. This is particularly true when transitioning from an icon-based drag-and-drop GUI development system that supports the logic of programming while insulating the student developer from syntax and language complexity. Because the GML follows Java syntax and supports OO concepts, the transition from GML to Java programming is a natural progression. This paper demonstrates that GameMaker GML follows Java syntax and supports OO technologies and concepts including objects, methods, and inheritance along with standard program control features (various loops and ifs), along with discrete real-time control and timing, graphical objects and design.