Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Steam Overlay on Windows? #2560

Closed
3030 opened this issue Nov 5, 2014 · 12 comments
Closed

Steam Overlay on Windows? #2560

3030 opened this issue Nov 5, 2014 · 12 comments

Comments

@3030
Copy link

3030 commented Nov 5, 2014

Hey @rogerwang, thanks for all your amazing work. Im noticing the Steam Overlay doesn't seem to work on my Construct 2 game when run from Steam (it's an actual Steam app, not just added in manually).

The weird thing is, it only seems to happen on Windows. Well I tested in OSX and it comes up fine using the keyboard shortcut, but in Windows (7) the keyboard shortcut doesnt work at all. I tried in another game that doesnt use node webkit and it seems to be fine. Is this something I should bring up with Construct 2, or is it something with Node Webkit?

Is there any more info I can provide that might help?

Thanks!
nate

@3030
Copy link
Author

3030 commented Nov 12, 2014

Hey @rogerwang Just curious if there is any info I can provide to this that will help determine if it's an issue with Node-Webkit or something else entirely.. thanks so much!

@rogerwang
Copy link
Member

Is it possible to provide a case?

@3030
Copy link
Author

3030 commented Nov 13, 2014

Sorry, im so new to this.. do you mean like an example? I have no idea what im doing haha :) I can give you a steam key to check out? make sure there's a shortcut key to open dev tools or something? Is that what you mean though? So so sorry, i promise your patience is appreciated, ill get you anything you need.

@EddieLongStockings
Copy link

This is the response I got from Valve. It's not much but I felt I should provide what data I have:

"It looks like how they have things setup (maybe a giant canvas or webgl surface) does lead to consistent rendering, so that part actually may be working. Think the actual problem is that they are using the chrome multi-process model and the compositing and gpu rendering are each in a separate process from receiving input. So we inject the overlay hooks into all the processes, but we only find a 3d surface and try to run in the renderer or gpu process but some other process is doing input and we aren’t hooking it.

If they forced the single process model for their webkit/chrome stuff that might make things work without them having to heavily modify the chrome code. “

Anyway, it's not a dire issue. We can have Valve turn off the Steam overlay by default until Node Webkit is ready for Steam, or when Steam is ready for Webkit.

@McKack
Copy link

McKack commented Nov 14, 2014

Success!
Tauri4n, that was actually very helpful, thanks!

Modifying the package.json to use the chromium argument "--in-process-gpu" I was able to make Steam Overlay respond to the hotkeys (open overlay, take screenshot, etc.)!
Here's a sample screenshot

@3030
Copy link
Author

3030 commented Nov 14, 2014

Works for me too - thanks so much!! Added the flag to the launch options in steamworks so i dont have to add the flag every time i export from Construct 2

@tommoor tommoor closed this as completed Dec 16, 2014
@3030
Copy link
Author

3030 commented Dec 29, 2014

Just a heads up... @McKack and @Tauri4n (and @rogerwang) I had a customer from steam have problems with the game crashing at random times not long after the game was running. usually within 1-4 minutes of the gmae running. Once I removed the --in-process-gpu from the steam launch flags, it ran no problem with no crashes. So it is definitely related to this flag specifically.

Is there some way to 'cancel it out' at launch time by him adding a launch flag into the steam game properties? I can fix the crash bug for the customer but it means I need to do one of 2 things:

  1. Not have a functioning Steam overlay for everyone else (when the game runs fine otherwise)
  2. Ask everyone who wants to use the steam overlay to try adding that flag manually and cross their fingers...
  3. Find some way to disable it in just his instance. For example, is there an override / opposite flag I can tell the user to add to his instance of the game so that it just breaks the steam overlay for him specifically and not everyone else?

Thanks so much! I hope that makes sense.

@rogerwang
Copy link
Member

Is it feasible to provide two startup shortcuts(e.g. BAT file) and use different command line arguments?

@3030
Copy link
Author

3030 commented Dec 30, 2014

Not really, unfortunately, as Steam lets you define only one executable as 'the one'. so i could define the bat file with the "--in-process-gpu" flag as the default so that anyone who clicks on the game in steam runs that app, has the steam overlay, etc. But then I'd have a second bat file without the flag and it wouldnt actually work to run the app...

In addition to that, and I dont know if this is a bug with Nodewebkit or with the greenworks plugin but the steam overlay also doesnt work at all unless i rename my app to nw.exe and am using that nw.exe file as my launched file from steam, so even if the .BAT file thing worked in theory, it actually wouldnt work anyway by way of only being able to use nw.exe as my application exe file (is there any way to fix that?)

@EddieLongStockings
Copy link

Just my two cents: I'm not using Greenworks. I've focused more on the Steam Web Api.

@3030
Copy link
Author

3030 commented Dec 30, 2014

Thx @Tauri4n -- actually, im curious, do you have any issues with the Steam Web Overlay using the flag posted by @McKack ? Also, how do you turn off the overlay by default?

Forgot to tag @rogerwang in my last post, so ill do it here (sorry).

@EddieLongStockings
Copy link

I haven't heard anything bad since the tweak. Valve doesn't seem to like the idea of not supporting the Steam Overlay. I wasn't even able to get them to turn it off by default. And players don't like the process of turning it off on their end.

Having anything less than it working, is a bad judgement call from an business standpoint.

It may seem like a small issue from the outside, it really isn't.

I'm using Node Webkit v0.10.5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants