Ben Brown END USER PROGRAMMING FROM A CASE PERSPECTIVE: GAMEMAKER AS AN END USER DEVELOPMENT TOOL.

31
Ben Brown END USER PROGRAMMING FROM A CASE PERSPECTIVE: GAMEMAKER AS AN END USER DEVELOPMENT TOOL

Transcript of Ben Brown END USER PROGRAMMING FROM A CASE PERSPECTIVE: GAMEMAKER AS AN END USER DEVELOPMENT TOOL.

  • Slide 1
  • Ben Brown END USER PROGRAMMING FROM A CASE PERSPECTIVE: GAMEMAKER AS AN END USER DEVELOPMENT TOOL
  • Slide 2
  • 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. END USER PROGRAMMING?
  • Slide 3
  • Spreadsheets. Excel allows anyone to create simple to advanced programs that calculate data that its developers didnt necessarily anticipate. THE CLASSIC CASE: Mass Effect 2 Character Creation MITs Scratch
  • Slide 4
  • 3d modeling and animation software Game mod tool kits Visual programming languages Game development engines OTHER TYPES:
  • Slide 5
  • 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 DEVELOPERS:
  • Slide 6
  • 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 hasnt significantly increased Development needs streamlining Everyone is a game developer Indie games are viable sources of income GAME DEVELOPMENT:
  • Slide 7
  • 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 RenPy Visual Novels Arcade Game Studio Arcade Style Games GAME ENGINES BROAD CLASSIFICATION
  • Slide 8
  • In the middle - Used on some commercial projects, likely non genre specific, emphasis on 2d, not fully free GameMaker Construct 2 RPG Maker GAME ENGINES BROAD CLASSIFICATION
  • Slide 9
  • Developed by YoYo Games (recently sold to PlayTech) Currently GameMaker Studio 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 GAME MAKER
  • Slide 10
  • BIG GAMES: HOT LINE MIAMI
  • Slide 11
  • BIG GAMES: GUNPOINT
  • Slide 12
  • BIG GAMES: SPELUNKY
  • Slide 13
  • BIG GAMES: GALACTIC MISSILE DEFENSE
  • Slide 14
  • LETS BUILD A GAME!
  • Slide 15
  • HMM Now What!
  • Slide 16
  • Rooms: A place where objects go. Objects: A thing that goes into a room. CREATION FLOW
  • Slide 17
  • Rooms: 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 Objects: May contain a graphic, normally a sprite Can contain any number of events Each event can contain any number of actions CREATION FLOW SOME DETAILS
  • Slide 18
  • OBJECT CREATION MAKE A SPRITE
  • Slide 19
  • OBJECT CREATION ASSIGN SPRITE
  • Slide 20
  • OBJECT CREATION ADD EVENTS
  • Slide 21
  • Slide 22
  • OBJECT CREATION ADD ACTIONS
  • Slide 23
  • CREATE A ROOM
  • Slide 24
  • Slide 25
  • Slide 26
  • REPEAT UNTIL
  • Slide 27
  • sprite_index = sprite2; image_speed = 1; if image_index == image_number - 1 { sprite_index = sprite0; } GMS GAMEMAKER SCRIPTS Nope Script stops execution after collision becomes false.
  • Slide 28
  • In end step event if (sprite_index == sprite2) { if image_index == image_number - 1 { sprite_index = sprite0; } GMS GAMEMAKER SCRIPTS
  • Slide 29
  • NOW
  • Slide 30
  • Yet Took a surprising amount of time to make High level of learning curve, especially for the scripting language NOT MUCH OF A GAME
  • Slide 31
  • With proper tutelage the tool is powerful, can alleviate some programming Learning curve is high Must think like YoYo Games thinks CONCLUSIONS?