310 likes | 326 Views
Unveil the potential of GameMaker as a user-friendly tool for creating games without traditional programming skills, analyzing game development industry trends, engines, and game creation in detail. Dive into GameMaker’s features, scripting techniques, and room creation processes. Discover big games developed with GameMaker, and tips for efficient game building.
E N D
End User Programming From a CASE Perspective:GameMaker as an end user development tool Ben Brown
End User Programming? • End user programming refers to software tools that allow for the creation or modification of software by “developers” who may not be versed in traditional programming skills.
The classic case: • Spreadsheets. • Excel allows anyone to create simple to advanced “programs” that calculate data that it’s developers didn’t necessarily anticipate. Mass Effect 2 Character Creation MIT’s Scratch
Other types: • 3d modeling and animation software • Game mod tool kits • Visual programming languages • Game development engines
Developers: • Youth – Non experts in any field • Software focused on education – Scratch, Lego Mindstorms, AgentSheets • Content Specialist – Experts in non-programming field • Game Developer, Scientist, Accountant, etcetera
Game Development: • Why? • Money! • Game development is a $100 Billion a year plus industry • Development size and time requirements • Games are constantly increasing in scale but price hasn’t significantly increased • Development needs streamlining • Everyone is a game developer • Indie games are viable sources of income
Game Engines – Broad Classification • Professional – Costly paid versions, used widely in industry (or aimed at large scale games) • Unity • Unreal • Torque • Godot • Hobbyist – Mostly free, genre specific tools • M.U.G.E.N – Beat ’em ups • Inform – Interactive Text Adventures • Ren’Py – Visual Novels • Arcade Game Studio – Arcade Style Games
Game Engines – Broad Classification • In the middle - Used on some commercial projects, likely non genre specific, emphasis on 2d, not fully free • GameMaker • Construct 2 • RPG Maker
Game Maker • Developed by YoYo Games (recently sold to PlayTech) • Currently GameMakerStudio 1.4 • 2d game engine, free standard edition, with paid professional and master editions • Supports development for PC, Mac, Linux, iOS, Android, PlayStation (3, 4, Vita), and XboxOne • Primarily GUI oriented, with custom scripting language • Includes built in particle engine and physics
Hmm… Now What!
Creation Flow Rooms: Objects: A thing that goes into a room. • A place where objects go.
Creation Flow – Some Details Rooms: Objects: May contain a graphic, normally a sprite Can contain any number of events Each event can contain any number of actions • Contains only a background and some characteristics about the room • Can be used to create a menu, a level, a splash screen, etcetera • Can hold any number of objects
Repeat Until That’s not right…
GMS – GameMaker Scripts • sprite_index = sprite2; • image_speed = 1; • if image_index == image_number - 1 • { • sprite_index = sprite0; • } Nope – Script stops execution after collision becomes false.
GMS – GameMaker Scripts • In end step event • if (sprite_index == sprite2) • { • if image_index == image_number - 1 • { • sprite_index = sprite0; • } • }
Not much of a game • Yet • Took a surprising amount of time to make • High level of learning curve, especially for the scripting language
Conclusions? • With proper tutelage the tool is powerful, can alleviate some programming • Learning curve is high • Must think like YoYo Games thinks