Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


#ActualMikeS

Posted 29 May 2013 - 12:48 PM

Hello GameDev Community,

I am currently developing a game framework for the Android system using Java. I have a small runtime scripting language that users can utilize to create models, move them around, and do various things.

However, I would now like to start targeting iOS applications.

So as a case study, how is an engine like Unity3D implemented? They have various scripting languages(Javascript, C#, etc.), and they can target multiple platforms.

Do they implement the same codebase on multiple platforms? For example: They have a Java codebase that implements all of the functionality needed to create android apps, and then they duplicate that codebase to implement all of the functionality they need for iOS apps, etc.

How do they deploy to multiple platforms? Are they simply translating source from a target language(C#, Javascript, etc.) and then generating Java code for Android from there Java codebase, Objective-C code for iOS from their separate Obj-C codebase, etc?

The overall theme of my question is how do I structure my codebase so that I am not duplicating a lot of work to support multiple platforms. Should I build my own VM that is deployed to each of these systems(I'm aware this will be a cost in performance)?

Thanks for your insight.

#1MikeS

Posted 29 May 2013 - 12:11 PM

Hello GameDev Community,

 

I am currently developing a game framework for the Android system using Java.  I have a small runtime scripting language that users can utilize to create models, move them around, and do various things.

 

However, I would now like to start targeting iOS applications.  

 

So as a case study, how is an engine like Unity3D implemented?  They have various scripting languages(Javascript, C#, etc.), and they can target multiple platforms.  

 

Do they implement the same codebase on multiple platforms?  For example: They have a Java codebase that implements all of the functionality needed to create android apps, and then they duplicate that codebase to implement all of the functionality they need for iOS apps, etc.

 

How do they deploy to multiple platforms?  Are they simply translating source from a target language(C#, Javascript, etc.) and then generating Java code for Android from there Java codebase, Objective-C code for iOS from their separate Obj-C codebase, etc?

 

The overall theme of my question is how do I structure my codebase so that I am not duplicating a lot of work to support multiple platforms.  Should I build my own VM that is deployed to each of these systems(I'm aware this will be a cost in performance)?

 

Thanks for your insight.


PARTNERS