Simultaneous PC & Mac Release

Is there any reason why Civ has to be platform dependent? Why not separate the code into the game itself and a separate machine dependent layer written for each machine. It would make porting to different platforms; Windows, Mac, Linux or games consoles very easy. New platforms could be added by writing just the interface part. It would save costs later on.

Any updates to the game itself could be applied to all platforms simultaneously because they would happen in the game layer. That would make developing new scenarios etc. more attractive.

Some games do need low level access to the platform: a shoot-em-up game may need access to hardware to animate fast, but Civ isn't like that. The usual arguments in favour of platform independent code seem to apply.

I'd be interested to know how much of Civ3's code really is platform dependent?
 
It should be fairly easy to create a Linux port, wether it is by Firaxis or by the community... All excecutables are compiled for the same processor architecture, the only problems are:

-DirectX (Replace with SDL or something else)
-Filesystem (The game would have a hard time indeed looking for C:\program files on a UNIX system :)

But anyway, it shouldn't be that difficult. Just look at NWN for example. They did it without much trouble. The only problem was that they were not allowed to inlcude a Linux installer, but when you 'install' it on Linux (ie moving around dirs and files) you use 99% the same files and binaries.

And otherwise there should be enough cross platform possiblilities. Just using a bytecode like language (Java, .NET) would do the trick, just as using just ANSI C++ and libs available to both platforms to make to seperate compiled versions. This would only take the effort to change all absolute paths in the source code.
(And it would be cheaper to produce, since most cross platform libs are open-source and don't require huge license fees)
 
Cross-platform net-plat compatibility: will never happen, at least with commonly used protocols out there. Becuse it would require porting someones proprietary code to the other system. I do not know if there are protocols out there compatible with both systems that are not required to utilize proprietary code in order to fuction. With Microsoft continuing to tie MP ability to utilization of their code I do not know if this is even possible.
 
Back
Top Bottom