Problems to insert STEAM API and achievements on my Gamemaker Studio 2 Game

178 views Asked by At

So, i recently launched a game on steam with the name of "Jump By Coronho: Chapter 2" After some time, people started asking me to implement achievements on the game. Since then, I'm trying to do it but there is not that much information online of how to implement these steam achievements. Thanks!

I have tried using the YOYO extesion but there is no instruction on how to use it and Valve doesn't make it clear on the SDK

1

There are 1 answers

0
Mike Caputo On

Your question is a bit old, but I hope this helps. This is trimmed down from the internal documentation that I wrote for my game:

Background information for GameMaker setup:

https://help.yoyogames.com/hc/en-us/articles/216754138-Using-The-Steamworks-SDK-With-GameMaker-Studio

  1. Need to link the Yoyo games account to steam: https://accounts.yoyogames.com/linked_accounts
  2. Download the Steamworks extension for GameMaker: https://marketplace.yoyogames.com/assets/10709/steamworks-ext
  3. Then in GameMaker, open the asset browser (right sidebar); left-click therein, and choose Add Existing.
  4. Point to the Steamworks.yy file, and click ok. For clarity, you can move the steamworks extension out of the newly-created Steamworks directory; move it into the Extensions.
  5. Now within the IDE, you can start to type steam and all of the steam-related functions will appear
  6. Once you have added the extension to your project, go into a file browser and go into the datafiles directory (ex, Desktop\GameMakerSteamExtension\datafiles). Copy all of the .bat and .sh files and move them to the root directory of your game project (alongside your *.yyp file).
  7. WINDOWS: Open up post_build_step.bat and replace all the text after the = symbol with the path to the SDK installed in step 2. Example; final result of this line might be set STEAM_SDK_PATH=C:\SteamworksSDK

Configuration on the Steam Platform:

  1. Open up Steamworks: https://partner.steamgames.com/apps/achievements/{yourSteamAppId}
  2. This section should be very straightforward. Give each achievement a key for internal use, a title, and a description. Give each achievement an "achieved" icon in color (256 x 256px) and an "unachieved" icon in grayscale (also 256 x 256px). Can also mark some as hidden.

Then within your game project, you would add the following to have an achievement added:

if(steam_initialised() && steam_stats_ready() && steam_is_overlay_enabled()) {
  if(someConditionIsTrue) {
    steam_set_achievement("yourAchievementName");
  }
}