APOCALYX is a...

free Game Engine based on OpenGL (MAIL) (SITE) (FORUM) (BLOG)
Showing posts with label BSP format. Show all posts
Showing posts with label BSP format. Show all posts

Friday, July 25, 2008

City tour

Finally, the end of the screenshots tour. Let's come back to an urban environment. The buildings are just made of simple blocks, but enough to represent the town of "Urban Tactics". All the lightmaps applied to the walls are generated by the raycaster included in GtkRadiant.

A few buildings

A flat wall: the windows are
drawn in the applied texture

The main street

Tuesday, July 22, 2008

Flying through Genoa

If you had fun flying through the El Paso level, you'll have more fun flying through a larger level that represents the town of Genoa in Italy. You can download the demo at SourceForge.

The BSP level, very large and detailed, was created by Massimagnus for the game "Soldier of Fortune II". I have only converted it to the Quake III BSP format necessary to show it in APOCALYX.

The author has created the level with the help of his memory only. Effectively, the represented places are not exactly the same, nor the pieces are connected as they are in reality, but I know Genoa very well and I can say that the final result is very near to the real atmosphere.

Monday, July 21, 2008

The Bank of El Paso

Yesterday I show a few screenshots of MD3 models taken from "WesternQ3" a MOD for the old Quake III. The models are quite old-fashioned, but it's amusing the see the Clint Eastwood's face attached to a low-poly model. Now it's time to show a BSP level inspired to the town of El Paso, as it was built in "For a Few Dollars More", a movie by Sergio Leone.

In the screenshot above you can see the bank of El Paso (the grey building on the left) just after the assault of El Indio's band of robbers. While in the screenshot below, you can see the main street of El Paso: a nice place for a duel.

To download the demo and fly through the buildings of El Paso, visit the APOCALYX Demos page.

Thursday, July 3, 2008

ODE & BSP

One of the improvements of the recent released alpha version of the engine (read the original post to download the preview) is related to the collision of ODE (Open Dynamics Engine) rigid body objects and the BSP (binary space partition) geometry. Now balls and other bodies bounce perfectly alsp in BSP levels.

To see the feature at work, execute the demo "BallsOnTriMesh.lua" available in DemoPack1. The demo is divided in 4 sections performing collision of two meshes (ball shaped) against a mesh, a height-field, patches (infinite terrain) and a BSP level. Finally, also the latter works perfectly, so users can simulate the dynamics of ODE objects in complex indoor environments.

Sunday, June 1, 2008

Indoor soccer field (II)

Just a short news to let you know that the SOCCER TACTYX development is in progress.
The playfield design by Kr0meel has almost got its final form. As you can see in the screenshot, the ceiling has become more complex and is full of lamps. There are also speakers at the corners (not visible here) from which players can listen at running commentaries.

You can also see the bots running all around, in fact finally they have got a goal in their life: blindly follow the orders of their creators. Actually, the more complex script simply chooses direction and speed at random, so the bots move quite erratically on the field, but I'm improving the sets of available functions. The complete set will include commands to make the bots run, jump, kick, see the field and goals, find the ball, friends and enemies, evaluate the available energy and so on. I think that a real working demo is not so far.

Thursday, May 29, 2008

Indoor soccer field

Thanks to Kr0meel, the soccer field, where the SOCCER TACTYX Championships will take place, is going to acquire its final shape. Finally the textures are those intended by the author. In fact, you can see in the screenshots an improvement in comparison with the demo that I released yesterday (read yesterday's post for a link to the current very simple demo). I'm not sure yet about the light intensity, but this is a parameter that we can easily modify later.

Loading screen

In a few days I'll replace the basic demo with a playable one, at least in its essential structure. I don't know yet if the simulator of the bots' virtual CPUs can afford the effort to support 11 vs 11 matches, but I think that a 5 vs 5 is a more realistic objective and also more manageable for the script writers.
Imagine two teams of bots, each of them controlled by their own script, playing football in an indoor field, running and shooting balls to show who is the best: that is going to be SOCCER TACTYX.

MDL models during training

Wednesday, May 28, 2008

SOCCER TACTYX

Yesterday I began to program SOCCER TACTYX, a preview of the next to come GUN TACTYX 2 in which the bots does not shoot each other but peacefully... play soccer!
I put together some ideas on occasion of the European Foot-ball Championship (Euro2008) and then published a very early demo: nothing to play yet, but at least you can see the models at work.
You can download the demo here.
I asked for permission to use the models taken from the International Online Soccer, a great MOD for Half-Life 1. Recently a version of IOS for Half-Life 2 has been published (visit the official site). Then you can see in the demo a simple indoor field made by Kr0meel. We still have to set correctly the textures, that's why the room seems so flat.
Executing the demo, you'll see the usual loading screen, then, clicking on PLAY, you'll see the models performing their animations. A lot of work is needed to complete the game, the European Football Championship is near, thus I'd better to post and go back to the script editor. Feel free to post suggestions and comments.
Stay tuned for more news about SOCCER TACTYX.

Saturday, May 24, 2008

How to load BSP levels

Sometimes APOCALYX users want to load ready-made Quake3 BSP levels without writing too much code, to see how they look like in the engine. Imagine several BSP levels stored in a single *.pk3 file, as usually Quake3 BSP levels are shipped. You don't need to write any line to see them, simply use the BspLevel.lua demo included in DemoPack0

BSP level from the "Q3 Rally" MOD

At the beginning, the BspLevel script, looks for the file pak0.pk3 and lists all the BSP levels included in it. Then the user can choose one of those levels and the avatar (the well known Wrokdam model) will appear in one of the spawn points. Use the DEL key if you want to free the camera, when the avatar is teleported in places where the geometry prevents it from moving.
Usually the levels don't look as in the original Quake3, because of the limited support of Q3 shaders, but some are not so bad. Since transparencies are disabled in the script by default, try also to enable them pressing the "T" key (as explained in the help screen).
In conclusion, if you want to view levels taken from the Quake3 MODs, simply put the original *.pk3 file, containing the levels, in the engine folder, then rename that file to pak0.pk3, execute BspLevel.lua and choose a level. Probably you'll find one that looks good enough to be used in your own demos, without losing time in the modelling phase.

Monday, May 12, 2008

Level design (City Racing)

The first step in the development of “City Racing” (CR), my next APOCALYX demo, is the creation of a nice city track. In fact, CR is meant to be a race among fast cars in an urban environment. I’m neither a modeller, nor a level designer, so my capabilities in the field are very poor. My only not-so-basic experience was the creation of the level performed in the “Urban Tactics” demo, while in other cases I usually borrow professional-looking levels from real games.

However, following the trial-and-errors of my previous experience, I used GtkRadiant, that is my preferred level editor, to create a track in the old Quake3 BSP format. Then I needed some good textures of buildings and walls and I chose the free texture pack from “Max Payne” (its authors provided gracefully a collection of texture for non-commercial use). Finally, I got a nice background (the one I recycle the most) and the materials to build the level were complete.
Now it’s time to put all things together. I begin to put large brushes on the level (brushes are the blocks the buildings are made of) to create the walls, in fact my simple design says that the cars will run between two continuous walls. Then I apply the textures on that brushes to make them look like ordinary walls with windows, bricks and so on. This step takes a while because I put several 90-degrees turns in my track and I’m trying to vary a little the applied textures. Anyway the final result looks quite schematic and a lot of work is needed to make it more complex.
At the end, I apply a sky transparent texture to the ceiling and lateral walls so the player can see the skybox. It’s important in this phase to choose the right inclination for the sun, because the shadows of the buildings must match the position of the sun.
The last step is the boring one: waiting that the level compiler computes all the lightmaps for the level. Since ray-tracing algorithms are at work, a lot of time is necessary to complete the task, but when GtkRadiant will terminate is job, I’ll got a nice city track to test the first runs of the cars. Stay tuned for more news about the… making of “City Racing”.

Saturday, April 19, 2008

BSP performances (II)

Yesterday I promised a comparison between APOCALYX and Ogre about the rendering of Quake3 BSP levels. I tested a level taken from the Ogre demos, that you can see below, and the result is surprising: while Irrlicht and APOCALYX behave almost the same, Ogre is much slower! Ogre got only 61 frames per second against 213 using the same configuration (same resolution and no vertical sync enabled in both cases).
The result may be surprising, but you must consider that Ogre renders some animated textures that APOCALYX ignores. The differences are evident in the screenshots.
Ogre is more than three times slower, but the scene looks much better. In conclusion, it's time to improve the BSP support of APOCALYX, trying to keep it fast, of course.

Ogre above, APOCALYX below

Friday, April 18, 2008

BSP performances

From time to time, occasional users of the engine say: your engine is interesting, but in rendering Quake3 BSP maps it is slower than Irrlicht, Ogre, or... (put here your preferred open source engine). Then I discover that occasional user has compared different maps, in different situations. A typical mistake of unexperienced users: a comparison between the Irrlicht "Quake3Map.exe" demo at the default resolution (640x480) and my "BSPLevel.lua" at 1024x768!

So, in conclusion, is APOCALYX really slower than Irrlicht in rendering BSP levels? Below you can see two screenshots of the same level from above (taken from the Irrlicht demos). In the same conditions, the utility "Fraps" reports almost the same frame rate.

In the next days, I'll make the same comparison between APOCALYX and Ogre. I need just the time to extract a BSP level from the Ogre demos.

Irrlicht above, APOCALYX below