Sorry I thought I did study games art design & engineering for 3 years and went over the cons and pros of multi platform engineering. Apparently my live is a lie.
Oh, shiver me timbers. 3 years?
Your life isn't a lie, but you're a noob.
I explained
why you were wrong and you tried to throw your credentials at me. So, credentials: I was probably a professional programmer before you were born (1985) and have led development of 3 products all of which were multi-O/S from a common codebase. Since that was between 1989 and 1997, probably before you became a "programmer" Shall we continue playing this game?
Really, though. As I explained it: you write a core engine (which you need to write, anyway) that does all the graphical stuff and U/I stuff and messaging and networking. Once you have that, the team that built it can port that with new abstractions to a new platform and all the upper-level stuff
just works except if there are bugs in it that are platform-dependent. Byte order isn't an issue now that Intel rules the world and nobody in their right mind writes word-size-dependent code since 64-bit CPUs started getting O/S support. So... Yeah. If you are doing a release for multiple platforms of course you need to do Q/A per platform to make sure the underlying engine correctly maps all the operations for the upper level code. But the features everyone's wanting are platform-independent. If you've got some idea in your mind that Sarah Jane Avory is writing Mac-specific AI and Xbox-specific AI and Windows-specific AI (just for example) you need to go ask your school for a refund.
The sales represented by supporting a new platform will easily cover the cost of a Q/A stack for that platform, and all the upper level features of the game's architecture will just work.
Now, normally I'd qualify that comment with something like "no real programmer worth ..." would write code that was platform-dependent, but I don't need to, really, because
have you experienced the colossal impact of the Mac version on the features in 1.3? No? Me either. That's because the team that did the underlying support for the engine to run on Mac (which is basically UNIX) didn't have to re-code any higher level stuff to make it work. So,
apparently FD has programmers that are not complete noobs. And, anyone who knows how software development happens would already know that because
a bunch of complete noobs wouldn't have been able to write Elite Dangerous in the first place.
Here's another thing that's kind of cool you can worry about: the theme park game is going to suck all the features out of.... Oh, no, wait, no it's not because the engineers at FD appear to have been smart enough to code the theme park game using the same underlying engine as Elite. Fancy that. The upper-level features, where the game-play is at - that's another story of course. But I suspect it's a whole different team working on that and they're glad they're not having to write the graphics code.
Anyhow... There's lots you can worry about regarding FD, but they appear to know how to develop software. Find something that's a real problem to worry about.
Or it means even more sales into the cross-platforms that more than pay for the additional coding of said platforms.
There probably is minimal cross-platform coding to do. You can be sure that the whole PowerPlay feature-set was higher level code running atop their underlying engine (I forget what it's called.. Cobra?) So it would have worked immediately on Mac(which is BSD Unix for all intents and purposes) Windows (which is --- for all intents and purposes) and Xbox (which is WINCE for all intents and purposes) If there was another operating system
worth porting it to, it'd be no huge deal.
Hey here's something to worry about:
what about a Playstation Port!? OMG! Teh World is ending!!!11!! No, actually, Playstation Game/OS (according to a little bird I know who worked on it) is pretty much BSD. The O/S level stuff would probably work from the Mac port, but the graphics pipeline code would need to be re-done (and once it was, the whole game would work normally) The only constraint with new platform ports is memory and that's just nature's way of encouraging FD not to write bloat-ware.
The coding of platforms isn't what this is all about: it's the coding of
features and those are above the platform-specific code.