Quake 3 demo released

I have uploaded a quake 3 demo to the xith3d project files section.

https://xith3d.dev.java.net/servlets/ProjectDocumentList?folderID=0

This demo demonstrates walking through a quake level. The source code is included. Everything is included that is needed to run it on windows. If you want to run it on Linux or Mac you will need to download the appropriate installation and jigger the rundemo script.

when running the demo, use the arrow keys to move around, G will toggle gravity and spacebar jumps.

Dave

Cool! Works!

Performance goes from 20fps in the inner hall (8000tris) up to 85fps…

A windowed mode would be nice :slight_smile:

So, asking the experts, where does the final, quite big performance difference to the real quake comes from (which never drops below 85)?

Do they use completely different algorithms?

8000 tris isn’t very much to display for a GF2. I assume that investigating WHICH 8000 tris to render and to arrange them properly takes the time?

Hey, I found a place where >17000 tris came into play. Framerate dropped to 9fps :slight_smile:

Anyway, I looked into the code … very nice and clean … even a fool like me can read it!

That’s really a cool demo. :smiley:

The performance issues are entirely due to the overhead of the scenegraph. A Quake level is about as un-scenegraph freindly as you can possibly get since it is divided up into thousands of little chunks of just a few triangles. Only 15 percent of the time is spent actually rendering the geometry accoring to my profiling. I will be introducing a few enhancements to the API to allow you to specify the shader execution list inside an atom, this will allow things like the quake levels to rendered more quickly since the programmer can optimize where it is necessary.

Hi David,

you really did a very good job indeed! As I mentioned in another post I wanted to compare it with one based upon gl4java. Your code seems to be a bit slower for high tris counts but renders better graphics plus adds level walking (up&down) and jumping already. Great! I will have a closer look at other levels within the next days.

Very impressive David :slight_smile:

It’s good to know that you can easily beat a PSX graphic wise with Xith3D on a comp wich is older than 4 years.

So, asking the experts, where does the final, quite big
performance difference to the real quake comes from
(which never drops below 85)?

Well, the Q3 engine is a very tight piece of code, wich was build around that level format. It’s specialised to the bones, therefore it performes damn bad in “outdoor” levels. If you would build a flight sim mod, you would have the perfect worst case scenario.

Xith3D on the other hand would perform equally well. However it would look a bit bad if you compare it with one of that “outdoor” engines :slight_smile:

Wow :slight_smile:

Very nice.

Works great :D, if a little slow compared to the real thing.
Although I can understand that this is probably because Xith isn’t meant to do just FPS and the Q3 engine is only meant for that, but is there still some optimization possible?

Erik

[quote]As I mentioned in another post I wanted to compare it with one based upon gl4java. Your code seems to be a bit slower for high tris counts but renders better graphics plus adds level walking (up&down) and jumping already.
[/quote]
GL4Java doesn’t have a scenegraph, that’s why it should be faster than Xith3D in this case.

:wink: Great work, its really good. I noticed one thing though. When I walk up the stairs and go over the edge, I seem to be still in mid air (i.e. I dont fall down to the floor) and have to press “G” . Is this a feature?

Another thing is how do I add an object in the world (say a box) and attach collision detection to it ??? If you have answered it in another thread, a refernce to that would be great.

t.

The way I understand it, it seems that you get all faces of the map and make them colliders. So everything in the world seems to have collision attached to it.

If this is right, how do I identify the object I have collided with? For example, how do I know if I have hit a box not a wall or a door.

tomcat.

Should Quake3Test program work properly?
I run it, press space key and it will give NulPointerException in line 180.

Its the chunk of code where lightning modes are cycled through.

Just out of interest, where did you get the demo level from? I’m writing a BSP renderer in plain jogl, and it will display Q3 demo levels fine, but chokes on the bsp provided with this demo. It looks like it is using different vertex indexing to other bsp’s I’ve tried, as there are obvious missing triangles all over the place.

I think I’ve seen the level used in the demos included in Radiant 1.4.

I’ve been playing about with the demo to try & load other maps with no luck what so ever. Do you have to compile them in a certain way? I’m using radiant - which I’m totally new to.

E.

This might be a bit stupid :-[ (but bearing in mind I was new to Quake mapping until about 2hrs ago) I found that you must use an info_player_start to get the quake loader to work when creating your own map start point. I was using a info_player_deathmatch as in the radiant basic tutorial which is why I had no success.

The excellent demo works well with maps I have created this afternoon. :slight_smile:

your demo is awesome! at 800x600x16 with a radeon7000w/8meg - 800mhzP3 i average about 18fps. that is pretty amazing for such old hardware, given that your xith3d architecture is generalized.

I think this is it there is a quake demo by David here look in the xitktk/quake3 portion

https://xith3d.dev.java.net/servlets/ProjectDocumentList?folderID=0

I have also a radeon 7000/64Mo and AMD thunderbird 2000+ and it do not works on my computer (about 1 image every 5/10 seconde), what is wrong ?

Drivers are ok, I can play other 3D games like battled field without problem.

so what can I do, to make it running properly ?

Where is David Yazel these days?

How do we feel about creating a Java Web Start version of his Quake 3 demo?

I don’t think he has ever been heard from again, which is a real shame since he is awesomely creative. Magicosm was looking way cool there ffor awhile.

I consider the Quake demo a Xith asset and see no reason for not making it more available.
+1 from hawkwind