Conversation With A Development Specialist
We asked Julien Merceron, Technical Director of Ubi Soft, a few questions in order to find out a developer's point of view.
THG : Is the XDK development kit similar to the PC development kit?
Julien Merceron : This is a system that is more similar to the console philosophy. You develop on the PC, and you are connected to the development kit within a network. The latter makes the application work in order to verify the function and proceed to the debugging. This technique is similar to console development. The PC developers who are now developing for the Xbox and who did network development are favored, but overall, the console developers will be more comfortable. The difference with the PC essentially comes from the remote, the machine which runs the program is not the one where one does the programming.
THG : How close are they to the Direct X 8 libraries?
J.M. : Very close. The functions and the structures bring to mind the Direct X universe. On the other hand, the philosophy changes because the hardware is stable. There are no longer any questions of material compatibility. You inherit the development quality with stable tools that are running well and where all the problems have been ironed out. The libraries have already been used and tested. Furthermore, one benefits from the stability of the console. The PC hardware is variable, and one must make sure of the compatibility, but this is not the case on the Xbox. Thus, one has won on all fronts. At the development level, that's very pleasant.
THG : When comparing the XDK to the PS2 kit, what could be said?
J.M. : PS2 is a different console because there are no graphics libraries. Sony doesn't provide any. The "middleware" works well because the developers are deprived. One must write a code to display the polygons. On the Xbox, all the libraries are there and even a beginner can do impressive things. On the PS2, there is a steep learning curve before one can obtain a correct result.
THG : What about translating titles to or from the PC?
J.M. : Porting from the PC to the Xbox is not given great importance because on the console, there is a specific code for managing controller, backups, etc. "Soft rules" are imposed in order to make things easier for the user. Therefore, it's better to start with a gaming console moving from a less powerful platform, but with a similar philosophy, toward a more powerful platform rather than the contrary. The gaming PC has not been optimized and its code will function in a chaotic way. One could easily port from the PC, but it is necessary to redo the architecture in order to have a quality game. The danger is if the developer says: "All right, it works on the Xbox, the code is fine and I'm not touching it." At any rate, the game will doubtlessly not draw on all of Xbox's possibilities.
THG : How do you see the graphics potential offered by NVIDIA's NV2A architecture?
J.M. : One can go very far on the Xbox. With unified memory, one can make a clear choice for the title on how to allocate the sound, the image and the IA. The other consoles don't have that. The first games already have anti-aliasing, mip-mapping, and filtering, something not found on the PS2. The GameCube has small problems with its anti-aliasing only working at 16 bits. This affects the transparencies in particular. Volumetric fog is ruled out at 16 bits. Since on the Xbox the majority of the graphics problems have been resolved at the source, the developer can devote himself to the gaming universe.
THG : What is the importance of anti-aliasing and vertex shaders?
J.M. Anti-aliasing can be adjusted on the PS2 with the motion blur option, but as soon as the camera moves too quickly, there are problems. We choose the technologies for their impact on the player's immersion. If the motion blur is an annoyance, we'll not use it. With anti-aliasing, the Xbox image is always clear and keeps the player's immersion intact. It doesn't use much memory either. The vertex shaders take care of the "Transform" and the pixel shaders take care of the "Lightening". To do an animation, you traditionally do your calculations on the CPU. On the Xbox, these calculations are executed by the graphics chip by means of the shader. Therefore, the CPU is more available to manage the IA, for example. Furthermore, you can interact with elements such as music. You can synchronize. With the pixel shaders, the rendering can be executed flexibly, combining textures, lighting, transparencies, and you can apply different rules for each pixel. The shaders are not difficult to use, but you have to apply yourself. They have programming languages. The Vertex language is more complex and not necessarily intuitive. But once you understand it, there is lots of freedom. The shaders first came out on N64, therefore on the console, they were used on the PC, and are back even more powerful on the Xbox. Let us schematize it with a PC reference: the PS2 would be at the level of the DirectX 6 (you'll have to manage on your own), the GameCube at the level of the DirectX 7 (it is good, but there are few possibilities), and the Xbox is at the level of the DirectX 8.
THG : What do you think of the evolutionary potential compared to the launch games?
J.M. : The Xbox is meant to evolve and offers a lot of possibilities. Today, everybody is working on a good immersion for gamers, which means the details of the setting, the quality of the animation, and the interaction. In the future, developers will focus on these points (geometry, animation, IA). This will take time because it is complex. One will have games that are more and more expensive to produce. With costs in mind, games will have to be shorter in order to improve the quality. Games will last between ten and twenty hours, with more immersion, and on-line modes to make up for the length. The console must therefore support better graphics and the CPU must manage more IA. The Xbox has those qualities necessary for immersion and it is on-line. Therefore, it is perfectly placed in the continuity of the video game and its probable evolution.