Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / bsp level or .x level

Author
Message
Bren
22
Years of Service
User Offline
Joined: 15th Oct 2003
Location: Belgium
Posted: 6th Nov 2003 01:57
Are bsp levels faster then a .x level? By this I mean will the frame rate be higher if I made a level with the valve hammer editor or if I made the exact same level in cartography shop and saved it as een .x model.

Atm I'm using a .x model as level and I'm using the darkmatter2 models, but the fps realy is to low and I need to speed things up.

Games don't kill ...
I do!
http://www.gamingzone.be the ultimate gaming community
QuothTheRaven
23
Years of Service
User Offline
Joined: 2nd Oct 2002
Location: United States
Posted: 6th Nov 2003 05:58
If you have a low fps with dark matter models it's either something wrong with your code, or your computer is just slow.

As for the level thing, when bsp collision is all patched up (it's not great right now), it's probably the way to go. But .x collision with the nuclear glory dll probably wont be surpased.

Dr OcCuLt
23
Years of Service
User Offline
Joined: 27th Nov 2002
Location: a Dark Deep Dark pit, it dark in here
Posted: 6th Nov 2003 15:54
Quote: "Are bsp levels faster then a .x level"


how complex are you levels? if you have a small levels .x may be faster but the biger you levels get the slower .x becos where .bsp has about the same speed for big levels as for small levels.

what type of game are you makeing if you tell us it will give us a better idea of what format is will be better for you game?
Bren
22
Years of Service
User Offline
Joined: 15th Oct 2003
Location: Belgium
Posted: 6th Nov 2003 20:37 Edited at: 6th Nov 2003 20:45
Thx for the info. At the moment I have small levels.
And QuothTheRaven I have a GeForceFX, 512DDR, Athlon 1800+ and Max Payne2 along with other new games, far more complex run fine. So I guess it must be my code. When I'm standing still I have a fps of 54-60 but when I move it drops to 30, for collision I use the Nuclear Glory dll. This is the movement code, I hope you can see what I do wrong (I started out with the tutorial code):



here are 2 screenshots:




Games don't kill ...
I do!
http://www.gamingzone.be the ultimate gaming community
nuclear glory
22
Years of Service
User Offline
Joined: 2nd Oct 2003
Location:
Posted: 6th Nov 2003 22:32
If the world mesh is very large, then when you move the collision system can cause a performance hit. As it does have to run through the list of all triangles in the mesh.

With large worlds it is best to break down the world mesh into sections. Then you can hide/deactivate the sections that are out of range and get an FPS boost in both collision and graphics.

Lead Programmer/Director
Powerful Collision DLL for DBPro: http://www.nuclearglory.com
Bren
22
Years of Service
User Offline
Joined: 15th Oct 2003
Location: Belgium
Posted: 6th Nov 2003 22:34
great idea, thanks for the tip

Games don't kill ...
I do!
http://www.gamingzone.be the ultimate gaming community
Andy Igoe
23
Years of Service
User Offline
Joined: 6th Oct 2002
Location: United Kingdom
Posted: 6th Nov 2003 22:59
I have never been impressed with DBP handling of BSP.

I use .x exclusively. With good object handling skills I can get massive .x levels with hundreds of thousands of polygons but with bsp i'd be lucky if cartography shop even saves a level of that size without crashing, very lucky if DBPro's tool can convert it to bsp, and extremely lucky if once in DBPro there wasn't a million bugs in it.

The trick to .x level design is to break the object down in to hideable chunks. A hidden object is removed from DBP's render list and as far as I can tell does not impact framerate at all ( I suspect a stack system is used internally for object numbers to render and so hidden objects are not considered ).

How to break the level up would depend entirely upon visibility from other areas of your level, how to show and hide objects efficiently is an artform to itself, but simply checking range from camera to object placement will typically outperform DBP's BSP system by a magnitude so large you wouldn't believe me if I told you.

Pneumatic Dryll
gbuilder
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: New Zealand
Posted: 7th Nov 2003 11:09
PneumaticDryll,
What tool do you use to make your large .x levels?

gbuilder.

AMD900mhz, 256mb Ram, 64mb GForce2 MX400 Graphics card, Windows 98se.
Andy Igoe
23
Years of Service
User Offline
Joined: 6th Oct 2002
Location: United Kingdom
Posted: 11th Nov 2003 16:48
I make them manually in Max. Sometimes I use cartography shop v1 but i'm actually still quite narked about later version not working at all on any Banshee system and it's ended up being thrown away.

For external terrain I use smoothing to detail and round off hills as I drag them out of the base plain and for dungeons I use extrusion. Then it is just a matter of breaking the models down into chunks based upon their visibility from other areas.


God created the world in 7 days, but we're still waiting for the patch.
CattleRustler
Retired Moderator
22
Years of Service
User Offline
Joined: 8th Aug 2003
Location: case modding at overclock.net
Posted: 11th Nov 2003 17:00
doesn't direct x handle Culling for us? So we don't have to worry about a billion polys if they are not facing the camera? Just asking as I am starting to learn DX9 programming from .NET and one of the features you can turn on or off is culling.

in C#, the device object can set the culling
device.RenderState.CullMode = Cull.CounterClockwise;
or
device.RenderState.CullMode = Cull.None;

-RUST-
Genesis Rage
22
Years of Service
User Offline
Joined: 5th Oct 2003
Location:
Posted: 11th Nov 2003 20:54
i dont think that DBP does this automatically... not for sure though... cant wait till U6... then you can just use the portal

CattleRustler
Retired Moderator
22
Years of Service
User Offline
Joined: 8th Aug 2003
Location: case modding at overclock.net
Posted: 11th Nov 2003 21:14
yes, but my point is if dbp is wrapping dx functionality then somewhere in dbp we should be able to set the behaviour or at least get the default dx behaviour which I am pretty sure it CULL clockwise (ie not render non camera facing polys)

?

-RUST-
Genesis Rage
22
Years of Service
User Offline
Joined: 5th Oct 2003
Location:
Posted: 11th Nov 2003 21:20
not for sure... just know it doesnt do it automatically... im not a DBP expert, so if it is possible, i dont know how to do it

David T
Retired Moderator
23
Years of Service
User Offline
Joined: 27th Aug 2002
Location: England
Posted: 11th Nov 2003 21:34
I'd use a .x level and the nucearglory collision DLL, provides BSP style collision with none of the *cough* hassle of BSP

"The trouble with the French is that they have no word for 'entreprenuer'" - Pres. George W Bush

Mercenaries in Space demo @ http://www.davidtattersall.me.uk
Dug
22
Years of Service
User Offline
Joined: 11th Nov 2003
Location: London, England
Posted: 12th Nov 2003 03:40 Edited at: 12th Nov 2003 03:41
I believe the command for culling in DBP is...

SET OBJECT CULL object number, flag

Flag meaning 1 for on and 0 for off, naturally.

Login to post a reply

Server time is: 2026-07-26 17:34:09
Your offset time is: 2026-07-26 17:34:09