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 / .X level instead of BSP

Author
Message
TogaMario
23
Years of Service
User Offline
Joined: 30th Jan 2003
Location:
Posted: 8th Mar 2003 08:43
I don't really want to build all my levels using BSP, because it's not very customizable as far as easily placing and moving structures and using massive outside maps. Someone please help me find a way to use .X objects as buildings ... I would have no problem using .X as regular objects (swords, horses, players, etc.) but I want the player to be able to enter, walk around, collide with walls (already got a code for sliding collision) and remain level with the floor till they leave, or if they go up stairs, or the jump (already got jump code too along with gravity). I know it's a lot ... but it's pretty darn important (just need the floor part really) and please don't say "Just use BSP" ... i'm almost absolutely sure BSP would totally kill the game, it being massive ... and open terrain ... and multiplayer, mostly. Thanks for your help in advance.
P.S. This is what the alphabet would look like if Q and R were eliminated.
ZomBfied
23
Years of Service
User Offline
Joined: 2nd Oct 2002
Location:
Posted: 8th Mar 2003 09:21
For massive levels, I would use something like a portal system or just make up your own way of hiding most of the objects when you're not looking at them --which is really what bsp boils down to advantage wise.

Rob K
Retired Moderator
23
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 8th Mar 2003 12:50
UWDesign have produced a tool called Visible Worlds which might help here.

Current Project: Retro Compo. Entry.
TogaMario
23
Years of Service
User Offline
Joined: 30th Jan 2003
Location:
Posted: 9th Mar 2003 01:42
Thanks, but the code for hiding things out of a range will be simple. I just wanted to get the .X thing done for, before I began expanding a vacant world ... Someone must have some insight on this process. Am I going to have to create two seperate objects? Building1_Walls and Building1_Floor? If there an easier way? I've got it as just one object right now, so someone please help me before I have my crew model hundreds of building just to have to redo it, lol, they'd be mad at me then Probably a bit discouraged too. Thanks!

P.S. This is what the alphabet would look like if Q and R were eliminated.
the architect
23
Years of Service
User Offline
Joined: 6th Jan 2003
Location: United Kingdom
Posted: 9th Mar 2003 03:14
At the mo DBPro is to slow to let you LOAD models ad-hoc. It seems sticking models behind the camera to remove them from the rendering process doesnot work at present.

Q3 use 3 levels of complexity in their models. Each model further away from the camera has its polygons reduced by 60%. There is no hard / right way to do something. Try your own experiments.

TogaMario
23
Years of Service
User Offline
Joined: 30th Jan 2003
Location:
Posted: 9th Mar 2003 03:51
I've got LOD models (characters and complex objects) too ... need collision help with .X files. PLZ help anyone, developers of DB ... any ideas, anyone?

P.S. This is what the alphabet would look like if Q and R were eliminated.
Kangaroo2
23
Years of Service
User Offline
Joined: 26th Sep 2002
Location: United Kingdom
Posted: 9th Mar 2003 12:49
You have heard of tile based 2d games and collision, especially in top down rpgs? Well use a similar system. If you've played my Quake 3 demo you'll see that in the top corner it displays a 2d grid position in the 3d world. For each square you could seta variable on each of the outside surfaces (Eg if there is a wall there or not) and also a variablew to stste the height of that particular square. Then just use simple maths functions to "detect collisions" without ever using the automatic collision detection which won't won't inside of *.x models.

This is prolly the best way to do it. The problems spurns from the fact that true polygon collision is not yet supported in DBP. When it is, you won't have to bother. Unlerss of course its as processor and fps intensive as it is in DBClassic

If you prefer to use genuine object collision, simply place primitive scaled cubes around each wall, then make them invisible and detect collision with them instead

Hope this helps somewhat, sorry if I'm not explaining very well

Coming Soon! Kangaroo2 Studio... wait and quiver with anticipation! lol
[email protected] - http://www.kangaroo2.com - If the apocalypse comes, email me
TogaMario
23
Years of Service
User Offline
Joined: 30th Jan 2003
Location:
Posted: 10th Mar 2003 01:07
Thank you, I'd like for you to elaborate on the 2d grid method, i'm not sure i'm following. Also, I've got the wall collision going fine, the problem is, when my player approaches a floor, he is still getting ground height instead of moving level with the floor. Keep em' comin' and thanks for your help.

P.S. This is what the alphabet would look like if Q and R were eliminated.
Kangaroo2
23
Years of Service
User Offline
Joined: 26th Sep 2002
Location: United Kingdom
Posted: 10th Mar 2003 23:34
By grid method I meant adapting a simple technique used in old 2d games which actually does no genuine collision detection. Eg if you can imagine a level drawn out on squared paper mapped from above, you can get dbp to easily determine which square player1 is stood in. That way you can get it to stop movement, raise heights etc at the right grid positions.



You should be able to see how a few simple arrays could fake collision and ground heights for such things. Have you played my Quake 3 demo, its got a primitive version of this, whilst I perfect the more complex script

Coming Soon! Kangaroo2 Studio... wait and quiver with anticipation! lol
[email protected] - http://www.kangaroo2.com - If the apocalypse comes, email me

Login to post a reply

Server time is: 2026-07-17 14:43:13
Your offset time is: 2026-07-17 14:43:13