DirectX Overlay - C# - Learning Curve

  • DirectX Overlay - C# - Learning Curve Citroenfris


    I've recently created some interest in Overlays for games. Examples can be Steam/Xfire which use these overlays ingame so the user can access their programs while being in a game. I love this idea and I'm wondering how steep the learning curve would be to eventually create such an overlay (not exactly as advanced as the ones mentioned above).

    I'm currently programming mainly in C#, I have no experience with C++ whatsoever nor DirectX. During my education most focus was placed on C# and Java. As I much prefer C# over Java. My skill set for C# isn't bad. As I recently graduated I wouldn't call myself a C# wizard however.

    The main questions I have are:

    Where do I start with my goal to create overlays for games?
    Does anyone here have any experience with it?
    How steep would the learning curve be?

    Thank you for your time reading my question!

  • The Steam API, called Steamworks, is only exposed through C++. Although Steam accepts games written in C# with XNA you will have to write the code that calls the overlay functions in C++. Since all you need to have is a simple function call, the part of your code in C++ can made very small. From [][1]:

    If you want your game to activate a dialog in the Steam overlay, use the function SteamFriends()->ActivateGameOverlay(). It takes the name of the dialog to open, or just activates the overlay if nothing specified. See ISteamFriends.h for more details.

    As for the case of an application such as Xfire, it involves swapping the Direct3D/OpenGL dynamic library the game is using for one that wraps the real one. In the wrapper dll, after the game has been given a chance to draw but before the buffer is swapped, it passes Xfire the rendering context for it to draw the overlays.

c++ c# directx
Related questions and answers
  • ++ or java I just dont have much experience using the jni. Ive built some sample projects where I pass primitives like floats and perform operations on them on the native side and then passed them back but I cant figure out how to create a scene in opengl in c++ and then pass it to java. Ive been looking at writing everything using java but Im not sure if the java bindings make for some performance...Ive been reteaching myself opengl so I can make a game on android. However Ive been struggling with how to build objects and scenes in opengl using c/c++ and passing them through the jni

  • : should I be considering creating my own little "game engine", learning through it, adding features as I need them ? I think it could be a really good experience, but it would certainly take time as I'm no professional, and I don't have a clear view of "how-to" yet. I am using SFML with C++. ... Possible Duplicate: When to roll your own game engine? I've been interested in writting games for a while, and now that I have acquired a bit of experience in programming, I feel like I

  • Possible Duplicate: What are good games to “earn your wings” with? Hai, I'm new to the genre "Creating Games".Previously i had done only porting.I need some suggestion's for making a game. What are the basic game logics i need to start with? - Should i write Tic-Tac-Toe game? - Actually this seem very basic to me. I'm totally confused on where to start with.I like to create big games but after starting i feel the game is too heavy to handle. Can any one list out the basic needs of a Game Play programmer? I don't mind using any platform (Flash,c

  • such as World of Goo, Gish, and Aquaria; but I'm really missing out on good games over here in my Linux hut. What I have found So, I did a little research on how the games mentioned were made. Thus, I have started learning OpenGL and SDL using my C++ programming experience (which is about a year of programming, not much). I also picked up the following books, which were recommended from programmers...The short and sweet question I'm new to game programming in general, so how do I go about making GOOD QUALITY opensource games? What I have come across There are a multitude of games that I have

  • Choosing an Audio API Aidan Knight

    Possible Duplicate: Cross-Platform Audio API Suggestions I have gone down this road a few times, and always decided to put it off. I am finally to the point I need to choose an Audio library and stick with it. I switched physics engines 3 times which caused quite a bit of wasted time, so I would like to be set when I pick an Audio lib. I will be falling into the "indie" section as far as licensing goes. Here is what I have so far.. FMOD - Quality Middleware, success has gone to their heads and it seems they did away with the indie license recently. Price range seems to go from

  • this summer and I have a good grounding on the web side of things. I've also done some very basic c++ (what i would consider basic). My c++ skills basically comes down to different tutorials on things... of this then why would I be here asking this question? The reason is as shocked as I am about this. I don't like to lose. I have my own queries on how appealing this project would be to someone looking... in the world. I'm OK at C++ but its one language I would really like to explore and make my primary language. (assuming there are jobs for grads in this area) This project will most likely define the career

  • but forced myself to wait on, as there are only so many hours in the day to devote to projects. I am an experienced web developer (12 years) with most of my experience programming in C# and .Net (8 years). I am also a capable graphic designer. I have a surface knowledge of C++, though it's been 10 years since I wrote any C++ code. I also played with the DirectX 5 API back then as well. I am happy to outsource graphics and sound, leaving me with coding, game design, level design and so forth. Do I need to learn C++ properly, or can I rely on my C# and .Net knowledge? If I'm going to leave C

  • I am fairly new to c/c++ but I do have experiance with directx and opengl with java and c#. My goal is to create a 2d game in c with under 2 pages of code. Most of what I have seen requires 3 pages of code to just get a window running. I would like to know the shortest code to get a window running where I can draw lines. I believe this can be done in less lines with opengl versus directx. Is there maybe an api or framework i can use to shorten it more? Also, it would be nice if the solution were cross platform compatible.

  • read that it's a bad idea to create iterators in Java (due to the garbage collector), but that idea seems moot in languages such as C++, where there isn't a garbage collector, and I would imagine... that. All this seems well and good, except I have one question, why not linked lists rather than arrays? Sure, if you had to make your own linked list class, I would be on board, but in c++ anyway, assuming...I was recently listen to a talk that Jonathan Blow gave, you can find it here. In the talk, he was talking about what data structures he (and he seemed to imply many others) use, and why. Which

Data information