Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm currently having a problem choosing an engine for a game project I have since a few years. What I'd need is to be able to load a terrain from a remote server (which I can take care of) and display it dynamically, if possible with paging. The terrains should also be able to be edited in realtime (locally or remotely and transmitted by the server).

I can take care of the network part but need a 3d engine flexible enough to support the terrain features detailed above. Would you know a 3D engine which could support this ? I'd prefer programming with .NET but C++ is also fine.

share|improve this question
Obligatory "use unity" suggestion. – thedaian Oct 28 '11 at 20:00
I only heard good things about it, but is it flexible enough ? Thanks! – Aweb Oct 28 '11 at 20:03
I honestly don't know. I've heard of some terrain size limitations being present in Unity, so it might not work. Unity and XNA are the two major .net tech engines out there right now, though. – thedaian Oct 28 '11 at 20:10
How much total engine do you need versus just rendering engine? Ogre3D has one or two addons that do some kind of dynamic terrain that could be modified to your purpose, maybe. – Patrick Hughes Oct 28 '11 at 20:16
I looked a bit at Ogre, I found Myrddin which does a lot of interesting things but it was made for a older version of Mogre (the .Net Ogre wrapper) and can't be compiled with the current version, unfortunately. I also saw the paging terrain manager but it seems a bit complex for me. – Aweb Oct 28 '11 at 21:32
up vote 0 down vote accepted

Like @thedaian said in a comment, XNA and Unity3D are the two big players when it comes to .NET game development.

They each have different key features, but really it comes down to two simple differences. Unity is art-centered, meaning the scene editor and Asset Store are the primary features that really make it easy to use. The fact that uses C# and javascript for scripting is very nice, but in the end they are scripts and not programs, so a different approach to development .

XNA on the other hand is more code-center. While you have to do more work to get a game up and running, this will be more natural and extendable to an experienced developer.

I have used both Unity and XNA in multiple projects, and they are both great for game development. The question you need to ask is whether you want take the time to modify Unity to handle terrain deformation, or to take the time to build your own implementation in XNA. It has been done in Unity, but I feel like it might be less of a headache to whip it up in XNA.

share|improve this answer
If I am right as of late XNA is not longer maintained. This should be part of the consideration. The choice also depends on what other features the user aspects from the engine. – danijar Apr 19 '13 at 21:31
Thanks for the answer, indeed these seem to be the most popular choices when you want to develop a game in C#. – Aweb Apr 29 '13 at 19:53
I think I'd rather use XNA's code-centered approach rather than Unity, because in the end it also means more flexibility. Although XNA is dead, there is a fully compatible open-source implementation called MonoGame which seems pretty interesting and allows you to port your game to more platforms with minimum code changes. – Aweb Apr 29 '13 at 19:59
Instead of considering XNA dead, I see it as being handed off to MonoGame. Someone will probably make a comment about how MonoGame is buggy, but the beauty of open source software means that if something is useful it will grow and evolve over time. – JimmyBoh Apr 30 '13 at 16:29

Your Answer


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.