If something is "easy to port" is always relative to the project you are trying to port, and very much reliant on how the project works with its intended environment.
For starters, it was written to work with XNA and Microsoft Windows. We are using \ as path separator and we are using a lot of Windows specific features.
Of course, that could be fixed and replaced, but it takes time.
Second of all, the game is big. Like, really big. It has over 80.000 lines of code, which is the smaller part of the actual source. Maps, scripts and other assets are taking up a large part as well.
And while you could take most of the assets and just port the programming, there is another problem that emerges:
VB.Net and legacy code.
The game is no less than 3 years old, and I learned to program games while I was working on Pokémon3D.
That means that the most basic code base, the one that is more than 3 years old, is a mess. Static variables everywhere, uncoordinated calls to something that has not been tested, inconsistent naming conventions or just bad code practices.
So all in all, at its current state, porting is not a good idea, as it would not be worth it.
However, what would be worth it is a rewrite in MonoGame. Which is exactly what I am working on right now.
I am trying to fundamentally fix issues with the old code base, rewrite features and have them be more consistent throughout.
I am at the very beginning still, this project started about a month ago. I would like help in any way of course, since it's a giant mountain to climb.
Right now, I am trying to implement a scripting language that is close to JavaScript in syntax and behaviour, just not as complex, instead of implementing a script language that no one knows how to use.
Also, I can have things like GameMode support added in from the start, and don't have to shoehorn it in sometime later when I notice that it's a good idea.
When this would be done, it would allow a bunch of things:
- Platform independence: MonoGame games can be deployed to a number of platformes, including Windows, Mac OS and Linux.
- MonoGame updates: XNA is dead, MonoGame is getting developed. So when there is a bug with it, we have a high chance of it being fixed in the future
- Clean, better code base: Because of the rewrites and future plans in mind, the code base will be much cleaner and easier to work with.
On the topic of mobile ports, I am unsure if it is a very good idea. First/third person games have never been something that is easy to control with a touchscreen, because it's complex to control a 3D world on a 2D plane, aka your screen. I am sure there are ways for it to work, but then there's something else: The mobile platforms are controlled by their vendors. Apple, Google, Microsoft. And most users only get applications directly from these sources. While it's true that a lot of people on Android get apps also from other sources, most people on Apple and Microsoft devices get them through the "App Store" on their device.
"Pokémon" is a registered trademark by Nintendo, so while it is not illegal to make a game about it like it's not illegal to draw an image of a Pokémon, controlling vendors like Apple and Microsoft will not allow an application that might inflict copyright on their store to avoid legal trouble.
I have limited knowledge on how feasable it is to distribute an app around those app stores on mobile devices, but I am sure at least currently, there aren't too many people that get apps through that method, because at least on Apple devices, it requires you to break into your OS.