MV, Steam achievements & You (And also how to update nw.js!)

● ARCHIVED · READ-ONLY
Started by SGHarlekin 25 posts Page 1 of 2 View original ↗
  1. I've seen a bunch of people still struggling with the easy task of getting steam achievements to work, so I'm going to attempt to write somewhat of a guide here.

    I've currently got 2 games on steam, both with working achievements.

    So let's begin.

    https://github.com/greenheartgames/greenworks/releases
    This is the greenworks.js. Put that into your game's main directory, not plugins.

    The build releases say for which nw.js and steamworks sdk they are.
    1739061442665.png
    If you can't find your nw.js version here, it's time to update your nw.js. Essentially navigate to https://nwjs.io/ , hit downloads>previous releases, scroll down to the version you want. (in my case v94.)
    1739060404618.png
    Download both of the links which are purple in this screenshot. The "sdk" version goes into your nwjs-win-test folder, the regular version goes into your nwjs-win folder within your rpg maker files (Not your project folder!). "Sdk" has the dev console enabled, the regular doesn't.
    1739060511312.png
    When updating, delete the contents of your nwjs-win/nwjs-win-test folders, but keep the package.json in nwjs-win and keep the www folders in both locations. Unpack the freshly downloaded nw.js version into their respective folders, rename the "nw" file to "Game" and done.

    A little extra tip: With newer nw.js, it is possible that the game will tell you something about a "name" missing. To fix that, go into your project folder, open the package.json with something like notepad++ and enter anything under "name".
    1745719869037.png
    Pro tip: Using the x64 files makes your rpg maker game be able to use more than 4gig of ram!

    Now back to the achievements!

    https://github.com/Hudell/mv-plugins
    This is the actual plugin by Hudell. Put into your projects plugin folder, activate in plugin manager. It's missing the help file, that's why there's this shifty looking google drive link that contains this help file in the form of an html document:

    OrangeGreenworks Documentation.rar

    Now we need the actual steamworks SDK files:
    Steamworks - Build & Distribute Your Games on Steam
    this is only accessible if you got a steamworks account as far as I'm aware, but you should be having one of those already if you plan on releasing anything on steam.

    Download the version that's matching the greenworks files you downloaded with the first link of this guide (In my case 1.6).

    in this archive, you'll find all the necessary lib files. Navigate to steamworks_sdk_160.zip\sdk\public\steam\lib and you'll find these folders:
    1739060933824.png

    Navigate to your project and create a folder named lib in your main directory, then navigate into each of these folders on the screenshot and copy the files inside into your projects lib folder. Be aware that you'll have to rename the linux x64 file to libsdkencryptedappticket64, otherwise it's going to overwrite the regular linux file.

    Next, navigate to steamworks_sdk_162.zip\sdk\redistributable_bin\win64 and put those 2 files into your project's lib folder as well. (If you're trying to develop for another OS, you can add those in the other folders too.)
    1756559377472.png

    If you don't plan on making a linux / mac release, you can skip all of them except for the windows ones. (guide on how to release on linux/mac not included)

    If you have not yet created an appid (meaning you haven't shilled out the 100 bucks yet), you can create a text document named steam_appid and place it where your greenworks.js is located. Inside that text document put the number 480, which is used as a placeholder appid for games not yet submitted to steam.

    Note: Do remove said .txt file once you actually deploy your game.

    (Thanks to @emogal for finding out this detail.)

    Once you got all that done, open rpg maker, make sure your orangegreenworks plugin is activated, start your playtest and open the dev console (F8). If it says Steam user: "YourSteamUsername" it's good to go.

    Bonus tip:
    Navigate to the steamworks setting of your game, installation>general installation and add this as an argument:
    1739061307768.png
    This will enable the steam overlay for your game.

    And that should be it. If you're still not able to have it working, let me know.
  2. Hello @SGHarlekin

    First of all, thank you for your guide.

    I found something that bothers me, so I came here for advice. I have trouble with launching my application. I can't playtest either. When I try to launch .exe file of deployed app, the error will popup:

    "Error loading resolution

    Failed to load extension from source [path to the project]
    Required value "name" is missing or invalid."

    Any tips how to solve this?
    (If you have some extra time, I'd really appreciate a call with you as well, since this is my 3rd attempt and it's driving me crazy.)

    Thanks.
  3. Sussuri said:
    Hello @SGHarlekin

    First of all, thank you for your guide.

    I found something that bothers me, so I came here for advice. I have trouble with launching my application. I can't playtest either. When I try to launch .exe file of deployed app, the error will popup:

    "Error loading resolution

    Failed to load extension from source [path to the project]
    Required value "name" is missing or invalid."

    Any tips how to solve this?
    (If you have some extra time, I'd really appreciate a call with you as well, since this is my 3rd attempt and it's driving me crazy.)

    Thanks.
    Ah yes. Navigate to your project folder, open the package.json with something like notepad++ and enter a name.
    1744728811005.png

    Any name will do.
  4. Thank you for fast reply! It helped, the deployed project is now playable! (I can't open the console, but I believe everything is as it should be) Just to be sure - is it okay if the project launched wihout steam_appid.txt file?

    As for the playtesting, I'm still not able to playtest. When I click on "Playtest" button, nothing happens. When I change the name in package.json in the project (not deployed one), it's not helping. Any tips?
  5. The console is not supposed to open on a deployed project indeed. You could change that by using the SDK version of nw.js in your win folder (same as the win test folder) if you need it for testing purposes, but you generally don't want the player to be able to open it.

    I'm not quite sure of what steam_appid.txt you're talking about. Neither the steam sdk nor nw.js have that and it's not in the guide either, sooo... Not sure? You can open it and it probably just has a number in it if I'm not mistaken, which if anything just has the app id of your game. Shouldn't affect anything. I checked my released games and neither one is having it.

    As for the playtest not working, I can only imagine you having messed up somewhere.

    Assuming you're operating on windows, your nwjs-win-test folder should look something like this:
    1744730408947.png
    Taking a shot in the dark, have you renamed the "nw" file into Game? I realized it's not actually in the guide... I included that detail.
  6. Understandable.

    The steam_appid.txt was, according to other forum threads I've read, for testing purposes of deployed app with Greenworks. Main goal is to put your steam app ID to txt file and save it to simulate connection with Steam I guess and this file should not be distributed to build that will be released on Steam, so it's just for testing. Apparanetly the deployed app should not work without this txt file, mine did, so that's why I was asking. Thanks for checking your apps.

    Yep, it was that. I renamed nw into Game and it's working just fine, thank you.

    Probably my last question for now - How can I be sure the script calls I'm making are correct? After pressing F8 I can see "Steam user: [MySteamUsername]", so the setup should be fine. But if I want to test for example an event that will popup achievement - is there a way to test this during playtest?

    Thank you for your time and patience, I'm nearly at the point of releasing my game and before submiting first build to Steam I want to be "close to perfection", so I'm kinda nervous since this is the first time for me.
  7. Sussuri said:
    Understandable.

    The steam_appid.txt was, according to other forum threads I've read, for testing purposes of deployed app with Greenworks. Main goal is to put your steam app ID to txt file and save it to simulate connection with Steam I guess and this file should not be distributed to build that will be released on Steam, so it's just for testing. Apparanetly the deployed app should not work without this txt file, mine did, so that's why I was asking. Thanks for checking your apps.

    Yep, it was that. I renamed nw into Game and it's working just fine, thank you.

    Probably my last question for now - How can I be sure the script calls I'm making are correct? After pressing F8 I can see "Steam user: [MySteamUsername]", so the setup should be fine. But if I want to test for example an event that will popup achievement - is there a way to test this during playtest?

    Thank you for your time and patience, I'm nearly at the point of releasing my game and before submiting first build to Steam I want to be "close to perfection", so I'm kinda nervous since this is the first time for me.
    Well, you are able to start your game on steam whether you released it or not. So one thing you can do is just start it and get an achievement to see if it works. In general tho, if your steam user pops up it should already work, unless you're getting like an error in the console.

    Perhaps the steam appid file was necessary for the older versions? I vaguely remember reading that somewhere too. But as I said, both my released games work fine without it for me and other players. And worst case scenario, just leave it in as it's just a txt file and is not likely to break anything.

    Glad the guide seems to have been useful for you. I tried to make it less convoluted than the other available guides and only focus on what you need to do without doing long explanations why and how everything works and providing links that still work, haha.
  8. You are right, I tried it out and it's working!
    Achievement pop-up
    SteamAchievement.jpg

    Make sense, since it was needed when I was following some older tutorial. (which did not work for me in the end) Just wanted to be sure :)

    It was, thanks to your communication it was the best one so far. I'm glad you've made it, thank you! :) You just have a confirmation from other dev, that it's really useful :LZYcool:

    Btw while we are at it, are you using SteamAPI_Init? I've heard it's good practice, but have no experience with where to put it (in game/in plugin folder as a script) or if it's really needed.
  9. Sussuri said:
    You are right, I tried it out and it's working!
    Achievement pop-up
    View attachment 337762

    Make sense, since it was needed when I was following some older tutorial. (which did not work for me in the end) Just wanted to be sure :)

    It was, thanks to your communication it was the best one so far. I'm glad you've made it, thank you! :) You just have a confirmation from other dev, that it's really useful :LZYcool:

    Btw while we are at it, are you using SteamAPI_Init? I've heard it's good practice, but have no experience with where to put it (in game/in plugin folder as a script) or if it's really needed.
    I'm not a programmer, so I wouldn't know either. But I assume the greenworks plugin is what handles the api calls and gives your the script calls to make it do the communication with the api.

    It's not necessary for your achievements to work, as you've just proven to yourself, haha.
  10. I have a problem. When i rename nw to game in deployment version, it automaticly changes the picture to mv and works. But when i do the same in sdk version, it stays with the dark icon, and when i try to launch i am getting - error, file not found. What that could be?
  11. ElvenNeko said:
    I have a problem. When i rename nw to game in deployment version, it automaticly changes the picture to mv and works. But when i do the same in sdk version, it stays with the dark icon, and when i try to launch i am getting - error, file not found. What that could be?
    When you say "launch", what exactly do you mean by that? Are you trying to launch the Game file?
  12. SGHarlekin said:
    When you say "launch", what exactly do you mean by that? Are you trying to launch the Game file?
    Test launch in editor.

    EDIT - nvm, fullu reinstalling everything, including mv itself fixed the problem.
  13. I changed the name in the package.json and still got this error :(
    1745884130827.png1745884156884.png
  14. JegueAvapor said:
    I changed the name in the package.json and still got this error :(
    View attachment 338912View attachment 338913
    Probably changed the wrong one then (or forgot to save). For playtesting, you want to make this change in the package.json within your project folder. For deployed games, you need to make this change in your nwjs-win folder.
  15. After updating the nw.js file just like in the tutorial the star tiles stopped working. Now they behave just like regular passable (circle) tiles.
    1754915030838.png

    The characters should appear below them but appear above. Is there any fix for this problem?
  16. Harven said:
    After updating the nw.js file just like in the tutorial the star tiles stopped working. Now they behave just like regular passable (circle) tiles.
    View attachment 347163

    The characters should appear below them but appear above. Is there any fix for this problem?
    That depends on what plugin you're using and whether or not it's compatible with the newer nw.js version, I'd say. Personally I'm using Tonbi's TF_LayeredMap plugin, and that works just fine.
  17. SGHarlekin said:
    That depends on what plugin you're using and whether or not it's compatible with the newer nw.js version, I'd say. Personally I'm using Tonbi's TF_LayeredMap plugin, and that works just fine.
    I'm not using any plugins for map layering just the base RPG Maker MV options from the tileset menu
  18. Harven said:
    I'm not using any plugins for map layering just the base RPG Maker MV options from the tileset menu
    That seems like an odd occurrence that doesn't really happen. NW.js doesn't alter the way tiles behave as far as I'm aware.

    What I can recommend is making sure your passabilities are actually set up on the right tileset used on the map in question. (Wouldn't be the first time I had something set up on a duplicate tileset, wondering why it's not working on the map...)

    Alternatively, show us some screenshots of:
    The map properties window
    The tileset tab of the tileset in question showing the passability

    Maybe we can figure out something there, but as I said, I've never heard of a case where updating NW.js influences the way rpg maker works in any way.
  19. 1755082413054.png
    1755082160893.png
    Everything seems to be fine. The problem never occured before updating the file and it stopped occuring after I switched back to the old version so it must be something with the NW.js file. I saw some comments under a tutorial on how to update it reporting the same issue but they have no responses so it was seen before but never resolved.
  20. Harven said:
    View attachment 347312
    View attachment 347310
    Everything seems to be fine. The problem never occured before updating the file and it stopped occuring after I switched back to the old version so it must be something with the NW.js file. I saw some comments under a tutorial on how to update it reporting the same issue but they have no responses so it was seen before but never resolved.
    Well, that is interesting. I can't say I'm having this issue whatsoever, but I'm also using a star-tile fix plugin, as mentioned before, since you kind of need that when using 2 tile high characters, otherwise there will be problems with clipping.

    Sadly I am no coder, I just wrote this guide to help people who don't know how to do it, so I don't have a solution for you I'm afraid.
    But you could always try a lower version and see if that works. v94 is just the one I chose.