【经验】Steam4C2插件使用总结
我的RunningDead已经基本完成了,还在做最后的成就调试工作。虽然因为工作原因发布日期遥遥无期,但还是要趁现在把正在用的Steam4C2写一下使用总结,做个备忘。
1 准备工作
Steam4C2是C2的插件,使用者可以通过这款插件,结合steamwork的SDK进行steam游戏的接入开发。
在一切开始前,你需要有一款通过绿光的游戏,这样你会成为steamworks。虽然绿光很快就没了,但不妨碍,新的发行方式同样会使你成为steamworks的开发者。
在steam发布游戏,C2目前能够做到的方式只有使用NW.js将游戏打包为exe。其实如果你没有做steam成就或overlay的需求,那么通过绿光后直接用steamworks的工具包上传游戏包就行了。但如果你想要添加成就或overylayUI,那么就需要用到Steam4C2插件了。
那么首先第一步,你需要购买下载插件。目前插件分为basic版和完整版,据说完整版有更多的内容,比如steam云的操作以及使用steamwork的统计系统,这是我问作者问题的时候作者说的,具体没看到不好瞎说。但感觉basic版本已经够用了。
Steam4C2的插件分为不同的版本,下载时需要选择与NW版本对应的插件:
同时要确保你的steamworks的SDK下载的是最新的版本。
目前NW.js 0.19.2的插件版本针对于nw0.19.0-rc1似乎有BUG,最好避开
下载后的压缩包里包括3个文件:
NW19-rc1-Steam4C2-Basic-V1.3.c2addon是插件本体,直接将其拖入C2,点击安装后重启C2即可安装成功。
Basic_Features_list.pdf是功能说明文件,里面列举了basic版本中支持的各种功能
Quick_Start.pdf是简单的安装和使用说明,参考里面的内容安装你会被坑,请对照下面的部分避免被坑。
在你下载的steamworks文件夹内,找到redistributable_bin文件夹,在这个文件夹里可以看到以下文件:
将你需要dll文件导入到C2的Files文件夹里,在我的项目中,我只提供win64的版本,所以只导入了win64文件夹里的steam_api64.dll文件
其次,你需要将steam_app_id.txt导入Files文件夹里,这个文件内只存放一串ID,这个ID就是你的游戏在Steam的唯一数字ID。
注意!坑的地方来了!
appid是用来与你在steam的游戏ID做对应关系的,官方文档和steamwork提供的文件都是这steam_app_id.txt,然而我无论如何都无法调通。
最后我不得不写信给作者。他提示让我试试将文件名改为steam_appid.txt,奇迹发生了,我TM居然连上了。
所以各位如果遇到同样的问题,请修改文件名。
最终C2的Files里添加了这两个文件:
2 调试方法
好了,万事具备,可以开始正式使用插件了。
但在使用之前,你需要首先使用steamworks将自己的游戏进行第一次上传。这样以后你就可以不用每次都上传steam后再测试了。
而此时,在Steam的游戏库中就有你的游戏了,当然只有你自己能看到。
以下几点要注意:
在C2中,使用预览是无法调试steam4C2功能的,必须导出NW.js
导出后可以测试steam是否连通,如果连通了,屏幕右下角就会弹出steam的小弹窗
导出后可以在本地测试steam的成就功能
OverlayUI的功能必须上传至steam,从steam打开的游戏才可以测试(Overlay就是steam自己的UI,可以打开steam的社区,聊天等东西,我这次没有使用)
Steam成就需要在steamwork的网站页面里配置后才能弹出,配置内容包括图片和名字,可以做本地化。这部分后面会细说。
Steam的游戏库中可以看到自己游戏的成就,但看起来会和其他已上线游戏不一样。其他游戏可以看到未解锁成就的ICON,但我自己的只能看到最近解锁的那个,锁定成就那里会出现+X的数字,这个应该是正式发布后才会正常的。
3 Steamworks成就配置
接下来,就可以开心的添加Steam成就了。
登陆你的steamworks,找到统计与成就的页签,选择进入成就界面。注意统计功能目前无法使用,自己写代码去连估计是可行的,或者按作者说的,买完整版插件。
点击新成就创建你的成就,其中API名称为C2里会使用到的成就的KEY,这个名字可以自己起,也可以干脆用默认的。
进度状态是与统计系统关联的,因为Basic版不支持,所以这次我没有使用。
显示名称和描述分别是成就的标题和描述,一般描述会写成就的达成条件。
设置部分不用管,隐藏功能可以使成就在steam的成就列表里隐藏,这次我隐藏了“长者”的成就。
两个图标,分别是已达成和未达成,需自己制作上传。图片需为64x64的JPG
保存后还可以再编辑,也可以删除。
在统计与成就的页签下还有一个成就本地化的页签,点开后可以开启不同语言版本的成就,我勾选了中文和英文:
一旦勾选,在成就界面就可以选择语言填写不同的成就描述了:
本地化成就还允许填写本地化字符串,可以做多语言成就的key使用。
一切都好了以后,成就就算添加完成了。使用steamworks的发行功能提交编辑的修改。
4 C2成就编写
以下是Steam4C2的event:
以下是action:
回到C2开始编写成就。涉及到成就达成的条件每个游戏都不一样,这里就不再赘述。
在我的游戏中,我使用了字典配置了所有24个成就的开启状态,并将这些值使用webstorage保存在本地。
当判断成就达成就Unlock对应的成就key:
因为成就只会Unlock一次,所以我也懒得再判断是否成就达成了就不再开启成就了。但测试的时候,可以自己设置快捷键重置成就状态。
最后一个小坑标注:因分辨率的不同使得游戏在全屏的情况下会出现左右的黑边裁切。而steam的成就tips很可能会因此被裁掉一半,感谢一下傅老师帮我解决了这个问题。修改全屏下的显示效果即可。
以下是最终的成就提示效果,不要在意右侧的成就调试信息……
另外,overlay虽然我没用到,也截个图给大家:
鉴于最近发生的一些事,最后标注一下 —— 本文只在Indienova发,请自觉勿转载。
干貨!!
好赞!以后做STEAM可以少踩好多坑!
先驱者干货,坑帮大家趟了一遍~
感谢楼主,硬梆梆的干货!
很好!
讚喔