Gamestudio Links
Zorro Links
Newest Posts
Zorro Trader GPT
by TipmyPip. 12/04/23 11:34
Newbie Questions
by AndrewAMD. 12/04/23 11:14
Square root rule
by Smallz. 12/02/23 09:15
RTest not found error
by TipmyPip. 12/01/23 21:43
neural function for Python to [Train]
by TipmyPip. 12/01/23 14:47
Xor Memory Problem.
by TipmyPip. 11/28/23 14:23
Training with command line parameters
by TipmyPip. 11/26/23 08:42
Combine USD & BTC Pairs In Asset Loop
by TipmyPip. 11/26/23 08:30
AUM Magazine
Latest Screens
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Who's Online Now
2 registered members (TipmyPip, izorro), 556 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
fairtrader, hus, Vurtis, Harry5, KelvinC
19019 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 2 of 2 1 2
Re: Optimize the Level [Re: ulillillia] #45476
08/16/05 15:42
08/16/05 15:42
Joined: Nov 2003
Posts: 1,659
San Francisco
JetpackMonkey Offline
Serious User
JetpackMonkey  Offline
Serious User

Joined: Nov 2003
Posts: 1,659
San Francisco
Thanks very much, Ulillia!

Marco, JCL or Doug-- care to comment on Ulillia's technique?

E.g. why this is etc?

Re: Optimize the Level [Re: JetpackMonkey] #45477
08/16/05 19:24
08/16/05 19:24
Joined: Oct 2004
Posts: 1,856
TheExpert Offline
Senior Developer
TheExpert  Offline
Senior Developer

Joined: Oct 2004
Posts: 1,856
Excellent advices, i usually uses.

This should be on the manual, Conitec should put such tips , advices for
very good FPS in the manual.

I use what some people call agressive Culling.
my level is splitted in several models , and each part is only visible
when the player is in an certain area,
so ech part will be displayed only if the player is in the proper area,
it saves lot of FPS.

An yes , use models, no Blocks at all
for collision use C_move and if a level part is very detailled with lot of details, collision checking will be slow for lot of triangles, so :
-make the hight detailled model passable
- make a more simple collision model without all details from the hight detailled (polygon reduction tools or manually)
- make the low poly version with alpha = 0 : invisible

With that you'll have very detailled model passable , with an invisible low poly
version at same position for fast collision checking

No Blocks at all, caus even some small blocks really put down a lot FPS :
i hate blocks

Re: Optimize the Level [Re: TheExpert] #45478
08/17/05 00:25
08/17/05 00:25
Joined: Sep 2002
Posts: 8,177
Netherlands
PHeMoX Offline
Senior Expert
PHeMoX  Offline
Senior Expert

Joined: Sep 2002
Posts: 8,177
Netherlands
First off, nice advices in this thread!

Quote:


I use what some people call agressive Culling.
my level is splitted in several models , and each part is only visible
when the player is in an certain area,
so ech part will be displayed only if the player is in the proper area,
it saves lot of FPS.





When you design your level the proper way, the engine should already do this for us.. I would like to hear conitec on this! About when the engine does render something, and when it doesn't render something.
I've made an outdoor level with a terrain and water and everything runs great, except when moving a certain distance away from the terrain and turning towards it again. I know what's the problem though, some models come in the view at the same time, and that seems a little to much. I've got to add LOD models and LOD to the terrain, if possible.
Quote:


An yes , use models, no Blocks at all
for collision use C_move and if a level part is very detailled with lot of details, collision checking will be slow for lot of triangles, so :
-make the hight detailled model passable
- make a more simple collision model without all details from the hight detailled (polygon reduction tools or manually)
- make the low poly version with alpha = 0 : invisible

With that you'll have very detailled model passable , with an invisible low poly
version at same position for fast collision checking

No Blocks at all, caus even some small blocks really put down a lot FPS :
i hate blocks



Thanks for the collision hint, I'll keep that in mind. By the way for static stuff you might as well use invisible blocks for collision, I found no difference in fps (ok maybe 1 or 2 fps less, when using it 'a lot') (except you'll use extra portals?).

As for my own tips for speeding up a level;

1#Think good about the general level design; one room with 200 objects followed by a room with 600 objects, 40 sprites and a large block structure, already visible from the first room won't do your game any good.
2#Don't waste texture memory on objects; if they are small enough to use a smaller texture that'll give the same effect, then use a smaller texture. Also; there is no need to use a 32bit texture for every skin/texture.
3#Are you creating a top down or sidescroller game? Use 512x512 skins at maximum and use it rarely, it'll saves heaps of memory for extra speed and you most likely won't need those extra details because of the camera distance..
4#When creating a detailed first person shooter, make the details with models, never with blocks.
5#As for blocks, switch on the 'none' flag on surfaces that never can been seen by the player. Also, you don't have to model those areas. For example if a mountainridge is the boundary of your game's world, then modeling the backside of it, is senseless.
6#Use LOD where ever possible.
7#When using blocks for your level, NEVER use CSG substract, it'll ruin the level. Always try to manually make complex geometry, and yeah, I needed some time to be able to handle those 'concave block' errors...
8#Try playing with the BUILD options, and you could decide not to set everything to superb quality there.
9#Don't use a lot dynamic lights.
10#On models and terrain you could use the detail / mipmaps things, in my experience they almost didn't slow things down, but add a lot of detail to the skin. When used in the right way, you can get (almost ) the same quality as a just a 1024x1024 skin, but while using a 512x512 skin with detail/mipmapping.

I've probably forgotten quite some things that I've experienced as stuff that'll make the level run slow(er), but I'm a bit tired, just hope I've added some useful things...


Cheers


PHeMoX, Innervision Software (c) 1995-2008

For more info visit: Innervision Software
Re: Optimize the Level [Re: PHeMoX] #45479
08/17/05 01:59
08/17/05 01:59
Joined: Sep 2004
Posts: 1,214
Austin, Texas
Josh_Arldt Offline
Senior Developer
Josh_Arldt  Offline
Senior Developer

Joined: Sep 2004
Posts: 1,214
Austin, Texas
Quote:

Think about your level design and what you can and cannot see. You can make a rich-detail city using LOD at it's best. This isn't the type of LOD where you have multiple files of different detail levels, it's a type of LOD that, if something is otherwise invisible, turn the invisible flag off as otherwise, it'd be rendered.





You can find a script to do this here .
Read through the whole thread first because there have been some good moddifications done to it.

Re: Optimize the Level [Re: Josh_Arldt] #45480
08/17/05 07:26
08/17/05 07:26
Joined: Oct 2004
Posts: 1,856
TheExpert Offline
Senior Developer
TheExpert  Offline
Senior Developer

Joined: Oct 2004
Posts: 1,856
I'm ok with you Phemox

Just one thing not : i don't like/use any Blocks

And for agressive culling , when you manage what parts of level are
displayed, the engine won't do it caus i talk about models not BSP.

For example you have a room after a turning wall , you can't it when you are
before the turning room, but the engine would display it caus that's models,
so i use a script on the room that will be displayed only if camera
in a certain area.

I just wait for the next update of the engine that will
have lightmaping on models

Re: Optimize the Level [Re: TheExpert] #45481
08/17/05 10:32
08/17/05 10:32
Joined: Sep 2002
Posts: 8,177
Netherlands
PHeMoX Offline
Senior Expert
PHeMoX  Offline
Senior Expert

Joined: Sep 2002
Posts: 8,177
Netherlands
Ok, I see, it's because of models... Yeah, I know blocks aren't perfect ...
By the way, about the models and what the engine will render or not, this means that when a model isn't literally visible that the engine still will render them? In that case we would need some traces to determine if the model is visible or not, aaarrrggh
Nevertheless I have a similar LOD script like Josh pointed to to handle everything.

Cheers


PHeMoX, Innervision Software (c) 1995-2008

For more info visit: Innervision Software
Re: Optimize the Level [Re: PHeMoX] #45482
08/17/05 10:59
08/17/05 10:59
Joined: Jan 2004
Posts: 2,013
The Netherlands
E
Excessus Offline
Expert
Excessus  Offline
Expert
E

Joined: Jan 2004
Posts: 2,013
The Netherlands
You guys want to create your own scripted culling? I don't think using traces for every model will improve the framerate , and you would need more than 1 trace per model, since it's center can be obstructed while another part should still be visible. If you use BSP levels, this would not be needed at all, since BSP culls objects that can't be seen.

Quote:


I use what some people call agressive Culling.
my level is splitted in several models , and each part is only visible
when the player is in an certain area,
so ech part will be displayed only if the player is in the proper area,
it saves lot of FPS.




So you want to only display geometry that is close to the player? Why create such a system when you can just set clip_range? Geometry behind the clip_range doesn't get rendered, right?

I am not an expert on this, so excuse me if I gave false info!

Page 2 of 2 1 2

Moderated by  HeelX, Spirit 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1