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?
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?