Previously, Tutorials and Demos were bundled with GameMaker:Studio as part of the download package. However they increased the download size by quite a bit and they are not used by everyone, and those that do use them normally only have an interest in one or two of the subjects they deal with.
Therefore, to improve the overall user experience, they have been removed from the actual download and placed on the servers for you to access using an RSS feed from the GameMaker:Studio start up screen.
The official YoYo Games RSS feed is split into three main Categories:
Beginner: These tutorials are for those users that are new to GameMaker or programming in general and deal with all the basics of getting started. Most use D'n'D (Drag'n'Drop) actions, but they can have a small amount of code to gently introduce core concepts.
Intermediate: These tutorials are for those users with some experience using GameMaker and are all code based. Most of them deal with more complicated programming concepts and certain unique features of GameMaker.
Advanced: These tutorials are for those users who program regularly with GameMaker and have a firm grasp of most of it's functionality. They concentrate on advanced programming techniques and platform specific features.
With this addition, you not only have access to all the YoYo Games tutorials, you can also aggregate other RSS feeds and receive tutorials and demos from third-party providers, as well as create your own feed that people can link to.
Adding An RSS Feed
Adding an RSS feed to GameMaker:Studio couldn't be simpler. Once you have started up the program, click on the Tutorials or Demos tab (whichever one the feed you wish to add is for) then right-click the "Tutorial Feed" top tier category. You will see two options: Properties, and Add. Click Add then paste the link for the feed that you wish to aggregate to the list.
You should now see the new feed on the left and be able to select tutorials and demos from it as you would the official ones.
Feed Properties
GameMaker:Studio also permits you to get the Properties of the feed from the right-click menu too. This will bring up a form where you can see the feed name and the URL associated with it. This URL can be changed, so should you make a mistake adding a feed, or should the feed URL be changed, you can correct the issue here.
Opening Tutorials And Demos
Once you have selected a tutorial or demo from a feed, you can double-click on it, or click the "Create" button to download the tutorial, which should then be opened in GameMaker:Studio, and the project GMX saved to the location you specified from the start-up tab. On the right you will see the tutorial text, and the project file that accompanies it will be loaded for use in the IDE on the left.
The actual tutorial (not the *.gmx that is made when you open it) is stored in the Local App Data folder and can be found in Explorer by going to:
%localappdata%/GameMaker-Studio/Tutorials
or for Demos:
%localappdata%/GameMaker-Studio/Demos
Creating Your Own RSS Feed
To create your own feed, you will need a working knowledge of HTML and XML, as you will require both to set it up correctly. The rest of this document will assume you have this knowledge and outlines only the parts relevant to GameMaker:Studio (if you are new to RSS, see here for an overview, and you can get more in-depth information from here).
If you open the tutorials or demos RSS XML found in the local App Data tutorials folder for GMS you will see the following:
<?xml version="1.0" encoding="ISO-8859-1" ?> <rss version="2.0"> <channel> <title>Tutorial Feed</title> <description>Tutorial feed for GameMaker: Studio</description> <item> <title>YoYo Games 0001 - My First Game</title> <description>This tutorial walks you through the very first steps that are needed to create your first game. If you have no experience with GameMaker, you should start here!</description> <link>http://store.yoyogames.com/downloads/gm-studio/RSS/Tutorials/YoYo%20Games%200001%20-%20My%20First%20Game.7z</link> <category>Beginner</category> <media>http://store.yoyogames.com/downloads/gm-studio/RSS/Tutorials/Media/YoYo%20Games%200001%20-%20My%20First%20Game.html</media> </item> <item> <title>YoYo Games 0002 - DnD Tutorial</title> <description>With this tutorial you can learn how to use the Drag'n'Drop icons to create a basic game.</description> <link>http://store.yoyogames.com/downloads/gm-studio/RSS/Tutorials/YoYo%20Games%200002%20-%20DnD%20Tutorial.7z</link> <category>Beginner</category> <media>http://store.yoyogames.com/downloads/gm-studio/RSS/Tutorials/Media/YoYo%20Games%200002%20DnD%20Tutorial.html</media> </item> ... ... </channel> </rss>
Your personal feed XML should be formatted the same as this, changing the following elements to suit your needs:
<title> - This is the name of your feed and what will be shown as the first tier in the folder structure, and it is also used to add a descriptive text to each of the individual files you wish to make available.
<description> - This is a short descriptive text that should be placed after the <title> to explain what your channel is for. It is also used for each of the items you add to your feed to describe individual tutorials/demos. You should make these texts as concise and informative as possible so that the user knows exactly what your files are for before downloading.
<item> - Each <item> is an individual tutorial or demo, and also needs to have a <title> and <description> as explained above.
<link> - The link (URL) to the 7zip file which contains the files needed for your tutorial or demo. Note that this URL must point to a 7zip archive that contains only the contents, not a directory that contains the contents. See the section on Packaging A Tutorial below.
<category> - Assign your tutorial or demo to a category. This will be shown as a second tier of folders within your RSS feed. Although the official GameMaker:Studio tutorials are split into three categories, you can create as many as you wish for your feed, and name them what you wish. However, currently you can only assign one category per tutorial, and you cannot "nest" categories.
<media> - All tutorials and demos come with an associated "media" HTML. This can contain information like links to resources or your web-page, videos, or images. You can find an example HTML template attached to this article and YoYo Games recommends that you use this so that the end user maintains a consistent experience.
The tutorial itself is in two parts: a 7zip file containing the necessary files (gmz, html, images etc...) and a "Media" file, which is an html file that will be shown in the RSS feed itself. See below for more information on packing your files.
When you have created your RSS XML, it should be uploaded to your server for people to link to.
Packaging A Tutorial
For your tutorials (and demos) to function correctly with the GameMaker:Studio RSS feed, they must be correctly packaged. This means that you will need to have installed 7Zip (a compression program) and know how to modify HTML and XML.
Packaging the tutorial is a two part process. First you should create your media HTML, along with a preview image and any other material that you need. The attached zip file contains an example of how to format this HTML, but it can contain just about anything that a standard HTML page would contain, including video, links and images.
The media files and the HTML should then be uploaded to the server and the direct link to the HTML added to the RSS XML.
Next you need to package up the tutorial itself. This requires a GMZ of the tutorial (as exported from GameMaker:Studio), at least one HTML file with the tutorial itself, a preview image, an XML page to show in the IDE, and any images or other resources that your tutorial requires.
The HTML that forms the core of the tutorial text should always be called page01.html, and any subsequent pages that your tutorial requires should be numbered page02.html, page03.html, etc... so that they can be shown correctly in the IDE.
The XML file required contains a descriptive text for the tutorial, a name to display, the file to open in GameMaker:Studio, the category that it belongs too and the publishing date. This is what GameMaker:Studio will parse and display in the IDE when browsing the installed tutorials from the RSS feed.
When you have all your images, the GMZ, and the HTML and XML, these should all be packaged together using 7zip into a compressed archive, which can then be uploaded onto your server and linked to in the RSS XML.