Bigtruck's pages

Updated July 10, 2005



Special Effects Programmer: Manuel Ruiz Montes

Before working with Rebel Act I studied a science degree in the Granada University (Spain). I've worked on Blade since the very beginning (a long time ago, that is), when the whole thing was a not a very defined project undertaken by a small group of people. At the beginning I worked as a 3D graphic artist, but later I got into level design and some programming too. Well, may be that's why the call me Manolito++!

Click to enlarge!Apart from the game's window (winblade) and the console in the image, you can see two other programs: Visual C++ in which you can see a python file (to perform the scripts) and a C++ file (in which, among other things, creates the python-engine interface). The second program is the Level Editor; as a part of the scripts consist of cinematic sequences integrated within the gameplay of a level, and are performed completely in real time with the game's 3d-engine, you often need to know some data about the level architecture.

When we took this screenshot I was trying several configurations of particle systems, in order to add a few magical effects to the playing characters (in that given moment I was testing it with the Amazon).

All the scripts, even the ones for special effects, are written in python. In C++ we code all the different kinds of entities (objects, persons, cameras, particle systems, etc.), their several properties (that will influence in its behavior and visualization), and all the functions to manipulate those entities. Also done in C++ is the entire interface to deal with the entities from Python (as mentioned).

As a 3d artist uses the tools of a 3d design program to build objects, I use all the tools the engine provides me to represent the different sequences and special effects that appears on the screen along the game. For example, I am the one who shapes up the chaos knight's missile, its visual aspect, the effects linked to its appearing when the chaos knight concentrates the energy needed for launching it, the visual effect of the hit with the player, etc.

The main scheme of a FX-sequence is foreseen beforehand and is being refined as it is done, specially the camera movements, the several animations that the characters perform and/or enemies that are implied in the scene, and the final aspect of the visual effects that appear.

The field of application of special effects is very wide and the system is so customizable that the possibilities are almost infinite. Some examples, apart from the more obvious ones (as making magic lighting and objects appearing etc.), are: atmospheric effects, some kinds of traps, the majority of the magical blocks and attacks, object morphing, energy concentration effect and energy dispels effects, electric bolts, appearing and disappearing of certain enemies etc.

All the special effects are done using the own entities of the engine, along with their specific settings and a placement within the game space completely defined, which interacts perfectly with the other elements on the screen. That's why the use of layers is unnecessary.

As I mentioned, all the entities (and the objects are just one kind of the ones available in Blade) have several properties that influence in their behavior and visualization. For example, in the case of a 3d object that magically appears the effect is performed manipulating, in real time, several properties of the object, like the transparency/alpha level, the kind of transparency (additive, alpha blending, etc), the level of self-illumination of the object's texture, its scale, etc. All this is combined with other entities like light sources, particle systems, electric bolts, etc. to give the final touch.

The particle systems are one of the entities with the higher number of attributes or properties, which a lot of different effects can be achieved. Without getting too technical I can tell you that the whole definition of a particle system consists of two sets: 1) The aspect of the particle itself along its lifetime is defined. During that time its colour, transparency, size, etc. can vary as desired. 2) On the other hand, the properties of the system itself are manipulated. Such as the kind of particle to be used of the ones defined previously, the gravity, several types of velocity, the living time of the particles generated, the time to live of the system itself, the friction with the air, the tendency of the particles to follow the particle's source generator movement if this one moves in the space (making a more or less noticeable trail effect if wanted), the kind of source that generates those particles (which can be either a point, a line, an area or even all the vertices of an object's mesh or character), etc.

The use of special effects along the game is not isolated to a few moments. On the contrary, they are present along all the flow of the action, sometimes in small doses (for not being annoying), while other times in a higher scale (for example in some scenes of major importance).

The fact that the special effects being calculated in real time make them useful not only for adding spectacularly to a lot of the scripted sequences present along the game, but also to provide a clearer information to the player. I mean, a visual effect can be used to indicate the player when he has raised his level (not just using a simple number), when he is under the effect of a given potion, when there is a magical weapon, when a given enemy is about to launch a magical attack, etc. In fact, objects like torches, candles, lamps, etc are built with the 3d model, which has got a light entity and a particle system linked. Those entities are exactly the same that are used to create more complex special effects and are done without stopping the action at all.

We take special care with the system-resource usage, because a visual effect is created so it can be seen properly and a low framerate will cause a negative impression. The major problems were in the lack of proper dealing with transparencies of certain 3d cards that are currently obsoletes (like the voodoo 1), but those problems were overcome in more recent cards (just like a voodoo 2, that works much better than a voodoo1 in that field).

The background for FX in both games and movies are the same, but the way of working differs, as the possible problems that can arise. That's because a lot of the special effects used in movies are edited in postproduction over a 2D image, so the quality of the effect is affected in a big way by the good or bad integration with the real image. This is a problem that almost does not exist in a videogame, allowing us to explore many possibilities in small time frames working straight with the final "cut", but - on the other hand we are somehow limited by the engine's capabilities.

Without giving less credit to other games (take into account that many of us are die-hard players and we also enjoy and get surprised with other games), I think that the plot unfolding and the diversity in the action in Blade will make it one of the current games with more diversity and spectacular in its visual effects, without draining a single bit from the gameplay.