SyntaxBomb - Indie Coders

Languages & Coding => BlitzMax / BlitzMax NG => Topic started by: LT on May 31, 2018, 17:31:27

Title: Steam module?
Post by: LT on May 31, 2018, 17:31:27
Is there an up-to-date Steam wrapper module available anywhere?  Just wanted to check before attempting to roll my own...
Title: Re: Steam module?
Post by: MagosDomina on June 01, 2018, 01:40:28
There was one for Blitz basic. I can upload it for you if interested. I saved it for a future project.
Title: Re: Steam module?
Post by: LT on June 01, 2018, 05:36:08
Thanks, but not sure that would help.  I'm using BlitzMax.  Didn't even know it was possible to make a BlitzPlus wrapper for Steam.
Title: Re: Steam module?
Post by: Derron on June 01, 2018, 06:54:26
"blitzmax steam"-google search:
http://mojolabs.nz/posts.php?topic=104599


bye
Ron
Title: Re: Steam module?
Post by: LT on June 01, 2018, 16:17:19
Thanks, Derron.  Is that it?  The zip is from 2010 and it looks like there's very little to it.
Title: Re: Steam module?
Post by: Derron on June 02, 2018, 06:37:42
Maybe do your google search ?

basic idea seems to be to use the steam SDK, export some functions in BlitzMax (to communicate to the SDK-functions) and this is it?


bye
Ron
Title: Re: Steam module?
Post by: LT on June 02, 2018, 08:03:06
You honestly think I didn't check Google first, like this is my first day on the internet?

I remembered (perhaps, wrongly) seeing a post about someone (Brucey?) helping someone (Grey Alien?) with a Steam module and was wondering if that was available somewhere.  I thought there was more to it then dropping a .dll and wrapping a few functions, or I wouldn't have bothered asking.
Title: Re: Steam module?
Post by: Derron on June 02, 2018, 08:56:05
Quote from: LT on June 02, 2018, 08:03:06
You honestly think I didn't check Google first, like this is my first day on the internet?

Yes - I get used to people asking in forums first rather than doing a bing/duckduckgo/google search in advance. Similar to people doing full quotes and the likes.


And yes, it sounds as if it is just wrapping functions and calling them approbriately.


bye
Ron
Title: Re: Steam module?
Post by: Brucey on May 16, 2019, 17:39:59
I'm currently working on a Steam module for BlitzMax NG.

If anyone has any thoughts as to which parts of the Steam SDK are more important than others, I can prioritise better. I'm currently implementing ISteamUserStats which has all the achievements/leaderboard stuff in it.

I'm heading towards supporting only 64-bit at the moment - because it seems that everything (surprisingly) *just works* with GCC and the 64-bit Windows Steam SDK so far...

Steam is full-on callback/async which makes wrapping it... interesting :-)
Title: Re: Steam module?
Post by: Derron on May 16, 2019, 18:41:04
Dunno which parts it offers but I assume this has priority:
- user interaction (highscores, achievements)
- inapp purchases (monetarization)

So at the end just what the majority of the steam users expect (am not a steam user, no account there).


bye
Ron
Title: Re: Steam module?
Post by: therevills on May 17, 2019, 01:35:43
Quote from: Brucey on May 16, 2019, 17:39:59
I'm currently working on a Steam module for BlitzMax NG.

Cool!  8)

Achievement and leader-boards are the big ones.
Title: Re: Steam module?
Post by: Brucey on May 22, 2019, 17:29:54
If someone can have a look over the module, that would be great thanks : https://github.com/bmx-ng/steam.mod
64-bit Windows/Linux only for the moment. Once I get some time to sit down at my Mac, I'll make sure that is working too.

I've only implemented SteamUtils and SteamUserStats interfaces for now. That seems to cover the more popular use cases.
Introduction documentation needs done, but the core docs are pretty much complete, I think.

I'm also considering shipping it with future BlitzMaxNG releases, since everyone keeps telling me BlitzMax is for games programming, and it might encourage developers to try out Steam if the module is included as part of the main bundle.

If anyone has problems, or would like more APIs implemented, feel free to raise an issue on github.