Three new screenshots from The Witcher
have been added in our gallery
, illustrating this upcoming action-RPG in the works at CD Projekt Red Studio
). The Witcher combines the features of such games as Dungeon Siege, Baldur’s Gate: Dark Alliance, Gothic and Neverwinter Nights. The game is supposed to ensure entertainment to a broad group of older players, incorporating simple yet interesting game system, along with a complex plot and attractive 3-D graphics". Be sure to check the E3 2004 trailer
if you haven't done so yet.
"The Witcher” is an Action RPG game for PC platform, which combines the features of such games as Dungeon Siege, Baldur’s Gate: Dark Alliance, Gothic and Neverwinter Nights. The game is supposed to ensure entertainment to a broad group of older players, incorporating simple yet interesting game system, along with a complex plot and attractive 3-D graphics.
An additional advantage of the game is its location in the world created by fantasy writer Andrzej Sapkowski. However, the construction of the storyline does not require any knowledge of Andrzej Sapkowski’s novels. The game takes place in a “ready-made” fantasy reality, therefore both the world and the characters are a part of a greater entirety. They are composite and authentic, which allows the player to easily identify with the events of the game.
* Artificial intelligence of the enemies
As a simulation of a character’s behavior in the game environment is a necessity, we pay a lot of attention to the progress in the researches concerning the factors governing human behavior. We also manage, although in a smaller scope, our own researches. Their purpose is to prepare algorithms, which, with a reasonable load on the processor, will generate behavior as similar to human as possible.
Currently the works on Artificial Intelligence consist in selecting parameters governing the functions described below. They constitute elements of a module, which is called Behavioral Algorithms.
Careful selection of movement path (movement nodes)
Paths the characters move on are based on a thick net of movements rendered during the process of game creation. Rendering the movements is time-consuming but it enables the path net to contain elements very close to natural behavior of people and animals. The basic function of the movement net is to store the information about the map shape and main objects localization in the memory of the character. There are many additional possibilities: ability to define places that are safe, with weak light,
optimal for attacking and defense.
Selection of current action and the character’s moves synchronization
Behavioral algorithms are supposed to provide as much authenticity as possible to the behavior of the characters controlled by the computer. The module mentioned at this point of the program is responsible for the way a simulated character behaves. The module is very complex and requires a very accurate software and precise selection of work parameters.
Algorithms of character’s behavior selection also analyze a number of conditions concerning equipment selection. Among the most important are: is it worthy to pick up a weapon if it is better than the one currently carried? Is it worthy to pick up a potion or armor? Are we exposed to an attack while doing this?
Selection of currently used item
The enemies see what kind of weapon the character uses and they adjust their strategy to it. If the weapon is effective in a short distance, it is advised to retreat and change the weapon to one effective in a long distance. If a character carries a ranged weapon , it is advised to come close and prevent an effective use of this item.
Cooperation between characters
Characters can call for reinforcements, wait for their arrival and then attack in a group. Because of that their actions are even more similar to a natural human behavior.
Implementation of various materials covering the surfaces
Various elements of the character may be covered with materials having different optical parameters. This provides new possibilities concerning the visualization of objects. Thanks to this solution for instance a character’s skin may reflect the light differently than armor parts. Clothes a character is wearing may be made of transparent textile and polished armor parts may reflect the light of the background. The technique of diversifying the materials can be also used to demonstrate additional effects, such as smoke and sparkles.
Implementation of Specular Highlights lighting
In our game we give the player a possibility of choosing the way the reflections are seen. In the first option the process on calculating necessary parameters has been limited so that the processor load is minimal. Second method allows presenting reflections simultaneously with presenting a bump bitmap, which is described in the next item of this document.
Implementation of environmental bitmapping
Environmental bitmap is a supplement to the Specular Highlights type of lighting, however in some circumstances (mainly during visualization of open spaces) it provides extraordinary aesthetic quality. It is also a very simple way to present pseudo-mirroring surfaces. Our software enables the use of environmental bitmaps, which increase authenticity of a presented scene and at the same time do not require the processor’s power as much as specular lights or real mirrors do.
Implementation of volumetric fog
Volumetric fog allows to define places, where air transparency is lower. This effect was first used in computer games long ago, but many games still do not employ this technology.
Implementation of Bump-Mapping
Modern graphic cards give means to apply Bump-Maps in the game. The effect of Bump-Map is a perfect solution to increase visual quality of almost every surface. We are going to exploit this option fully and prepare many attractive effects, such as for instance water waves. These are examples of Bump-Map effect use:
three-dimension missile marks
three-dimension footprints on snow or sand
small animated objects such as insects, spiders and cockroaches
realistic face grins
a number of spectacular light effects
Realistic model of water surface
When using Bump-Map it is possible to create a simulation of very realistic waves on the surface of the water. Shape and direction of waves movement depends on the size of the waters and the object that caused waving.
Mirroring and shining surfaces
Our software enables use of mirrors and shining surfaces (e.g. floors) in the game. Rendered reflection is generated together with a reflected object in one projection process. This solution provides a very effective method of projecting mirror reflections and because of that this process does not have a visible influence on the processor’s work.
Carefully implemented physics of components
In this product we will implement technologies enabling realistic rendering of physical phenomena. The most spectacular examples are: water surfaces and breaking glass. Also floating or drowning objects can be encountered in the game, their realistic fall into the water (change of density and consistence of the surrounding), effect of rolling stones and many, many other elements.
Full implementation of realistic dynamic shadows
Although our technology allows projecting dynamic shadows in real time, we would like to improve it in the future.
Smooth change of daytime
Daytime change means a change of lighting of the scene during the game. This solution may also bring variety to behavior profiles of the characters in the game.
Smooth change of weather conditions
Change of weather conditions is supposed to create a maximum authenticity of the presented world. This solution enables smooth beginning of falls and change a type of fall, for example an autumn rain may transform into rain and snow, then into snow and everything will seem perfectly natural.
Implementation of dynamic level of detail change
Dynamic change of details level means presenting objects in a distance with use of a smaller number of triangles. Analogically, objects being close to the observer are projected with use of a larger number of triangles. Applying this method allows to create scenes with more details, while preserving unchanged frequency of picture reloading. Increased precision is much higher than the growth of capacity demand concerning the device needed to operate this world.
Perfect quality of Internet connections in network games
We've spent months on polishing up the technology of network game. The results of our work are techniques of smoothing network player’s picture and developing algorithms of predicting his situation in case of latency in data transfer from server.
Many objects in the game are so small that they can be regarded as point objects during their simulation. When applying this method it is possible to simplify algorithms modifying this behavior and manage much more such objects in a unit of time. A large number of small objects gives the player visual sensations, which cannot be found in products without this option.
Ultrarealistic organic models
Using point objects makes it easier to visualize organic elements of the scene, especially trees, bushes, scrubs and grass. These elements seen as groups of point objects give the impression of remarkable similarity to the real world.
Realistic physical model of broken glass
Our engine can present the process of glass breaking in bullet-time mode, where it is visible in detail how the tension spreads inside the material and how the energy of shattering fragments is dispersed.
Full implementation of architectonic sound system
Our engine provides three-dimensional sound through DirectSound (tm) libraries. This system ensures good quality sound both when reproduced as quadraphonic sound, through headphones or typical stereophonic set. Currently we focus on the implementation of echoes of sounds, their loudness and relay will depend on the shape and size of the room.
By “scalarity” we understand the ability of the software to adjust to the capacity of the computer it is used on. This feature of software is a very important factor, which decides how wide range of receivers can enjoy the product. While creating the game we pay a lot of attention to prepare the product to operate smoothly and provide a high quality entertainment on computers with various hardware resources.
The basic factors influencing scalarity of the product are listed below:
simulation of waves movement
quality of reproduced sound
change of accuracy of scene elements reproduction
change of resolution and anti-aliasing
visibility of small details present in the scenery of the game
size of textures depending on AGP port and graphic card capacity
This is an option of smoothing sharp edges of the objects on the screen. The picture becomes smooth and pleasing to the eye. Unfortunately, on some video cards this option may slow down the frequency of projection. Our software allows the user to toggle the option.
This technology charges the graphic card not only with the process of projecting ready triangles, but also enables processes of transformation and lighting of the objects. Thanks to this solution the processor’s free time can be spent on other tasks and thus result in more effective work of the whole application.
Vertex Shader and Pixel Shader Technologies
Vertex Shader technology enables creating programs, which modify the way the video card processes geometric point data (vertex). Pixel Shader allows modification of software that governs the method of processing a single pixel. Both technologies provide new possibilities of visualization.
MMX technology and SIMD and SIMD2 (Single Instruction Multiple Data)
Both technologies give means to manage arithmetical operations on data boards (vectors) by means of individual assembler instructions. In our software we use these technologies to improve the efficiency of the game world visualization process.
This technology was implemented in Pentium 4 (r) processors. The new Pentium processor is the key to this technology, as it contains electronic structure, which works as two separate processors, thus much more productively. Thanks to cooperation with Intel(r) we can prepare software soon after introducing a new processor to the market, so that it operates as efficiently as possible on modern computers.