赞 | 5 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 0 |
最后登录 | 2025-3-3 |
在线时间 | 7 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 95
- 在线时间
- 7 小时
- 注册时间
- 2025-2-6
- 帖子
- 5
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 波鲁克 于 2025-2-19 00:03 编辑
最近做了点mv接入steam成就的工作,遇到了不少问题。在此记录,以备其他用户参考。
在论坛搜索steam成就的问题,大概会找到几个帖子,这里我贴两个。我主要是参考第一个。
https://rpg.blue/thread-490052-1-1.html
https://rpg.blue/thread-484006-1-1.html
先介绍下用到的几个文件和它们的作用。有些工作我并没有做过,因此说法不一定准确。
1 steamSdk。毫无疑问,接入steam成就肯定得调用steamSdk的api。
2 GreenWorks.js。steamSdk一般需要用c++调用。但有些游戏不是c++写的,,比如rm用js。
这些语言调用c++库需要做点额外的工作,greenworks的作用就是如此。它是为js开发的游戏准备的。
3 OrangeGreenWorks.js 。它是对greenworks做了一层封装。greenworks对rm开发者还是不够直观。
orangeGreenWorks把steam的api暴露出来,无论是使用还是阅读,它的风格与rm默认脚本类似。
4 nw.js。nw.js可以把前端项目打包成pc端的应用程序,据说rmmv本身就是nw.js做的。
上面两个帖子提到的下载nw.js库应该是用于生产环境的。不要下载sdk版本是用于开发者调试的。
接下来进入正题。接入成就过程中遇到了什么问题,以及是如何解决的。
1 按上面的文章下载相应的文件,放到正确的文件夹内。按f8打开控制台看看有没有报错。
如果你是在2025前后这个时间点,使用上面两个帖子提供的下载链接的文件,十有八九是要报错的。
而且错误提示也不直观,网上搜到资料很少。后来翻github上greenworks的页面,才知道greenworks
对nw.js和steamSDK的版本有要求。必须根据nw.js的版本来找对应的greenworks和steamSDK。
如何确定nw.js版本?测试游戏的时候按f8打开控制台 console页面下输入process.versions即可查看nw.js版本
查看rm使用的nw.js版本之后,根据github上greenworks对应的版本信息下载正确的greenworks和steamsdk。实际上最新的steam的sdk搜一下就能在官网上下载,但是老版本的下载颇费周折。
这一步之后控制台不再报错。我个人猜测,说不定可以使用其他版本的nw.js版本的文件替换发布之后游戏文件夹的文件但是我没有尝试过。
2 游戏打包发布之后,必须上传到steam,成就才能触发。电脑安装steam客户端,使用本地工程测试时无法触发成就。
因为成就需要steam的appId,本地工程不可能有这个id。至于怎么使用orangegreenworks的api,我以后再补充。熟悉默认
脚本,这个文件一看便知。
3 如果前面没有出现错误,到这里已经可以触发steam成就了。不过这里还有个问题。全屏模式下steam成就不会弹出。
这时候你需要打开工程文件夹下package文件 加入两个浏览器命令参数
"chromium-args": "--in-process-gpu",
文件会变成这样
以上虽然不能完美解决弹窗问题,但是接入的成就系统足够使用了
|
评分
-
查看全部评分
|