ASUS Radeon 9600XT
"FireStarter"
It's been the first time we run tests in FireStarter game created by Ukrainian developers from GSC GameWorld. That's why we're reviewing this benchmark in detail. As per the developers themselves, the FireStarter is capable of doing the following:
Background:
- Originally based on the BSP technology
- Originally aimed at API DirectX 8-9
- The fundamental feature is in building games with plug-ins available for all the game components.
- Easy to import to XBox
- The engine is designed for maximum speed and most dynamic gameplay
Levels:
- The levels are partially opened and built with the BSP technology
- The editor is user-friendly and easy to master, does not require special training.
- 98 pre-defined entity classes like doors, lifts, platforms, jump-pads, triggers, bonuses etc.
- Standard protocol for plugging in any new entities
- Use of skyboxes to simulate skies/space etc.
- Illumination around light maps with varying details
- Use of the high polygonal model in creating games
Characters:
- Standard protocol for implementing the character physics
- Specific implementations of animation systems (matrix animation, morphing, skeletal animation) are embedded in plug-ins and can be selected proceeding from particular requirements/design
Particle system:
- Particle systems, explosions, projectile flight effects are built with primitives and can be whatever complex
- All the effects are embedded in the plug-ins
- Standard protocol for programming effects
- 11 primitive effects like spray, debris, flashes, relay etc.
- A simple mechanism for plugging in effects to levels and association with entity levels
- Programmable recurrence of effects inclusion
Levels effects:
- Vapor, smoke, fire, geysers etc. effects based on particle systems.
- Realistic localized 3D fog with the camera placeable both outside and inside the fog
- Global 3D fog throughout the whole level without restrictions for level geometry and shaders used
- Illumination with point-wise, directed 3D light sources, illumination with skybox
- Dynamic light sources
- Projectable textures
- Detail textures
- Auras, radiance around light sources
Shaders:
- Standard scripting language for creating multi-pass/multi-texture shaders
- Standard procedural deformations of vertex coordinates
- Standard procedural deformations of texture coordinates
- Standard protocol for plugging in shader effects (renderers) using the most recent functionalities of video accelerators like programmable vertex/pixel pipelines
- Plug-ins to do with diffuse/specular bump-mapping effects, EMBM, anisotropic illumination etc. supporting several rendering techniques enabling operation with any hardware starting with Riva TNT2
- A smart algorithm for rendering huge volumes of static and dynamic geometry
- Procedural textures such as water, fire, plasma etc.
Interview:
To get an in-depth idea of the technical details of the game engine, we contacted Vyacheslav Klimov, the chief programmer responsible for the gaming engine of FireStarter. Vyacheslav kindly agreed to answer our questions.
3DNews: First, please introduce yourself, tell about the company you work with, as well as the projects underway.
Vyacheslav Klimov: The company is called GSC Game World. I think it doesn't need much of introduction =), and I am more involved in the technical work rather than PR. The gaming projects I have worked at in the company are Hoverace and Firestarter.
- Hoverace (1999-2002), is a futuristic racing shooter.
- Firestarter (2001-2003) is an arcade RPG-like shooter.
Not telling you what I am working at now - it's a military secret :)).
3DNews: Since we decided to include tests of FireStarter game into our series of benchmarks which we use for testing video cards in 3DNews reviews, we would like to find out more about the technical specifications of the gaming engine. What DirectX generation does the engine, the versions of pixel and vertex programs and other specific features relate to?
Vyacheslav Klimov: The graphic engine does not use DX9 functionalities. So, I'd rather relate it to the DX8 generation On the whole, the engine runs as a mix of DX8 and DX9 to date. Regarding the graphics - switching between versions 8 and 9 is done at the compilation stage. The problem is that we came up against a serious performance drop (as much as 30%) in the engine compiled for DX9. Once the cause is found, the engine will be fully migrated to DirectX 9. The shader programs are not linked to the engine. The design philosophy of the engine implies embedding complex effects in dynamic libraries.
3DNews: Good. But we wanted to dwell on some specific issues. In changing the API generation, the performance drop is observed in video cards built on both ATI chips and in NVIDIA cards, isn't it? Or the drop of performance in video cards of one of the manufacturers is more dramatic?
Vyacheslav Klimov: I think it's about NVIDIA's cards. We haven't yet experimented with ATI cards. We were involved in transition to the 9th version immediately after the first drivers supporting DX9 were released. That time, it was no way spending much time experimenting, so we had to discontinue the work. Now more time is left - in the 3rd patch the engine might run solely under DX9. By the way, there will be fixed the "blue screen" bug that appears with recent NVIDIA drivers. Probably the problem was in the raw drivers, or maybe some fundamental changes have been introduced into DX9...
3DNews: You said "shader programs are not linked to the engine". Does that mean the engine supports all possible versions of pixel programs (1.1, 1.4 and 2.0) and switching between them is done "on the fly"? Does it also mean that ATI and NVIDIA cards can handle the same scene using different versions of pixel and shader programs?
Vyacheslav Klimov: The graphic engine operates geometry separated into threads - for coordinates, normal, color, texture coordinates, guides etc. In the material declaration you can specify execution of rendering not by the engine, but by a dynamic-link library (dll). In this case, the library accepts all the necessary data flows via a standard protocol and is thus responsible for the rendering. For pixel programs, the library is solely responsible for selection of the right version, and upon initialization it should choose a rendering algorithm that best suits the specific configuration. Such an arrangement allows building up graphic effects without any modifications to the engine. Examples of using the technology:
- bump-mapping; - anisotropic illumination; - procedure-driven textures; - procedure-driven deformation of vertices/normals; - video textures; - rendering into the texture.
I must admit this mechanism is enabled in the game merely in part - for instance, we had to give up active use of bump-mapping and some other features. We might prepare a separate benchmark built on the FS engine that includes gaming and synthetic tests which use all the features of most recent video cards and DX9, - the engine has it all it takes. The problem is only with time and resources.
3DNews: Recently, they talk a lot about the opposition between NVIDIA and ATI on the market of graphic chips. Many ideas are spoken out regarding that etc. As a DX 8.1 and DX 9.0 developer, do you believe video cards built on ATI chips are better suited for that or is it the notorious code optimization for the architecture of different chips that determines it? Have any specific optimizations been made to the engine of FireStarter for ATI or NVIDIA video cards?
Vyacheslav Klimov: For now, I'd better refrain from statements regarding the opposition. We didn't do any optimizations for each architecture. During the operation, the engine was debugged in parallel on both ATI and NVIDIA cards. We were making sure everything was running properly without any essential performance difference. In my view, the problem is not much about the architectural differences but more about the differences in drivers, sometimes found in the cards of the same manufacturer. For example, it was a big surprise for us to find that a completely written and debugged game simply wouldn't start up with NVIDIA's new drivers. Some ATI cards showed jerking with older versions of drivers. Unfortunately, such things take a lot of time which could have been used more opportunely.
3DNews: OK. Your views are clear =). And how are things with the float-point precision for NVIDIA cards? It's all clear with ATI cards - the minimum admissible 24 bits. What could you tell about NVIDIA cards in FireStarter which can switch the floating-point precisions between 32 bit and 16 bit?
Vyacheslav Klimov: I've never gone so deep in that. No comments.
3DNews: The demo version of the game offers a quite impressive benchmark which gives testers good opportunities for testing video cards. Whose idea was to include such feature into the demo version and do you plan to further promote this direction?
Vyacheslav Klimov: That was a consolidated idea. In our view, it's a good tradition to equip games with benchmarks. We'll be following it further on. As I already said, we might prepare a separate benchmark based on the engine - it is a very interesting topic. By the way, in the demo version and the release we included an option requesting to send the report file to us into the benchmark . So far, many gamers have responded (and responses still keep coming is) - now we can gather a precise enough statistics on PC configurations and speeds.
3DNews: That's a really good idea, but will there be options of writing the user's own demos in the game in order to run tests using them?
Vyacheslav Klimov: Yes, we plan to include such option into one of the patches.
3DNews: Finishing the interview about FireStarter, I can't help asking about one more project of yours: S.T.A.L.K.E.R. =). What can you tell about the engine of this game? What is the fundamental difference from FireStarter?
Vyacheslav Klimov: A separate team is engaged in Stalker. I think you'd better ask about the engine the programmers directly :) I think the main difference is that the engine of Stalker was originally targeted at "tomorrow" of graphic technologies, while FireStarter is aimed at the maximum wide range of today's hardware.
3DNews: In conclusion, I think our readers are anxious to know when the game will see the light in its final make.
Vyacheslav Klimov: Regarding S.T.A.L.K.E.R - no comments. But Firestarter has been on sale for over a month by now, with two patches fixing the most critical bugs have been released. Currently, we are working at the third patch - it will fix the issue of compatibility to some drivers, and some gamers' suggestions will be implemented. The patch is to be released in March 2004.
3DNews: Well, I'd better stop my tortures at that =). Thank you very much for the interview.
Vyacheslav Klimov: Thank you for the questions. Good luck!
 |
Top Stories: |
 |
 |
 |
MoBo:


|  |
 |
 |
VGA Card:


|
 |
 |
 |
CPU & Memory:

|
|