Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Firstly, I have never worked in XNA. I was learning C# recently but I don't why I liked it over other languages learnt so far. Then I stepped over to Monogame and tried learning it. It is also fun. I even came to know that Monogame is a great choice for XNA developers as XNA is being deprecated. I don't know if I should continue learning Monogame or not as I don't know anything about XNA although I know that most of the things in Monogame are same. So shall I continue with Monogame or first learn XNA and then move on to Monogame or should I leave both and look for something else? And does Monogame have something to do with Xamarin?
Also XNA is not supported on WIndows 8 and Windows Phone 8. So will there be updates in XNA for these platforms or earlier platforms like Windows Phone 7, Xbox etc.?
Monogame and XNA have a great deal in common, because Monogame is essentially an open source version of XNA.
As you hinted, you can use Xamarin to make your games cross-platform quite easily. This means you can reuse loads of your code and have iOS and Android versions of your game. This is a great advantage of Monogame if that's what you want to do.
With XNA there are quite a few libraries built for it which might make building your game easier e.g. Mercury paricle effects engine
In my opinion, it might be easier to get started with XNA. There are loads of great resources out there to get you off the ground. The last thing you want to be doing first off is faffing around with dlls trying to get the damn thing to compile.
Good luck!
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Let's say that someone decides to create a game without a game engine or library of any sort.
C# (or any popular language) is used
They have 2D sprites and 3D models with animations
They aren't sure of what IDE to use
Based on this information how would they get images displayed onto the screen?
I imagine that a console window would be out of the picture. (Pun intended)
Yes, a console window would be out of the question :)
You need to access the built-in Graphics API. On Windows computers, this is DirectX. On other operating systems, it is typically OpenGL.
Both APIs are very cumbersome, and are completely different. Without a library you typically have to be in C/C++ to use them.
As far as IDEs it depends on what you are developing for. Visual Studio is fine for windows, others you need to find something that compiles for it (probably using gcc). Anything will work, its just standard native code.
Good luck!
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Does anybody know to give me a comparison of advantages and disadvantages in programming through C# in Xamarin Versus Android java native code?
Is developing through Xamarin is way more limited than native android, or the gap is not that far.
I would like to hear opinion from someone who has experience in developing with both technologies.
Thanks
Update 20160822: This advice still holds true. I continually am asked about this. One company I know of went with Xamarin only to find out that it did not solve their Android problems as they had to learn both languages/implementations to solve most their issues.
Update 20150513: Thus far, this is one of the most asked questions I get from startups. Which way should they go. I inevitably end up pointing them to this post. It is still solid advice.
I've developed with both. You can pretty much do whatever you want in Xamarin. The couple of difficult areas you're going to run into are:
Finding good, working example code. Edge cases are really the bummer here.
You'll find that you end up learning Java through Xamarin because you have to read so much Java code.
Another problem is that while Xamarin is doing well and is gaining traction, the community is still rather small. This poses a problem when you release a Xamarin app. If you need to bring in someone else to maintain it, they have to know .NET, C# and Android. Finding that combo is rather difficult and I've found that all the contractors or consultants that I needed to update my app were VERY expensive.
Thats the hidden gotcha. It will help you get out the door faster, but up keep and new feature development will cost you, IF you're NOT the one doing the updates.
Why do I know this? I've written two apps with Xamarin that I eventually wanted updated. I had to contact a contractor to do it because I simply didnt have the time. It was quite expensive compared to Android or iOS devs that were already out there. I ended up moving those apps from Xamarin to Native Android and iOS.
That aside. Its a freaking awesome platform. If you plan to always work on it, then use it. Being able to use the power of C# is great. After working with C# for many years I've grown to really have a disdain for Java. Thats personal preference, but it is what it is.
Its all about tradeoffs.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I'm not sure If this is the place to ask this but here it goes.
I've been doing game programming in XNA since XNA 2.0, I can also program in C++, C#, Java, and C. I enjoy making games with it and its a great sdk but the problem is the xbox360 is pretty much done.
From what I've read, It seems that XNA is now obsolete and now I'm not sure what sdk to program games in. Now of course I know "you could make your own engine since you know OpenGL/Direct X" yea but that's a shit ton of work.
My Question is what is going to be the next game engine or are there other game engines that you would recommend? I know I used DarkGDK ages ago but I have no idea whats going on with that.
Simply put, for an xna fan, look at MonoGame. It is an open source implementation of xna and is now the recommended, by Microsoft, game engine for the xna community.
This topic seems to be coming up over and over again. XNA is not obsolete, it is no longer being actively developed. XNA will still be used by many developers for at least a couple more years, but it is definitely not 'obsolete' at this point.
XBox360 is not done. There are still over 40 million Live subscribers and even after the next generation systems are launched, there will still be a sizable market. I am still working on games for XBox360, at least for the next 6 months or so.
As far as game engines, there are quite a few options
Monogame
Unity
JMonkey Engine
LibGDX
Just because XNA is effectively at the end of it's life, that doesn't mean you can't use it. You can still make games for all the existing platforms it supported and it will continue to be useful for that purpose for some time. It isn't so highly-specialized a toolchain that your experience will not be useful as education, either.
For an alternative, check out MonoGame. Microsoft recently announced a partnership with Unity3D as well.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I've been doing C# with XNA for a year or so now, and I'm pretty comfortable with 2D games. But after some reading, I'm worried about XNA's future since it isn't supported in Windows 8 and stuff like that.
So I've been considering switching to Unity 3D? What are the benefits of Unity over XNA/C# and it is worth the move? if not, why?
I'm also open to suggestions of other languages and engines.
I'm currently going through school and considering game development as a career, so I would like something which won't die in a year or so (as far as we can tell) and will give me skills I need. Also consider that I have previous programming knowledge with C#.
Thanks, David.
XNA
XNA still works on Windows 8. The issue is that they are not supporting XNA based games in Windows 8 Modern UI. XNA still works for Windows 8 desktop games. The terminology is extremely confusing.
XNA will either get a serious overhaul when the new XBox console is released or something brand new will be designed.
Language
If you want to create games for Windows 8 Modern UI, such as Cut The Rope, etc, you'll need to use C++. The last time I saw C++ was the only supported language that could interop with DirectX and Windows 8 mode. All the other features of Windows 8 are available with C#.
Unity3d
If you want to make video games you should pick Unity3d, or an equivalent gaming engine and framework. The problem a lot of video games creators get into is trying to design yet another game engine. This has been done to the point of them becoming commodities. Focus on the game, not the engine.
Unity3d knowledge will be far more value than creating simple games with XNA. You should still understand 3D theory though.
MonoGame is a free XNA-compatible library that allows you to make games in C# for WinRT, Windows Store apps and Windows Phone 8, and on top of the Xamarin tools also for iOS and Android. This works on top of SharpDX, the optimized managed wrapper for DirectX, so your game runs pretty much at the same speed as with XNA.
Since MonoGame is open source, actively developed and targets all the current platforms, you probably need not worry about it being obsolete soon. It gives you a great way to keep your C#, XNA-based codebase to target Windows RT and the Windows Store now, and potentially extend to the other mobile platforms if you buy the Xamarin tools.
So no reason to move your C# stuff to C++.
Unity3D on the other hand is a totally different game framework, and would not be an easy port. But you can then target many more platforms (particularly consoles, and now Flash too), and still script most of the game in C#. But it's quite a different tool to learn.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I want to write simple application with some 3D objects for Windows OS.
The application is very simple, like a gallery where we can move and see some pictures. When users go to the some picture and click on it a window will open and show picture with some information.
Which is the best framework for this task WPF, XNA, or something else? Application will be written in C#.
I can not say which is best, but I have done a while ago some things with the WPF 3D API and I liked it.
It was IMO very simple to use and the rendering seemed to be relatively fast. A really nice thing I found, was that it has an object-model that contains high-level-events such as mouse-down and click. Therefore you don't have to do much math. However, maybe provide also other APIs such high-level services, I don't know.
I would not try to create an action-game with it, but for a small app as you have described, I think it is worth a try.
Unity has been used for similar stuff. It can work on browsers (via a plug-in) or as a program, has a lot of documentation and most of the work involved in creating a 3D environment and interface is already done. Code can be written in Mono (open source C# implementation), JavaScript or a Boo, a modified Python scripting language.
It works in Windows, MacOS, iPhone, iPad and Android. And it is free in the standard version, or really cheap.
XNA is a little lower level, so it will require more work to get things started. It supports Windows, WP7 and Xbox 360.
See this discussion : WPF VS XNA