Porting is the process a game undergoes during development in which a finalized version on one platform is converted for usage on another. By the end of the porting process, the game is meant to run natively on the new platform and use its technological capabilities accordingly. This is unlike emulation, whose goal is to enable one platform to function as another with the assistance of hardware and/or software. Qualities of the ported video games themselves can vary, with some running worse than the original version due to a lack of optimization while others are deemed better than the source material due to a number of different factors such as new enhancements.
In order for a game to get ported successfully, necessary materials must be acquired or recreated. As a port relies on assets which should already exist, specific things are often required in order to make the transition to the new platform a smooth one. Without them, development can proceed, but it is made more difficult because the team must then take time to patch up any holes which may have been created due to missing resources.
The source code of the game which is being ported is necessary in order to allow developers to understand how it functions and interacts with the original platform in the first place. As the source code is often designed to take full advantage of the first platform for which it was primarily designed, an extensive knowledge of the inner workings of the hardware is necessary from a behavioral standpoint. The goal of porting with respect to the source code is to therefore translate it to the new system in such a way that the way it acts is consistent with the original release. Although it is hypothetically possible to work without the source code by either reverse engineering or disassembling the game manually, this creates a number of undesirable logistical issues which make that a worst-case scenario if a port must be done.
In a port, everything from the game's polygon and texture formats to music must be converted in such a way that it can work properly with different hardware. Unlike source code, missing parts of artistic assets are easier to remedy in a port, as they can be created from scratch again if necessary. In this instance, an ideal porting job involving these facets means replicating the original game's aural and visual experiences so that both experienced and new players cannot tell that a conversion has taken place.
Game Engines and Ports
Over the past couple of generations, more games have been designed with the distinct possibility of a port in mind by having development take place within a preexisting engine. These engines are designed to work on multiple platforms with an equal amount of efficiency, making the corresponding ports an easy process once that point in development has been reached. Square-Enix's White Engine is one such example of a technology which is meant to work in such a way, as it has compatibility with the Xbox 360 and PlayStation 3.