For the first time, I can say I am ready to publish a game on Steam. Yay ! It's bug free, polished, and all. However with that realization came a lot of questions related to preparing the game for Steam itself. It seems to require quite the technical expertise, but I can't find any tutorial, and most topics on the forum are very old. I'll split my questions in several paragraphs and if you can answer any of them I'd be IMMENSELY grateful.
Sorry for the truckload of questions but this is a really puzzling moment for me, and my programer's experience has not prepared me to it. I don't want to stumble so close to the finish line.
First of all I need to point out I've been using Construct 2 (release 262) for this project.
I'd like to offer Steam achievements to my players, but all the addons I've found are quite old and I don't know if they're up to date :
I suppose I'll go the "Official" greenworks route if someone can assure me it still works ? (it's one year old)
I also do not understand what these "supported versions" mean. Is it that when you Export to NW.Js, the current version of the program you've installed is included in the export ? So far I've been working with an old NW.js I've installed a while ago : "v0.20.0 for Construct 2".
If a want to use the Greenworks Addon, I shall download v0.30.4 here (https://www.scirra.com/nwjs) and everything will be good ? Or do I need to do something else ?
Simple question : would it be easier to port my game on Construct 3 before releasing on Steam ? Is the support more up to date and would it guarantee my game works better than with Construct 2 ?
As of now, I save all the data I need in an XML File located in a folder I create at first launch located here : UserFolder\GameName\Save
I load it at launch with Ajax and rewrite it with the new save data when needed with NW.Js.
So far this method has worked well BUT it is extremely unprotected. Basically, anyone can alter the data with a simple notepad (unlocking any item, any level, ...).
Is Steam ok with such a save system ? Should I rework it, and if so what other system should I use ?
This seems especially problematic with my Achievement trackers that could be easily manipulated thus prompting Steam achievements with little to no "playing" at all.
Like I said, my save folder is located here : UserFolder\GameName\Save
Is it a good place fitting Steam standards ?
I think most of my Steam games save in two folders :
- Program Files (x86)\Steam\steamapps\common
- Documents\My Games
Should I locate my save file in one of these places ? I don't know if there's an "etiquette" to respect.
Will I be given the opportunity to test how my game works on Steam without actually making it public ? I suppose my implementation of achievements, for example, won't work the first time I program it, but will I be able to test it and have some feedback ?
I think it sums up everything I'm concerned about on this topic so far. Again, thanks a LOT to anyone who can give me any kind of insight on this topic <3 <3
Develop games in your browser. Powerful, performant & highly capable.
Should I maybe have created the same topic in the "How To" section instead ? :x
We're in the process of creating our Steam Direct account so I suppose I'll see soon enough if at least I can do some testing easily.
1. I recommend using the official plugin since Steam4C2 has been completely abandoned by the developers (or am I wrong about this MadSpy AJ2DI?). It's not a scam by any means but don't expect updates anytime soon for that plugin. Same could be said about the official plugin since that one heavily relies on 3rd party code for better or worse and Construct's focus has mainly, but not exclusively been on mobile games so far.
Read the manual for the plugin you choose. In short, specific versions of NWjs require specific files.
2. I'd always recommend going with Construct 3 if you can afford it. Tons of improvements, both for the editor and games made with it.
3. File format is up to you, pick what you prefer to work with. There might be some file format "elitists" telling you otherwise but in my opinion none of that matters, unless you save huge amounts of data.
There are 3rd party encryption plugins out there to keep your save-data safe.
4. It's common for software or games to save inside folders with possible write access (e.g. appdata folder). I'd personally recommend a multi-folder approach. Try saving to your game's folder first, pick another if it fails. Add a timestamp or similar to always load the most recent file.
Construct 3 has conditions to check if writing to file has failed but in Construct 2 you would have to do something similar to this example:
5. Steam supports private beta branches for testing. You can even give access to friends or credible game journalists.