590 likes | 780 Views
GameMaker : Studio. Dr. Jacob Habgood (Jake) Sheffield Hallam University J.Habgood@shu.ac.uk. My Background. Sheffield’s Games Industry Gremlin and Sumo Digital Started as programmer on PlayStation 1 Hogs of War, MicroMachines , (over a dozen)
E N D
GameMaker: Studio Dr. Jacob Habgood (Jake) Sheffield Hallam University J.Habgood@shu.ac.uk
My Background • Sheffield’s Games Industry • Gremlin and Sumo Digital • Started as programmer on PlayStation 1 • Hogs of War, MicroMachines, (over a dozen) • Programmer / Technical Lead (PSX, PS2, Xbox, GC) • PhD in Game-Based Learning • Head of Serious Games at Sumo-Digital Hogs of War ELSPA Silver Sales Award Electronics Boutique’s Best Multi-Player Game of 2001
Background • GameMaker • Prof. Mark Overmars • Originally created in 1999 by Mark Overmars, Professor of Computer Science at the University of Utrecht • Written in Borland Delphi (object-oriented Pascal) • Created to teach game design principles to Computer Science students who already knew how to program • A fully-capable free version of Game Maker allowed hobbyists to aspire to make money from games • Extensible architecture (3rd party libraries) • Gathered a worldwide hobbyist following and an active online community (the GMC) Delphi’s creator, Anders Hejlsberg, went on to create C# for Microsoft
Background • GameMaker • My Connection • Left the games industry in 2003 to take up a PhD scholarship in the Learning Sciences at the University of Nottingham • Research began teaching children to make games • Used GameMaker for a holiday school at Screenplay • Wrote an article in Develop, which I sent to Mark • We decided to collaborate ona GameMaker book Screenplay was the forerunner to Nottingham Game City Develop, March 2005
Background • GameMaker Book: • The Game Maker’s Apprentice: Game Development for Beginners • Written by myself and Prof. Mark Overmars • Covers basic GameMakeruseand game design basics • Not a textbook – “just in time” learning by example First published in 2006. Currently on its third edition (Game Maker 8)
Sequel: • The Game Maker’s Companion: The Journey Continues • Written by myself, Nana Nielsen and Martin RijksIllustrated by Kevin Crossley. • Covers intermediate Game Maker, storylines and characters Published in 2010
What is GameMaker? • Game Maker • Drag and Drop Programming • Event-driven, icon-based programming • Trade-off… easy but limited? • Not really!
What is GameMaker? 1 hour 2 hours 3 hours 2 hours
What is GameMaker? • Entry-Level Game Development • Drag and Drop Programming • Not as limiting as you might think… • This remake of a Gremlin classic is made mostly using D&D
What is GameMaker? • Entry-Level Game Development • Drag and Drop Programming • Not a game “construction kit” • Visual programming language • Object-oriented (inheritance) • Logic, mathematics, probability You do the hard work, and many principles are transferrable X axis = 640 pixels Y axis = 480 pixels 135 pixels
Resources • Basic Resource Types: Rooms Sprites Objects Instances
Programming • Event-Driven: • Events • Things that "happen" in the game.
Object Behaviours • Event-Driven: • Actions for Events • Each event can have many actions • 7 tabs: • move • main1 • main2 • control • score • extra • draw
Object-Oriented Concepts • Instances, Objects and Parents Objects inherit events and actions from their parents, and can be treated as a group (in collisions, for example) obj_bigleg a kind of a kind of obj_bigleg_move obj_bigleg_small a kind of obj_bigleg_move_small
State Machines • Instance Change: • State Transitions • Animation End Event • Key Press Event • Collision Event Jump Hop State Objects arespecial objects that represent different behaviours for the same “thing” Jump Left Hop Left Key Press <left> Stand Animation End Animation End Jump Right Hop Right State Transitions show how instances change between different state objects (arrows) Key Press <right> Collision Dead Obstructed Not obstructed
Scripting Language • A High Ceiling • GML • Comprehensive scripting language(C/Pascal hybrid)
Scripting Language • A High Ceiling • GML • Functions, arguments, return values • Instance variables, global variables • Control flow statements (if, for, with, switch, etc.) • Arrays, Hash maps • Id (analogous to a pointer) • Extensions • Create your own icon actions from GML • Create your own DLL in another language and call the functions contained within it from GameMaker (PC only) • Create your own JavaScript extension (HTML5 only)
GameMaker: Studio • Game Maker • YoYo Games • In 2006 YoYoGames were a new media start-up seeking to become the ‘YouTube of Videogames’ • Headed up by Sandy Duncan (Former Xbox Microsoft exec) • Mark sold Game Maker to YoYoGames and became a director of the company himself • Employed Mike Daily (programmer of Lemmings & GTA) • By 2010 YoYo had a web 2.0 site containing 60,000+ games made by the hobbyist community • The best games were offered a publishing deal and ported onto mobile platforms by YoYo • GameMaker: Studio was released in 2012 which allowed users to publish their own games on mobile platforms
GameMaker: Studio • Commercial Games • Game Maker • Interpreted language • Runners on various platforms • PC, Mac, Windows 8, iOS,Android, HTML5, Win8 Phone,(lots of titles) Ubuntu (new) • PSP (one title: Mr Karoshi)
The GameMaker Family • Publishing to Windows 8 • The GameMaker Family
GameMaker: Studio • Teaching Perspective • GameMaker: Studio • More powerful, but longer compile times • Interface/options are more intimidating for beginners • Education version coming soon (.msi) • Free version is only practical for evaluation Standard price $50 per seat. Educational discounts available.
GameMaker: Studio • Teaching Perspective • GameMaker: 8.1 • Less powerful, but shorter compile times • Less intimidating interface/options for beginners • Education version is already available (.msi) • Free “Lite” version is practical for students to use at home Standard price $40 per seat. Educational discounts available.
Teaching • Sheffield Hallam University • Game Programming Degrees • BSc/MComp/MSc in Games Software Development • Programming skills for the games industry • 3 years of C++ as the primary teaching language • 2 years of degree-level mathematics • 2 years of hardware architecture (assembly programming) • DirectX11 3D programming (shaders) • Game console programming (PS3/Vita/PSP/GameCube)
Teaching • Sheffield Hallam University • Game Maker? • First year Game Programming module: • Limited potential for writing games in C++ in year one • A creative outlet for programming while learning C++ • Get a published product in their portfolio • Realise just how much work it really involves to bring something to market – even with GameMaker! • Insights into the wider perspective of a project lifecycle
Teaching • Sheffield Hallam University • Game Maker? • Other Applications: • Modules where the emphasis is on design rather than the technical development skills: e.g. Serious Games • Extra curricular competitions: Game Jams • School’s outreach: Games Britannia
Teaching • Sheffield Hallam University • The Games Britannia Festival
The Windows Store Dr. Jacob Habgood (Jake) Sheffield Hallam University J.Habgood@shu.ac.uk
The Windows Store • Publishing to the Windows Store Focussing on GameMaker specific parts of the process assuming a ‘least resistance’ first-time approach... • Requirements • Get a Windows Store Developer Account: • A DreamSpark account (free) • A Microsoft email account (free) • A credit card • A bank account • Export your GameMaker game for Windows 8 • A PC running Windows 8 (free on DreamSpark premium) • A copy of GameMaker: Studio ($50) • A copy of Visual Studio 2012 (free)
The Windows Store • Publishing to the Windows Store • Design Considerations • Minimum Resolution • 1366x768 • GameMaker will scale for you, but better to design for it • Touch Compatibility • ALL interaction needs to work on both a touch screen AND keyboard (e.g. Escape to quit) • GameMaker supports “Virtual Keys” • virtual_key_add(x, y, w, h, keycode);
The Windows Store • Publishing to the Windows Store • Design Considerations • Settings Charm • Publisher contact details • Other options like turning off virtual keys: • win8_settingscharm_add_entry(name, callback);
The Windows Store • Lee’s comprehensive instructions: http://tinyurl.com/dreamspark4gm • Publishing to the Windows Store • Windows Store Developer Account • Create a DreamSpark account (free to students/academics using a .ac.uk email) and link it to a Microsoft email account (hotmail.com, live.com etc.) • Use your DreamSpark account to apply for a free Windows Store Registration Code (normally $50) • Use the code to register on the Windows Store • You still need a credit card (a nominal fee is charged and refunded to verify your account) • You’ll also need a bank account to deposit any potential income earned by your app • Income from the US to UK is covered by a tax treaty and you just need to fill in a W-8BEN form online
The Windows Store • Publishing to the Windows Store • Exporting to Windows 8 • The standard edition of GameMaker: Studio ($50) includes Windows 8 support via HTML5 (JavaScript) • Yet $50 is potentially prohibitive to students: • Creating a publishable game takes A LOT of time and students need access to GameMaker outside of lessons • Possible to develop using GameMaker 8.1 Lite (free) and import to GameMaker: Studio just to publish it • But you cannot take a GM: Studio project back into GameMaker 8.1 once you have edited it • NOT practical to develop with GM: Studio free version as it imposes limits on the number of resources A single copy of GameMaker: Studio may be enough for a school/FE college
The Windows Store • Publishing to the Windows Store • Development Environment • You will need Windows 8! • Free to download as part of DreamSpark Premium • Dual boot is an option (e.g. http://tinyurl.com/dualbootgm) • Install Visual Studio 2012 (Express version is free http://tinyurl.com/vsexpressgm) • Install GameMaker: Studio You don’t need to know how to use it – you just need it installed to develop for the Windows Store
The Windows Store • Publishing to the Windows Store • App Submission Process • Log into your Windows Store Dashboard and select “Submit an App” You don’t actually need to be ready to submit yet. The whole process can be stopped and resumed at will
The Windows Store • Publishing to the Windows Store • App Submission Process • Log into your Windows Store Dashboard and select “Submit an App” • App Name: Reserve a name for your app • Selling Details: • Price and Markets • Free and just English-speaking territories (or just UK) • Paid and just US and UK (or just UK) • Hardware Requirements • Available to all systems (DirectX and RAM) • Advanced Features: • None – just click save
The Windows Store • Publishing to the Windows Store • App Submission Process • Age Ratings: • Self-certification • Formal ratings are optional for most markets • Getting a PEGI (European) rating is free and easy http://apps.pegi.eu/Games/Submit • Avoid Korea, South Africa, Brazil and Taiwan • The lower the age rating the bigger the market • Be aware of the content of the game you are publishing – you are potentially liable... • Cryptography: • Select “No” unless you’ve added any encryption
The Windows Store • Publishing to the Windows Store • App Submission Process • Preparing to Create a Package: • Launch Visual Studio Express 2012 • Select Store -> Open Developer Account • Log into your account
The Windows Store • Publishing to the Windows Store • App Submission Process • Preparing to Create a Package: • Launch Visual Studio Express 2012 • Select Store -> Acquire Developer Licence • Log into your account
The Windows Store • Publishing to the Windows Store • App Submission Process • Preparing to Create a Package: • Select File->New Project • Settings are irrelevant, but note the location • Select OK
The Windows Store • Publishing to the Windows Store • App Submission Process • Preparing to Create a Package: • Select “Store->Associate App with the Store” • Sign in (again!) • Select your app and Associate it
The Windows Store • Publishing to the Windows Store • App Submission Process • Preparing to Create a Package: • Double click on package.appxmanifestin the solution explorer (RHS) • Select the Packaging tab • Copy the Package name, Package display name and Publisher display name to somewhere safe
The Windows Store • Publishing to the Windows Store • App Submission Process • Preparing to Create a Package: • Look in the Visual Studio project directory you just created for the StoreKey (e.g. App3_StoreKey.pfx in c:\users\fred\documents\visual studio 2012\projects\app3) • Copy this to somewhere safe (with your GameMakerproject perhaps). You can rename it appropriately too. • RevengeOfTheMole_StoreKey.pfx • Launch GameMaker: Studio and open the Global Game Settings for your game and select the General tab
The Windows Store • Publishing to the Windows Store Enter the package settings copied from the manifest EXACTLY as they were shown Version is up to you If Foreground Text is Light then Background colour must be dark and visa versa Create and update images for the store icons.
The Windows Store • Publishing to the Windows Store • App Submission Process • Preparing to Create a Package: • Switch to the Installation tab and select the Certificate we generated earlier (the .pfx file) • Click on Install • Save the project