1 / 31

End User Programming From a CASE Perspective: GameMaker as an end user development tool

End User Programming From a CASE Perspective: GameMaker as an end user development tool. Ben Brown. End User Programming?.

henryj
Download Presentation

End User Programming From a CASE Perspective: GameMaker as an end user development tool

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. End User Programming From a CASE Perspective:GameMaker as an end user development tool Ben Brown

  2. 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.

  3. 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

  4. Other types: • 3d modeling and animation software • Game mod tool kits • Visual programming languages • Game development engines

  5. 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

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

  7. 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

  8. 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

  9. 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

  10. Big Games: Hot Line Miami

  11. Big Games: Gunpoint

  12. Big Games: Spelunky

  13. Big Games: Galactic Missile Defense

  14. Let’s Build a Game!

  15. Hmm… Now What!

  16. Creation Flow Rooms: Objects: A thing that goes into a room. • A place where objects go.

  17. 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

  18. Object Creation – Make a Sprite

  19. Object Creation – Assign Sprite

  20. Object Creation – Add Events

  21. Object Creation – Add Events

  22. Object Creation – Add Actions

  23. Create a Room

  24. Create a Room

  25. Create a Room

  26. Repeat Until That’s not right…

  27. 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.

  28. GMS – GameMaker Scripts • In end step event • if (sprite_index == sprite2) • { • if image_index == image_number - 1 • { • sprite_index = sprite0; • } • }

  29. Now

  30. Not much of a game • Yet • Took a surprising amount of time to make • High level of learning curve, especially for the scripting language

  31. Conclusions? • With proper tutelage the tool is powerful, can alleviate some programming • Learning curve is high • Must think like YoYo Games thinks

More Related