Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Regarding other platforms, like Linux, mobile...
#1
Hey again, it's been a while Smile

I know that one of Tile Engines features is that it's cross platform.

But could you give an overview of what it would be like to set up for making a Linux or Android or iOS version of your game with this, eg. If you a started with windows.

I realise I might be asking something trivial, but to be honest I haven't had a lot of experience with the above. I know with iOS you need an actual Mac computers and their compiler.
Reply
#2
Hi Domarius,

Sorry for the delay. I know about writing portable code for cross-platform development, but not much about unified cross-platfom environments. What I do with Tilengine is to write, debug and test with Visual Studio under windows, and then copy the sources to different target platfoms and build them locally with specific compilers (gcc under Linux, Xcode/gcc under OSX, NDK under Android...). Same with the C samples.

C# has cross-platform binary (build once on any platform, execute on any with .NET/Mono runtime), and Python is cross-platform source, so once you have them running in one platform, they will likely run in any other unmodified (although some testing is required).

I can't recommend you an integrated environment for cross-platform development like Unity for example, but some guidelines:
  • Don't use C/C++ for your game, use C# or Python (preferably C#)
  • Use an IDE with some cross-platform support: for example Visual Studo can remote build and debug for linux, and has extensive C# support.
  • For mobile (iOS and Android) use Xamarin, with a single C# codebase you can target both platforms.
So a good solution would be C# and Visual Studio 2017 (integrates Xamarin) for Windows. With this setup, you should have a single C# codebase for Windows, Linux, OSX, Android and iOS.
Reply
#3
Thank you, I will keep that advice on hand for future cross platform development. I'm wary about my choice of C++ with SDL2 for my current project (not related to Tilengine) but it seemed like C++ had the most documentation & tutorials for SDL2 at the time I looked into it... I do want it to be cross platform in the long run, so I hope that doesn't come back to bite me...
Reply
#4
Of course you can release multiple platform ports of your project written in C++. The language itself is source-level cross-platform. But you have to build specific binaries for each platform with different toolkits, and you also have to take care that supporting libraries you are using have ports for your targeted platforms. SDL is a great choice and it's well documented. There are bindings for other languages that in most cases are direct mappings of the original C API: same function names, same structures... Look this one: https://github.com/flibitijibibo/SDL2-CS

C/C++ is the way to go when you're doing systems programming that must not rely on any kind of VM or heavy runtime environment (microcontrollers, OS components, system-wide libraries, runtimes, legacy platforms...). For cross-platform, feature-rich end-user applications I'd rather chose .NET/Mono with C#. Binary-level cross-platform (build just once on any platform and run anywhere), richer environment that offer out of the box many features that you have to supply with external libraries in C, and say bye-bye to dangling pointers and memory leaks so it makes you more productive.

That's just my opinion Smile
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)