views:

207

answers:

6

For software applications like games, does this mean software companies have a lot of extra coding to maintain 3 branches of certain libraries?

I know this is hard to say, but for game development in general, are there specific areas in the software where they will have to write 3 times in order to work in all 3 flavors of windows?

I'm guessing the core software will be untouched, but maybe some drivers will need to be version specific?

+1  A: 

If your code is written correctly in the first place, there should not be a huge investment into supporting an OS upgrade. Using something like the .NET framework helps guarantee this even more.

Also, why would games have 'drivers'?

Geoffrey Chetwood
+2  A: 

It depends how close to the OS you are. If you're just using the .NET framework or DirectX, probably not much changes between operating systems. If you're writing drivers or relying on the Win32 API then there definitely could be subtle or not so subtle changes.

Jon Tackabury
Usually API changes things are pretty fluid and documented with the obvious exception of blatant bugs.
Geoffrey Chetwood
It's true - that was why I said it could be subtle changes.
Jon Tackabury
A: 

Not really. If you use DirectX 9, you are fine on all 3 Windows Versions. The extra maintenance evolves around stuff like the Installer/Uninstaller, about the Games-Tab that was new in Vista (if you want to use it) etc., but as said, DirectX 9 is a stable API on all 3.

You will get into some fun with DirectX 10 (not on WinXP) and with OpenGL (Support in Vista is weird).

Michael Stum
A: 

Even if you use "portable" interfaces like DirectX or .Net or whatever that are supposed to provide the same functionality, a responsible software developer will have to do QA and testing on each supported platform.

(Note that I don't claim to be a responsible software developer. :-))

Die in Sente
@Die In Sente: And your point is? Do you consider QA and testing every year or two for a new OS to be a 'nightmare'?
Geoffrey Chetwood
A: 

Many game develoeprs, including the studio I work for, use engines that manage cross platform issues. We are using Unreal for our game and it ports to the PS3, Xbox, and PC with no issues other than performance differences between them. The engine typically handles the differences in platforms.

Bit Destroyer
A: 

As a .Net developer, most of the issues I saw when running applications built with XP as the original target were things we were doing incorrectly that just happened to work in XP (most were using the system colors that looked ok on XP but were wrong for Vista -- e.g., the default Vista theme caused a black font on black background).

It was coding by coincidence at its finest (we were naive enough to not know it was wrong). However, once we started testing on both Vista and XP, we started to produce a better Windows product.

Austin Salonen
Add to that people who use hardcoded paths and people that never followed the rules of not storing data in the program file path... Aye...
Geoffrey Chetwood