XNA Game Studio 4.0 transfer it to Monogame, is this possible? Thanks - xna

I have made a game in XNA Game Studio 4.0 and been asked to transfer it to Monogame so that it runs in Monogame, is this possible?

The short answer is - yes, it is possible but requires some work. XNA Game Studio 4.0 is a plugin for Visual Studio, but that doesn't matter as much as the fact that the game uses the XNA .dlls, and that it's compiled against the PC platform which impacts things like file IO, reflection, and a few other subtleties.
You'll be able to re-use much of your code, but some stuff will definitely change. To start you'll want to get a simple MonoGame project running, then work on bringing the code over.

Related

DirectX SDK / VS2013 SDK setup

I am a beginning programmer university student and I want to apply myself outside of class with a side project. I wanted to start programming some simple directX stuff in C++ for practice and preparation for future classes.
However, I have Visual Studios 2013 installed and the DirectX SDK June version installed, and I can't seem to find any directX templates in visual studios. In tutorials I have watched, when a person goes into visual studios 2013 and clicks on "Visual C++", they have a lot more templates show up, including DirectX ones.
What step am I missing to be able to see these things in my Visual Studios 2013 professional?
Thank you in advance for the help!
There is no built-in templates for desktop DirectX, since you have installed the DirectX SDK, I recommend you use the Samples/Demos from the SDK(you can find it from DirectX Sample Browser), there is a sample called Empty Project, you can install that sample and write your code based on it.
There are only templates for DirectX Windows Store Apps. I cannot remember if it ever was DirectX Desktop templates in Visual Studio.
On a picture here you can see two default DirectX Windows Store Apps templates and new templates which you can to download.
Probably, in your tutorial there are some home made templates, or those which can be fond on a web. You can easily make your own template too.
If you really want to learn program for Desktop (and as you are trying to use DirectX SDK it is probably what you want), just follow the code that you can find in books and tutorials. Also it is a good idea not to copy any code, but to start your own projects(s) which will develop as long as you will develop your knowledge.
Note, that DirectX SDK was deprecated a while ago (latest version is dating June 2010). You must use Windows SDK for any new code. Though, you can compile old samples (which requires stuff not present in new SDK) with DirectX SDK. You could find interesting some of Q&A on that topic:
DirectX SDK vs Windows SDK: which one to use?
Working with Direct X and VS2012
and this blog on MSDN by Chuck Walbourn - MSFT :
Where is the DirectX SDK?
Where is the DirectX SDK (2013 Edition)?
Living without D3DX
Happy coding! ;)

Development frameworks in C#

When I look for development in C#, I get the following terms/frameworks/libraries:
Xamarin
Mono
Monotouch
Monogame(for games)
Are there more?
My first doubt is that are Xamarin, Mono and Monotouch same? If no, what is the difference?
Secondly Monogame is open-source implementation of Microsoft XNA. What is the meaning of open-source implementation? And if it is XNA-like, then why cant we just use XNA and why is XNA being made obsolete?
For questions like this why not visit http://www.reddit.com/r/gamedev who are generally happy to help with these kind of questions.
So Xamarin are the company that develop monogame which mentioned above is a clone of the now obsolete XNA framework which for some unknown reason MS have ditched. There isn't much work needed to port your XNA game to monogame. Developing for PC is free and always will be. You can pay for the tools required to develop on ios and android.
It really is a great cross platform choice especially if you have experience with XNA. For another C# alternative check out Unity.

Visual Studio 2010 or MonoDevelop

I'm very new to Mono for Android and am having issues getting started - specifically as a new user I tend to have to step through code to ensure that it is doing what I want. This is extremely slow using VS 2010 and the latest version of Mono for Android. Just wondering if MonoDevelop will improve matters and whether it is as easy to develop using MonoDevelop rather than VS 2010 which is my normal tool.
Thanks for any advice
As far as i know the slowness is not due to Visual Studio but to the Android Emulator itself.
Debugging Monodroid on a physical device is lots faster with either VS or MonoDevelop, but then you need to buy a license to be able to deploy to anything else than the emulator..
I would keep using Visual Studio as it's far more complete and stable than MonoDevelop.
if performances are really an issue you might need to consider purchasing a license for Monodroid and use a physical Android device.
From my experience Mono Develop is more lightweight, but also more buggy. For the moment I am using Visual Studio. It compiles resources right away whereas Mono Develop sometimes does not recognize when I've added a resource. But you are right about the debugger. It is painfully slow. Other than the debugger I have found developing in MonoDroid to be fairly productive.

Xna 4.0 projects in XNA 3.0

Is there a way to open XNA 4.0 projects in XNA 3.0 without installing XNA 4.0.
If you're asking if you can load a project created with VS2010/XNA 4 in VS2008/GS3, then the answer is no.
There are enough differences in not only the XNA assemblies, but how the content pipeline is structured that you really need VS2010 installed. Is there any particular reason you don't want to install v4?
If you're planning to port to XNA 4.0, you can use this XNA 3.1 to 4.0 cheat sheet to help you update your rendering code.
The answer is no. Because there are a lot of changes between them. The content pipeline, drawing states, vertex buffer and format, shader using and windows phone support.
There is a built-in "importer" of sorts if you're going from XNA3.1 to VS2010/XNA4.0 (which i've tried with mixed results), but there isn't a way to go backwards. There are too many libraries and dependencies in 4.0 that simply aren't present in 3.1 or before.
Update the project to XNA 4.0.
Check this page, contains a lot of useful information. Especially the section:
"Are you trying to convert XNA 3.1 projects to XNA 4.0?"
http://nelxon.com/resources/xdsk2.php
You Can't Convert Higher Versions to Lower Versions since some libraries and assemblies don't exist in the lower versions but you can do the opposite,
in other words, you can't convert XNA 4.0 to XNA 3.1 (or you can't open XNA 4.0 in C# 2008) but you can convert XNA 3.1 into XNA 4.0, but still you have to check for the some changes though.
I hope I helped.
I assume you are asking if you can open an XNA 4.0 project in XNA Game Studio 3.0.
You cannot to that. XNA Game Studio 4.0 can only be used with Visual Studio 2010, and XNA Game Studio 3.0 can only be used with Visual Studio 2008.
There might exist unofficial hacks that will allow you to do this. But if you use these hacks, the Content Pipeline integration with VS will not work.

OpenCV lib and WM

I just made an application using the OpenCV lib, and will be great if I can use this computer vision application on my PDA, which has Windows Mobile 6.0 on it.
Do you have any idea about how can I do this?
If you have Visual Studio, just create an embedded project. Check out the Windows Mobile Development Center for more information. Unless it's a very simple application or you're working with very low resolution images I would be surprised if you were able to get acceptable performance though.

Resources