One of the most obvious and most important differences between console and PC development is that console hardware is fixed whereas PCs are very variable in what CPU, graphics hardware and memory they have.
With console hardware being fixed and developers being covered by NDAs with the console manufacturers, developers will usually have much more direct hardware access and much more detailed information on the low level design of the hardware than on the PC. Targeting a fixed, known hardware platform makes life easier for programmers in some respects. If the game runs well on the development kits then it should run just as well on every customer's box. This is in contrast to the PC where the different performance characteristics of different CPUs and graphics cards and the varying amounts and speeds of memory on different systems mean that developers must test many different configurations and provide options for performance scaling and sometimes entirely different code paths for different hardware.
On the other hand, in order to deliver the quality of experience consumers expect on a console, programmers must be comfortable with low level hardware details that developers on the PC don't have to deal with even if sometimes they wish they could!
In order to compete with other titles on the market, console programmers will need intimate knowledge of the hardware at a level which is generally not even available to PC developers. Not every programmer on the team will need to be a low level hardware expert but a successful console team will need some programmers who are very knowledgeable about the hardware.
I'll have more to say about some of the specific technical implications of fixed console hardware in future posts. Minimal or no operating system on console vs. Modern consoles generally have a minimal OS that provides low level system services but this OS is extremely cut down and special purpose compared to an OS on a PC.
Older consoles often had no OS at all - everything was done through direct hardware access or through a minimal set of libraries provided by the console vendor. One common source of difficulty for PC developers transitioning to console development is endianness differences between the host and target architectures. PCs are little endian but many consoles are big endian. This means that binary data created on the PC but intended for use on the console must be endian swapped at some point.
This can entail quite a bit of work for a codebase that generates a lot of binary data and wasn't written to handle endianness differences. Any code that makes non-portable assumptions about memory layouts can also cause problems when dealing with cross platform development. Anyway, using XNA you can develop games in cross-platform for free Quote: Kylotan 1. This can be true for older consoles, but now difference between PC and consoles are really small. This is true for resources, resolution etc The good thing, when programming for consoles, is that the hardware for each console remain constant over time so a game developed and tested for a specific console work well for current and for future consoles of same family newer consoles have compatibility softwares to run old games, ex.
XBox run XBox games. Please vote usefull replies. Marco Sacchi Coding is a challenge Keep in mind for XNA, you do have to pay microsoft to actually produce your game. I believe theres licensing involved for releasing a pc game created using xna as well. Treb Quote: Original post by Koder4Fun This can be true for older consoles, but now difference between PC and consoles are really small.
I would say almost all of those are still the case. MJP If you just want to play around and develop on the , you need either a premium subscription or a trial subscription which you can get if you're a student, or if pay close enough attention at certain events.
No licensing involved either This topic is closed to new replies. Josheir Internship Possibility Games Career Development. Simple yet effective game engine architecture patterns?
0コメント