As you may already have seen, YoYo Games have their own Marketplace where you can download extra modules and extensions for your game (as well as many other assets), but what to do if you don't want to sell or distribute your assets and you just want to make easy to use packages for personal use or for testing? This tutorial covers the basics of creating an asset package for importing directly into your own projects or for distributing for testing.
NOTE: If you want to distribute or sell your assets through the store, you should see the article GMS - "Uploading An Asset Package" instead.
Creating The Assets
To create your personal asset package, you should import (or create) the assets that you want to use into GameMaker: Studio so that they are available in the Resource Tree (see the manual for how to do this if you are not sure). You should have all your sprites, fonts, scripts etc... already in a project file as you will be creating an Asset Package in GameMaker: Studio with these resources in it, and it's this Package that you will be exporting for later use.
Once you have all your assets added to GameMaker, you then need to set up your Profile certificate.
Creating A Profile Certificate
This certificate is used to sign the asset package that you will make for uploading to Marketplace, and it can be created from the Marketplace Properties window (from the Marketplace drop down menu at the top of the IDE).
This tab is used to create your profile certificate, which is then used to verify your uploads to Marketplace and for signing them.
You should fill out the following details:
- Publisher Name: The name of the publisher of the assets being uploaded (this is obligatory).
- Location: The city that the company or organisation is based in
- Country: The country that the company or organisation is based in.
Only the Publisher Name field is obligatory, so if you are an individual developer then you are fine filling out only that part. Next you should choose a password that will be used to protect the certificate file that we want to generate, and then set the location to save the file to (you can name the file anything you wish too, as long as the extension remains *.pem). Now Click on the Generate Certificate button to save the file, and it will be used by GameMaker: Studio from now on for submitting to the asset store (basically it proves that you are who you say you are and have permission to modify the content).
NOTE: We recommend that you take a screenshot of the actual settings as well as make a copy of the PEM file. Both should be saved together to a safe location for future reference, or in case you need to re-install GameMaker: Studio at some point.You cannot update assets that have already been uploaded unless the updated package is signed using the same certificate that the original was created with.
You can close the properties window now and we can can continue to actually create the package...
Create The Package
Your assets will be stored using GMEZ format files. This is the GameMaker: Studio propriety asset package format and contains all assets in one single file which can be "installed" into GameMaker: Studio. We need to make this file now, so right-click on the Extensions folder in the resource tree and click the option Create Extension (asset packages are created and used in a similar way to extensions).
This will open the Extension Package Properties window, and you should take a moment now to fill in the required details from the General tab. All the information shown here will be visible to the person that downloads your assets and so you should use the given space to explain anything that the user needs to know, like links to your site or FAQs, or extra credits to collaborators, etc... here.
This Package ID is the identifier that you use for every asset package that you make, and it must follow the reverse URL format of com.<organistaion_name>.<asset_name>, and the asset name needs to be unique for every package made.
You now need to go to the Export tab and choose the assets that you want to add to the GMEZ from the resource tree on the left. You can select a top-level folder to export all assets in the category, or click the (+) to expand it out and select only individual assets, then you can click the "--->" button to flag them for inclusion in the package. This will place them in a duplicate resource tree on the right.
NOTE: If you add an asset by mistake, select it from the tree view on the right and click the "Remove" button.
When you are happy that you have added all the required files, simply click the Okay button at the bottom of the window and all the data will be saved.
Exporting The Package
Your extension pack is now ready to be exported and used later, or tested by others. To export the GMEZ, simply right click on the extension in the resource tree, and then select "Export Extension". You will be asked where you want to save it, so point to the folder that you want and then click the "Save" button to create your file.
IMPORTANT! The GMEZ format is designed specifically for personal use, and as such you can give the GMEZ file to other for testing, but they will not be able to create final executables using it..
You can now import this package into GameMaker: Studio at any time in the future by simply right-clicking on the Extensions folder in GameMaker, and then selecting "Import". This is a great method for storing project templates, script libraries, or grouped resources, and it is also an excellent way to distribute a Marketplace asset for testing and review before uploading it for sale.
If you wish to upload this package to Marketplace later, you can copy the GMEZ into the local app data folder for GameMaker: Studio (%localappdata%\GameMaker-Studio\lib) and it will then appear in your Package Manager window. From there all you have to do is create a market listing and upload it (full details can be found here).