Sign in to follow this  
The Frugal Gourmet

Cross-Platform API replacement suitable for C# developed game

Recommended Posts

I have recently created a game using C#/Managed DX and was considering the possibility of porting to Mono and using some other API to render. It should be possible to replace the "presentation" level of the game while maintaining game logic, as Managed DX is addressed nowhere directly in the game level code.

Playing around with Mono, I've noticed a few pitfalls -- for instance I have a few Windows.Forms things that need to go. But my general feeling is that it should be doable.

I came across [url="http://www.opentk.com/"]Open Tk[/url] as my most viable candidate. What do you guys think of this? Advantages and any possible disadvantages?

Thanks in advance for any and all advice!

Share this post


Link to post
Share on other sites
FuraProject    1145
[quote name='Keith Riskey' timestamp='1355801676' post='5011902']
Playing around with Mono, I've noticed a few pitfalls -- for instance I have a few [b]Windows.Forms things that need to go.[/b] But my general feeling is that it should be doable.
[/quote]

Any specific reason you want to go for *nix?
From what i understood, you are using some sort of Direct X. And from what webpage says, OpenTK is GL wrapper (+-) for C#. If you wish to switch to GL, you can aswell go for Java + LWJGL setup. At first painful, but adoptable.

And strange, i thought pitfalls of mono where System namespaces...

P.S. I usually have this strange illness to write my own UI controls >.< Edited by Sollum

Share this post


Link to post
Share on other sites
There are a few references to System.Windows.Forms in the code and these are rejected by the Mono compiler. I believe, for instance, that it creates it's Direct3D handler using a windows forms handle. It doesn't use Windows.Forms for any in-game GUI although there are editors and such that I pull up in DEBUG mode that do use Windows.Forms. So, I would need to strip these out. It was surprisingly cooperative in other ways.

Share this post


Link to post
Share on other sites
6677    1054
Monogame might do the trick for you.

But yes you may have to ditch winforms (there is an alternate name for it under mono which you can add a reference to, forgot it though, might just be system.winforms or something). Alternately you could use GTK# if you need extra control over your main window that monogame wont give you. Edited by 6677

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this