• Advertisement
Sign in to follow this  

Cross-platforms games tools, language, methods ?

This topic is 3776 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello :) Lots of game firms like Activision, Electronic Arts can build "one game" to a lot of platform like : PC, XBOX, PSP, PLAYSTATION 2, PLAYSTATION 3, XBOX, WII etc... How do they work ? What are their methods of game development for such results ? Do they build their own tools, or do they use commercials ones ? Thanks you for your futur answers ;) Cedric. PS : English is not my nativ language : so please tell me if I use a strange Word or sentence ;)

Share this post


Link to post
Share on other sites
Advertisement
There are different approaches. Some companies build games for a particular platform and then port it to the other platforms later. Doing that, you can usually reuse a lot of the gameplay and AI code, while stuff like resource management, rendering, etc. often falls victim to the differences among the various platforms.

More recently, game developers have used (or created) middleware that works with multiple platforms (e.g. Gamebryo/Renderware/Unreal Technology). The idea here is to have as much code as possible that works on all platforms while writing specialized code where the platform differences are too severe. Since you'll have to compile your code for each platform individually, conditional compilation is generally used to select the appropriate code for each platform.

There are a few things you can do to make your code work better across platforms:

- Stick to the C++ standard and don't use platform/compiler specific language extensions
- Put all platform/compiler specific code into separate files and use #ifdef to include the right one
- Avoid low-level (assembly) code where possible
- Write endianess-agnostic code
- Put all rendering code into a separate module and don't allow graphics-API specific code to "leak" into your gameplay/engine code

There are still some things you have to consider though:

- Consoles usually don't have virtual memory
- Multi-threading differs a lot from platform to platform... especially with the PS3's SPUs
- The Wii doesn't support shaders

Hope that helps.

EDIT: Note that you can usually re-use game assets on all platforms (you might have to create lower-res versions for the Wii). This is particularly true for models, textures, sounds, music and even shaders (to some degree).

EDIT2: Game assets are generally created on a PC, so the game tools won't have to be ported.

Share this post


Link to post
Share on other sites
Thanks Harry for your good answer.
Theses tools and methods got no name ?
EDIT : oops sorry I read you post too fast :)

Thanks you again ;)

Cedric.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement