Steam ? just need some info.

Monkey Archive Forums/Monkey Discussion/Steam ? just need some info.

Paul - Taiphoz(Posted 2015) [#1]
I would like to kick off a Steam discussion with those of you either interested or who have done it already, there are a few things I would really like to know with regard to the whole steam process, I'm sure it's been mentioned and I recall there might have been a module at some point but last time I glanced at this was well over a year ago so I have to assume things may very well have changed.

So I would like to just throw some questions out and hope some of you can throw back some answers.

Q1 First thing I guess in terms of code and monkey would be weather or not I actually *NEED* to add anything for steam and my project to work, like is there a bare minimum or is the minimum null ?

Q2 About that module if there is one, is it easy to get working ? I guess this Question should go out to who ever wrote it or who ever has used it , I will go peek around the modules forum after I make this post to see what I cant find myself.

Q3 Ok final question I think, I assume there must be a way to test steam integration and functionality locally before it goes live for people to download and or buy, how does this work, do we register the game on steam as being in dev so we can test it or something ?

Thank you to anyone that takes the time to respond and if anyone else out there has any other steam questions feel free to post them bellow.


Nobuyuki(Posted 2015) [#2]
1. No, you don't need to add anything to your code to make it work. You should just be able to distribute a package as-is and configure its deployment from your partner account. You won't be able to get any of Steam platforms antipiracy features from this however, save for end-user automatic updates. Even still, though, you'll need to be careful with where you save your settings so that they persist between updates! I believe this feature was added to a recent Monkey, to make SaveState() conform to UAC. It may require a precompiler directive to work.

2. A couple of Steamworks modules exist on the forums. Not all are publicly available (I don't know if any are available without emailing the authors) -- This is to avoid running afoul of the NDA for Steamworks API. Do a forum search.

3. Yes. Before you choose to publish the game, you should have access to a closed test platform. I don't know the specifics of this (read the guides on the partner site), it may not be available to everyone. Qualified partners should be able to perform a closed beta test of their deployment. A quote from the public site:
Run secure public betas of your game. Hold public betas and choose from one participant to thousands, if you like. The timing and scope of the beta is up to you.


I've worked on games that've gotten up on Steam, but because I wasn't comfortable personally digging around in Externs and getting that stuff to compile correctly on a team project, I deliberately avoided messing with features specific to the platform during development. Many small devs seem to go this route for the first iteration of their game, particularly if they believe their being published on Steam isn't guaranteed, which used to be a lot more of an issue than it is today. So, I apologize if my information is limited :)

(That besides, if we really wanted to get into the nitty-gritty, we'd probably have to do it on the partner site due to that pesky NDA, argh! I wonder if it's possible to start up a Monkey subforum / thread there?)


Paul - Taiphoz(Posted 2015) [#3]
Thanks for the info, it's good to know I do not need to do anything specific as working with the SDK and calling its functions in monkey is not something I would know where to start with, so that's a plus, in terms of security my games not multiplayer and if people want to cheat they will always find a way so I'm really not to bothered about that either.

With regard to the Steam Module's I have searched, first of all searching this site is a pain in the ass, that aside the only one I can see is skids, which from the last few posts looks out of date.

With regard to the NDA I had hoped that I could avoid it until such time that I actually had something to sell, or registered as a business with appropriate tax details for that matter, it's annoying that they make it this hard, I'v gone down this route before establishing myself as self employed and setting up business accounts only for it not to work out so that's not something I am going to touch with a ten foot pool until I am sure I have something that will actually make it all worth while, if it turns out in the mean time that there is no other way to work with and test my stuff on steam then that kinda sucks balls and will rule steam out for me at least until I make something that actually sells enough to warrant taking those steps again.

On the off chance some one has a module and would not mind sending me it via e-mail you can find my address via my profile, just click my name above this post.

All that being said, Steam is such an important platform it's essentially the Apple Appstore or Android Market place for PC it would be nice if we had better support for it, possibly something Mark can look into for M2.


Why0Why(Posted 2015) [#4]
Hey Paul,

Might want to reach out to Ryan at Braceyourself Games, creator of Necrodancer. He might be willing to help. He did a bunch of heavy customization on Monkey that he said he would release in the future and he heavily used the Steam platform. Worth a shot, anyway.


Paul - Taiphoz(Posted 2015) [#5]
He had to hack monkey because of the way his game uses sound it was or is essential that each beat hits at the right time or his game would feel off, cracking game it is at that..

Cant recall the last time I saw him post here I think they use Unity now.