> Alternatively, you can set up microtransactions on a website using the Steam WebAPI and open that from the game.
You mean like opening a webpage in an iframe inside the game window? I guess I will also have to make some API calls from the game to retrieve the status of purchases?
An iframe or separate window, whatever works best for your game, but you'll need a secure server to send the API calls.
You would save the results of transactions to the server and then retrieve that data from the server.
If I choose to sell a DLC pack (say, new levels for the game, just a simple text file), how will my game recognize that the DLC is purchased? Will it be installed in the same directory? Can I simply check if the filename exists in the home directory?
Steam4C2 has a condition for checking DLC is owned by the player, so you could just include everything in the default build and enable things if DLC ownership is true.
But, yeah, it could just be a simple text file, that installs to the same directory (you set the path for subdirectories on Steam) and you check that it exists. We actually do it this way for one of the non-Contruct 2 games I've worked on.
Sorry if my questions are silly, I have zero experience with all these..
They aren't silly. I'm not hugely experienced with this myself, but I do have access to the Steam documentation and developer boards.
I probably can't go into much more detail as a lot of Steam stuff is under NDA, but once you're a Steamworks partner and have access to the developer forums there are a lot of more knowledgeable people than me who are happy to help with any specific issues you get stuck on.
Out of interest, what's the game you're working on? Is it something that could sell without DLC or microtransactions?
Wasn't aware of the Steam WebAPI. I'm like wtf aren't we using that?
I mean that's what we do do.
We don't do C++, we don't do mobile native.
We do html.
You need a secure server to do all the important game related things like transactions, achievements and leaderboards, but yeah it might be a better option for some people.