39

I am a game developer who made games in .Net languages with XNA for the past four versions of it. Unfortunately now there's this news: http://www.gamasutra.com/view/news/185894/Its_official_XNA_is_dead.php#.UQ3yiehQCh8

I am surveying the ecosystem of game engines, looking for something that supports coding in Visual Studio (I use F# heavily, believe it or not!) and I am having trouble finding something that is high quality, still alive, and high performance to replace XNA. Unity for example misses the mark because it only allows for scripting in MonoDevelop, while I want a more developer friendly experience.

So what is a good replacement for XNA?

jhocking
  • 5,527
  • 1
  • 24
  • 38
Giuseppe Maggiore
  • 2,011
  • 1
  • 23
  • 31
  • 4
    Good question, although I'd suggest that you add *why* you think "XNA is dead", to give the question a bit more context. (I guess you are referring to the missing WinRT support?) – Heinzi May 23 '12 at 05:49
  • Does coding in Visual Studio **have** to be in F# or is any language ok as long as it's in VS? – Botz3000 May 23 '12 at 05:59
  • 3
    Your are mistaken. Unity allows coding in Visual Studio. I do that all the time. What was limited to MonoDevelop was easy debugging. From VS you can attach the debugger to Unity's process and that works, although not so cleanly. There is a non-free plug-in for Unity which allows debugging painlessly from VS, but I have not tested it. – Elideb May 24 '12 at 09:57
  • this question should be closed or moved to Programmers? – Roberto May 24 '12 at 12:37
  • There's monogame, which im currently using for WP8 and Windows Store development. If you're ok with open-source & some bugs here and there it works great. – Richard J. Ross III Feb 03 '13 at 20:48
  • Write your own, XNA is crap from the feature side of view ( Personal opinion ). We invested much money into our own framework and currently the development speed is just getting quicker and quicker. You can do so much without the limits of a existing framework. – Felix K. Nov 13 '13 at 20:41

10 Answers10

32

If you want to leverage on XNA API, you should bet on MonoGame. It is a compatible XNA API that is targeting to run on several platforms (including several non Windows platforms using OpenGL). The development is very active, MonoGame is recently getting a full 3D stack that is starting to work on Windows Metro app (thanks to SharpDX). You can have a look at the latest develop3d branch.

xoofx
  • 3,682
  • 1
  • 17
  • 32
12

There is nothing awesome like XNA. I don't get it why MS is throwing XNA away. It is the only System that works with the XBox 360. You can try Engines or Wrappers like Tao, SlimDx or something else. But XNA was the best System for rapid game development.

I'am now switched to Java + LWJGL.

Michael Malura
  • 1,131
  • 2
  • 13
  • 30
  • 5
    This does not answer or address the question. The chap can't use F# in Java and you don't offer an alternative. – FPC Nov 03 '14 at 12:39
6

I don't know when you checked last time, but Unity does in fact support coding in Visual Studio. You just have to select it as editor in preferences.

Botz3000
  • 39,020
  • 8
  • 103
  • 127
  • 8
    Coding in Visual Studio for me also means debugging, not just writing code. Rather pointless otherwise from my point of view :) – Giuseppe Maggiore May 28 '12 at 10:48
  • 2
    There are several ways of using the VS debugger with Unity 3d, you can try and configure it yourself or use a plug in like this one http://unityvs.com/ . I develop in Unity and am very happy with it, even if it has it quirks. And considering how many games are developed with unity (http://unity3d.com/gallery/made-with-unity/game-list), you should probably look into it. – Cousken Oct 24 '13 at 05:52
  • @GiuseppeMaggiore _"Coding in Visual Studio for me also means debugging, not just writing code"_ - UnityVS is now free having been taken over by Microsoft –  Apr 22 '15 at 08:25
3

Imo if your going to be a game dev and you want complete control and want to port, and furthermore want to use C#.

OpenTK is probably the way to go. It supports up to OpenGL 3.0 and is compatible with mono, meaning you can port to PC, OSX, Linux, Android, and IOS. Ironically, about the only thing you can't do with it is xbox 360/1 and windows phone. But imo, If your looking to make games on phones Android and IOS is more than 90% of the market so go that route...

http://www.opentk.com/

Downside:

This project doesn't appear to have been updating since 2010, but it's very stable and feature packed up to open gl 3.0. But if you want to go farther with it you'll eventually need to update it yourself, but it's open source and under the GPL so you can.

OpenTK also has OpenAL included in it and handles graphics and sound.

Ryan Mann
  • 5,178
  • 32
  • 42
  • IMHO, Xamarin + OpenTK now is the best way to use OpenGL cross-platform from C#. My company has successfully released iOS+Android apps this way. Or Unity, though I haven't tried it. – ToolmakerSteve Sep 30 '17 at 19:47
2

Try looking at Axiom (.NET port of OGRE) and Delta Engine.

Edit: if you're looking for lower-level graphics libraries, try OpenTK or SlimDX.

Robert Rouhani
  • 14,512
  • 6
  • 44
  • 59
2

Also, if you wish to get something similar with XNA, you can use SharpDX and SharpDX toolkit that provides pretty XNA-similar interface. Look here

Download SharpDX from theirs site (choose 'SharpDX-Full-2.4.0.exe', it has samples inside the archive), unpack it and run SharpDXToolkitSamples.sln

freewebtime
  • 91
  • 1
  • 5
2

No one has mentioned DirectXTK? I believe this is the direct successor to XNA which is being develop on / with Windows 8. Some More info from Shawn Hargreaves here.

Of course if you are interested in cross platform development checkout MonoGame as some have suggested.

sec_goat
  • 1,272
  • 1
  • 12
  • 20
1

Have you tried Tao Framework, Allegro and SlimDX

talha2k
  • 24,937
  • 4
  • 62
  • 81
1

SharpDX allows you to make full use of DirectX from managed code, and it is currently very active, even with support for WinRT.

Falanwe
  • 4,636
  • 22
  • 37
1

Unity 4.2 allows coding in Visual Studio for Windows 8 or RT. From what I understand 4.3+ will allow coding for Windows Phone 8 through Visual Studio. Though not the ideal substitute for XNA, still a viable one. As far as XBOX 360 or other platforms aside Windows 8 and Phone 8, I'm not sure if VS can be your IDE, but Microsoft is making a major push with Unity3D, check out there promotion for devkits for XBOX One. They are practically giving them away to Indie Developers:

http://techcrunch.com/2013/11/05/unity-game-engine-goes-free-for-indie-xbox-one-developers/

That's thousands of dollars of free software and hardware for indie developers. Another step closer to democratizing the game development process, and assisting indie studios.

apollosoftware.org
  • 12,161
  • 4
  • 48
  • 69