It's possible to support many runtimes. I'm not sure what you mean by "transferring behaviors universally to new runtimes". Traditionally porting the runtime to a new platform involves writing a new runtime, a new plugin architecture, and a whole set of plugins which are functionally equivalent to another platform - all in all, a lot of work. I don't anticipate that we will have the resources or volunteer interest to complete more than two platforms in the forseeable future. Long term, this may change though, and by designing in a flexible architecture that anticipates multiple platforms, this can be made much easier when the time does (eventually) come.
I see. I thought part of the extensibility would be one more layer of abstraction, so all behaviors at least would work with at most a recompile on anything that supports c++
So the plugin source for a c2 plugin might say something like:
setobjectXY(objectname,50,100)
And the definition for setobjectXY wouldn't actually move the object, it would serve as an interface that would merely pass on the information to the appropriate runtime implementation of setobjectxy
Runtimes would be required to have a certain set of object position,dimension,orientation,destruction,and creation callback functions that would do the actual movement, and the same behaviors could be used for all runtimes
Is something like this possible, I know at least dx,mac,linux,android,and xbox can use compiled c++