Jump to content
  • Advertisement
Sign in to follow this  

Multilangual Cross-Platform Software management

This topic is 2239 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Nice title I know, I should become a CEO happy.png ... had the Idea to make my game engine in C++ (SDL) and the logic in C#.
If I put the engine in a dynamic library, i should be able to use it in C# (how i haven't tried yet, but there is a first time for everything) and build my game logic there. Also thanks to mono, the gamelogic could be be platform indipendent as well and I end up with a Platform-indipendent game... in theory.
I am currently programming under Debian with Eclipse CDT, but for the C# I would go to Windows and VS. Now here is where the nightmare starts without a well configured C.I. system.

Tools and programs i plan to use:
Github repo
jenkins C.I.

GCC Compiler
CUTE test framework
dOxygen api doc
CMake build script

.Net CIL builder
test framework ??
api doc??
build script??

When I understood the basics of C++ correctly, I need to compile a Dynamic Library for each target OS and run the tests from there. I could set up Jenkins to execute the CMake script on different virual machines, running each OS. Each VM has gcc and SDL installed.
After that jenkins should execute the build script for C# on each VM and run the tests. If all works like I imagine it in my head, I would have an easy cross platform game without the cross platform nightmare.
But for the C# stuff I am a bit confused, can I use the "compiled" C# code from Windows and direclty run it on Mono, like I can with Java?
What tools / platform indipendent tools are there for C#?
Does this even work well?

Do you have any tips for cross platform software management?

Share this post

Link to post
Share on other sites
If your engine is going to be in C++ and your logic in C# then I would recommend building the executable with C++ and embedding the CLR in your application and loading C# modules for your game logic. MS.NET I believe allows you to do this as of .NET 4, and Mono has allowed it for a long time. If you want cross-platform then Mono is your best bet. This is how Unity3D works and I've done it myself to good effect.

You can even host Mono's C# compiler and use it sorta like a scripting language, so that your game engine compiles the C# modules on launch if they are changed, so they don't have to be manually compiled.

And yes, the same bytecode will typically run fine on Mono and MS.NET. Edited by krippy2k8

Share this post

Link to post
Share on other sites
Thank you very much, I almost wanted to abandon the Idea due to the cumbersome interop of C++ embeded C# project. I didn't think that it's easier vice versa.

The compile on launch sounds interesting, I definately have a look into it. You don't have an example project in your sleeves, do you?smile.png

I had some issues with CMake and now I am starting to like QT Framework more and more. If anyone else is looking how to set up a basic cross platform dev enviroment, here is an example: http://biodisplay.tyrell.hu/implementation/software-engineering/a-cross-platfrom-c-development-environment/

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!