Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Greetings

I'm in the process of making a Scoreboard for a game (Starcraft II). This scoreboard is being made as a WPF Application with a C# code-behind. I already have a version which works for 90% in WinForms but I lacked the support to easily make it look a lot nicer which are available in WPF.

The point of this application will be to form a kind of overlay on top of a running game. In this overlay people can see the Score, Map, Players, Colors, etc. Basically all the info they need.

Since the main look of the app in WPF is based on an image with a transparent background I have set most Background values to Transparent. However when I do this the entire application does not get registered by streaming software. For example it just shows my Desktop or the game I'm playing but not my application even though it IS there. I can see it with my own eyes but the audience on the stream cannot.

Does anyone have any experience with this matter because it's really doing my head in. My entire application will be useless if it is not visible on streams. If I have to put the background on a color rather than transparent the UI will be completely demolished as well in terms of looks.

I'm basically trying to make a game-overlay in C# & WPF which is able to update with little hassle for the viewer. I have little to no knowledge regarding C++ and DirectX so I would not know where to start in that regard. This project currently holds 1 Developer and 1 Graphic Designer so it isn't a big scaled project, it will also be distributed for free once/if it gets finished. Any tips are welcome!

Thank you for your time reading and your possible insights.

share|improve this question
    
What type of "streams" are you talking about? –  Nate Dec 7 '10 at 21:12
    
Basically streams such livestream.com, ustream.tv, own3d.tv . Generally websites used by gamers to stream their games. The game in specific that I'm talking about is Starcraft II –  Niels W Dec 7 '10 at 21:50

2 Answers 2

up vote 3 down vote accepted

Your window gets rendered using the HW acceleration of the video card to get transparency effects, and bypasses standard Windows GDI stack, which is captured by most streaming utilities.

Basically, you can a) hook DirectX's drawing functions and draw your overlay on top of the game (like Fraps does, for displaying FPS counter. AFAIK Steam overlay works the same way), though it can cause problems with anti-cheating tools

or b) advice your users to use streaming apps that CAN capture layered windows (as there are a number of screenshot tools that can, I assume there are streaming apps, too, though i havent used them personally)

or c) make important parts of your application square and not transparent.

or d) contact Blizzard to see if they have SDK for interacting with the game (Little chance, but you could probably at least get some advices)

share|improve this answer

You can contact the Overwolf Guys, they might help you with that. Contact team@Overwolf.com.

They do the same in WPF etc.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.