SDK Explanation?

J.T.

Member
Hello, I’m new to GMS2 and have recently learned about SDKs. I’m a little confused about what they are and why they’re needed... Are they only necessary for publishing? Do you need to download an SDK before making a game or can you do it after when you’re ready to export?

Edit: I am interested in future developments for Steam

Thank you!
 
Last edited:

FrostyCat

Member
You need to download SDKs for every export other than the VM Windows export and the HTML5 export. They are the basic set of third-party tools needed for compiling both in-development and final builds, so it has to be done for every export that you plan to work with before you do anything.
 

Yal

🐧 *penguin noises*
GMC Elder
SDK means "Software Development Kit", it's an umbrella term for any tools that are needed to develop code. What they are and how necessary they are differs a lot from case to case - for instance, at my work I have an SDK that's a folder installation that contains all files that are accessible in a real deployed system, so that you can compile code in a way that makes it think it's actually running on the system. In some other cases, the SDK is just a header file that contains the definitions of the functions you can get from inside a proprietary DLL.

What SDK are you curious about, more exactly? Steam? Android? Console ports?
 

J.T.

Member
SDK means "Software Development Kit", it's an umbrella term for any tools that are needed to develop code. What they are and how necessary they are differs a lot from case to case - for instance, at my work I have an SDK that's a folder installation that contains all files that are accessible in a real deployed system, so that you can compile code in a way that makes it think it's actually running on the system. In some other cases, the SDK is just a header file that contains the definitions of the functions you can get from inside a proprietary DLL.

What SDK are you curious about, more exactly? Steam? Android? Console ports?
Thank you so much for the information! I’m interested in publishing to Steam in the future, but from what I’ve read I think the SDK download for it is only available after you purchase some 100 dollar membership... I’ll pay it, but I’m just not familiar enough with coding to seriously publish anything anytime soon. Will making a game with an SDK be very different from using GMS2 as is? What do you recommend?
 

FrostyCat

Member
Will making a game with an SDK be very different from using GMS2 as is?
Define "using GMS 2 as-is". Everyone has a different "as-is".

In any case, the most drastic differences come from platform-specific characteristics (e.g. means of input, screen resolutions, file system rules, etc.), not from SDKs themselves.
What do you recommend?
If working on a cross-export basis is your plan, you have to learn to soft-code virtually everything. Avoid drawing with fixed, hard-coded coordinates and dimensions. Avoid binding directly to specific kinds of input. Avoid unmediated calls to platform-specific functionality, especially third-party vendor integrations like ads or IAP.
 

J.T.

Member
Define "using GMS 2 as-is". Everyone has a different "as-is".
In any case, the most drastic differences come from platform-specific characteristics (e.g. means of input, screen resolutions, file system rules, etc.), not from SDKs themselves.
Ah, I see... that makes sense. Thank you again for the info, and sorry if my questions are a little redundant.

Define "using GMS 2 as-is". Everyone has a different "as-is".
If working on a cross-export basis is your plan, you have to learn to soft-code virtually everything. Avoid drawing with fixed, hard-coded coordinates and dimensions. Avoid binding directly to specific kinds of input. Avoid unmediated calls to platform-specific functionality, especially third-party vendor integrations like ads or IAP.
When I say “as is,” I mean the way GMS2 is right after installation. No modifications at all—the only thing I’ve done is buy a license and work through some of their basic tutorials. So if I’m just learning how to use GMS2 now, downloading the Steam SDK in the future wouldn’t really change the game maker language described in the manual or the IDE, just make it possible to publish on the site? And I would have to download it before I start making the game, not when it’s done? Also, do I need the Steam SDK if I use GMS2 through my Steam client because it has the option to upload games to Steam Workshop without selling them?
 
Last edited:

Mert

Member
Game Maker handles Steamworks SDK via its internal codes, the ones you can see on GMS2 documentation.

Suggestion : As a beginner, I would work on basics of game development then move onto the steam integration part. It's really easy to do that, seriously. You may need to sign in as a developer to steam for learning their internal works.
 
Top