Thinking of switching languages ​​for game development? Do I need to?

I have been doing C # with XNA for a year or so, and I'm pretty comfortable working with 2D games. But after some reading, I worry about the future of XNA as it is not supported on Windows 8 and the like.

So, I'm thinking about switching to Unity 3D? What are the benefits of Unity over XNA / C #, and is it worth it? if not, why? I am also open to suggestions from other languages ​​and engines.

I am currently participating in school and considering the development of the game as a career, so I would like something that will not die in a year or so (as far as we can tell), and will give me the skills that I need. Also keep in mind that I have previous programming knowledge with C #.

Thanks, David.

+4
source share
2 answers

Xna

XNA still works on Windows 8. The problem is that they do not support XNA-based games in the Windows 8 Modern UI. XNA still works for Windows 8 board games. The terminology is extremely confusing.

XNA will either change dramatically when the new XBox console is released, or something new.

Tongue

If you want to create games for Windows 8 Modern UI, such as Cut The Rope, etc., you will need to use C ++. The last time I saw that C ++ was the only supported language that could interact with DirectX and Windows 8 modes. All other Windows 8 features are available from C #.

Unity3d

If you want to make video games, you must choose Unity3d or the equivalent game engine and framework. The problem that many video game developers are facing is trying to create another game engine. This is done in terms of the fact that they become goods. Focus on the game, not the engine.

Knowing Unity3d will be much more valuable than creating simple XNA games. You still need to understand 3D theory.

+4
source

MonoGame is a free XNA-compatible library that allows you to create games in C # for WinRT, Windows Store and Windows Phone 8, as well as on top of Xamarin tools for iOS and Android. This runs on top of SharpDX, an optimized managed shell for DirectX, so your game runs pretty much the same speed as XNA.

Since MonoGame is open source, actively developed and aimed at all current platforms, you probably should not worry about it becoming obsolete soon. This gives you a great way for your C #, XNA codebase to target Windows RT and the Windows Store, and could potentially spread to other mobile platforms if you buy Xamarin tools.

Therefore, there is no reason to move your C # stuff to C ++.

Unity3D, on the other hand, is a completely different game card and will not be an easy port. But you can target many more platforms (especially consoles, and now, Flash) and another script for most of the game in C #. But this is a completely different tool to study.

+1
source

Source: https://habr.com/ru/post/1446682/


All Articles