I'm a desktop developer (I mainly do WPF for a living) but I want to make games as a hobby.
So a few months ago, I started reading blogs, gamedevSE, you name it.
I understand in the C++ DirectX world, you have engines such as Unity3D with designers and whatnot, but as much as I'm ok to spend months understanding game development, I'd prefer to stay with my comfy C#.
So I thought I'd develop my first games in /C#/DirectX through SharpDX
But then, I can't use game engines anymore, since they're made for C++DirectX and not SharpDX. (ok, I could do P/Invokes but that defeats the purpose of SharpDX).
I do know about XNA, and I also do know I can't publish to the marketplace with it (and quite frankly, I don't really want to learn an API that is in jeopardy).
So how do you conceal writing games in C# and using existing game engines instead of reinventing the wheel? wait for ports?
So I've found out the following:
After doing the first tutorials of MOgre and digging around, it seems MOgre gives you the worse of both worlds: .
- You can't port it with Mono because it directly references a C++/CLI dll (Ogre) and C++/CLI isn't supported by Mono.
- And since it's not C++ itself, you can't make a pure build.
Which, as far as I understand, means I'd be stuck on windows (and not even WinRT/Metro compatible), without capability of porting anything to mobiles or other OS (Mac/Linux).
Even though it looks really nice to develop with MOgre, I'd like to learn something a little more open to future broadening.
On the other hand, MonoGame seems to be a rewrite of XNA with SharpDX which sounds very promising:
- Mono allows me to easily port my games to other platforms, mobiles included.
- SharpDX allows me to access the latest DirectX versions
- XNA would be my first choice if only MS showed some hope for the future
It really looks like MonoGame is nothing else than XNA on SharpDX.
- Axiom looks good too but I lack info on the subject (and pages with poor design don't give me a good feeling about an API...)
XNA with SunBurn looks good:
- It should be portable to Mono (can anyone with experience give us feedback on that?), thus multi-platform.
- It's then marketplace-able since Mono itself is.
Did I miss something or are 2) and 4) my best options (aside from the fact Mono doesn't support any XAML)?