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.

FPSC Classic Product Chat / The ultimate FPSC optimisation thread

Author
Message
Pus In Boots
18
Years of Service
User Offline
Joined: 5th Nov 2005
Location: S.M.I.L.E. industries
Posted: 12th Apr 2009 17:48 Edited at: 13th Apr 2009 15:12
This thread is intended for people to leave tips for optimising your FPSC games that are generally accepted to work.

If you know anything that can be done to improve performance or optimise FPSC games in some way, please post it here. Hopefully, we should be able to build up a sizeable collection of optimisation tips for FPSC. I haven't really found a collection of such knowledge, so it'll be nice to have it all in one place.

If this thread does kick off and gets expanded, maybe a mod could sticky it at some point. If not, oh well.

IMPORTANT NOTICE: Tips posted on this thread may not necassarily be true. If you feel a tip is unreliable or invalid, please mention it and see if others agree. If it's something like "the more lag, the better", then you can just use your common sense, but some may not be as obvious. Just be wary, as the advice given on this thread is given by individuals based on either their experiences with FPSC or from knowledge they've collected from elsewhere, which isn't necessarily proven true.

83% of women tested found Pus in Boots irresistable. (Based on a survey of 172 women.)
Cyborg ART
17
Years of Service
User Offline
Joined: 14th Jan 2007
Location: Sweden - Sthlm
Posted: 12th Apr 2009 19:47
#1 - Save pollies

If you are going to build an open area, like an outdoor scene, try to save pollies by using for example billboards instead of "real trees" at places the player will never get acces to.
This thing can be done on quite many places, even in a factory. If there is a room with windows out to the factory floor (the boss's office ) which the player will never get near except for seeing whats inside, don't put models there. Use billborads!
Take photos of the model from the angle which the player will see the model, then make it a billboard. If you make one billboard for each model you wont get that plain feel.

If you make your own models you can delete faces on the model which never will be exposed (like under static box or barrel).
This is how the pros do it.



(I hope it was something like this you wanted )

Peter gee
16
Years of Service
User Offline
Joined: 11th Jan 2008
Location: behind you!!!!
Posted: 12th Apr 2009 19:57
a very simple one for noobs

try and put as little characters as possible in one map, remember there doesn't have to be huge hords of enemy running at you every second of the game

although that would be nice

,Peter Gee

computer cookies are not tasty i found that out the hard way

puppyofkosh
17
Years of Service
User Offline
Joined: 9th Jan 2007
Location:
Posted: 12th Apr 2009 20:07
#3 - Put invisible walls around your outside levels
As the name suggests, when you have an outdoor scene put invisible walls around it.
Bendak11
15
Years of Service
User Offline
Joined: 2nd Aug 2008
Location: The bush in your front yard.
Posted: 12th Apr 2009 20:07 Edited at: 12th Apr 2009 20:08
#4: Save Framerate


Using trigger zones to spawn enemies is an excellent example. Also, instead of long open hallways, add a door so the system doesn't have to spawn the entire corridor at once.
Pus In Boots
18
Years of Service
User Offline
Joined: 5th Nov 2005
Location: S.M.I.L.E. industries
Posted: 12th Apr 2009 20:44
So far so good.

83% of women tested found Pus in Boots irresistable. (Based on a survey of 172 women.)
dumpus
16
Years of Service
User Offline
Joined: 1st Jan 2008
Location: Canada, eh?
Posted: 12th Apr 2009 20:47 Edited at: 12th Apr 2009 20:47
#5: Lighting techniques

High texture lightmapping dereases performance, but high quality lightmapping doesn't! For example:

Lightmap texture size: 512
Lightmap quality: 50


This scenario will have long loading times, as well as decrease performance.

Lightmap texture size: 256
Lightmap quality: 100


This scenario will take the same amount of time to load, AND look the same, but without the performance decrease.

Nickydude
Retired Moderator
17
Years of Service
User Offline
Joined: 4th Nov 2006
Location: Look outside...
Posted: 12th Apr 2009 21:03 Edited at: 12th Apr 2009 21:04
#6 - Enemies

1/. Only spawn enemies when they are needed instead of having them all over the map at the start.
2/. Spawn them in places where the player will have to kill them otherwise they are left to wander and framerate will go down.

Pride
16
Years of Service
User Offline
Joined: 22nd Dec 2007
Location: Eastern USA
Posted: 12th Apr 2009 21:11
#7 - Textures

1. A 256x256 requires relatively no engine effort to render.
2. A 512x512 takes 4 TIMES the effort to render, which is just a little bit
3. A 1024x1204 is 16 times more effort than the 256x256, which requires some actual effort
4. A 2048x2048 is 16 times more effort than a 512x512, meaning the engine is going to have to render quite a lot.

My suggestion is use texture size in relation to the importance of an item. Why stress the engine on a table or chair, rather than a soldier in front of you.


"March 1st 2009, 12:49pm, a 3 year struggle with cancer ends..."
Nickydude
Retired Moderator
17
Years of Service
User Offline
Joined: 4th Nov 2006
Location: Look outside...
Posted: 12th Apr 2009 21:29
This seems like a good idea to get the best out of FPSC so I'll sticky this for the time being to see how it goes. Any arguments or squabbling and not only will it be unstickied but it will also be locked and those involved will be put on post mod.

gorba flamingo
16
Years of Service
User Offline
Joined: 16th Oct 2007
Location: between crazy and all out insane!
Posted: 12th Apr 2009 21:52
#8 Good Level Design


keep these tips in mind when making a level!
- Use as little entitys as possible. will the player notice this thing if he is sprinting past it?
- re use areas, instead of building multiple huge rooms, simply have the player go through different parts of the one room. keep the player in a room for a period of time.
- make noise! try to add sounds when the area just doesn't seem complete. fpsc comes with great stock ambiance ideal for labs, security stations, alleyways, and more!
- use segments and entitys in a way that nobody has before. does your game stand out or look like everyone else's?

and

Screen Resolution
- fpsc's default resolution is 1024 by 768
- lower the resolution for better performance, it can make a huge difference
- use real resolutions

[url=http://profile.mygamercard.net/gorbafletch]
Pus In Boots
18
Years of Service
User Offline
Joined: 5th Nov 2005
Location: S.M.I.L.E. industries
Posted: 12th Apr 2009 22:29
Thanks for the sticky nicky

83% of women tested found Pus in Boots irresistable. (Based on a survey of 172 women.)
Nickydude
Retired Moderator
17
Years of Service
User Offline
Joined: 4th Nov 2006
Location: Look outside...
Posted: 12th Apr 2009 22:56
If this turns out ok I'll use it to replace the tips list at the beginning of the Community Guide as the list is quite old.

wizard of id
18
Years of Service
User Offline
Joined: 16th Jan 2006
Location: Sunny South Africa
Posted: 12th Apr 2009 23:06
Quote: "Use as little entitys as possible."


Sorry Nickydude I don't want to start fight.But you are going to get statements like the one above.Who is going to filter out the rubbish.

@gorba flamingo
I just want to correct you in a polite manner.

Good level design regarding entity placement.
Entity placement plays a important part in level design as it has numerous states it can be in dynamic, static or foliage.

Dynamic entities: Are entities that are either non-movable or movable that a player can interact with directly as well indirectly by means of scripts and trigger zones as well as physical inter-actions.

Dynamic Entities are continually updated in cpu clock cycles and are very taxing on the engine.Dynamic entities should be used on a need only basis.With exceptions of dynamic doors as dynamic doors from part of level culling in other words rooms or areas behind doors are not rendered till the door is interacted with directly or indirectly and does offer some speed gains.

Static entities and foliage : Static entities and foliage are non-movable objects that are found within a level that can not be moved by or interacted any means by the player.Static entities can be used more freely than dynamic entities however should still be used with cautious as it can result in higher polygons which can slow the frame rate.Static entities and foliage are mostly use to bring more realisms to levels as static entities can provide cover for the player for example.

Foliage is used to make your level more realistic by adding grass or trees a rope a grate or a well for example.Foliage have normally higher polygon count than static entities as it forms part of the players visual interactions with the level you have designed.

Static entities and foliage should be mixed equally in a level and
also not be cluttered or over used in a area as this will result in slower frame rates in those areas.

The rule of thumb is to design the core of the level the walls/floors/doors and ceilings and the enemy/dynamic entities then you can add the static entities and foliage to your level.Test your level on a regular basis without light mapping for quicker loads to check frame rates

Test every inch make sure there are no slow downs if there are any slow downs in a specific area of your level remove either dynamic or static entities to find the right balance in that area of the level.

Remember dynamic/static entities as well as foliage add to the visuals of your level.Entity placement forms a very important part of level design and it takes time to tweak a level to match a frame rate that is both visually good looking,interactive and has good playability.

Pointless Assault video
http://w13.easy-share.com/1408971.html
Nickydude
Retired Moderator
17
Years of Service
User Offline
Joined: 4th Nov 2006
Location: Look outside...
Posted: 12th Apr 2009 23:22
Quote: "Sorry Nickydude I don't want to start fight.But you are going to get statements like the one above.Who is going to filter out the rubbish."


Credit me with a bit of FPSC knowledge WoI. Obviously I'm not just going to place everything that's here in the guide as people, like yourself, will correct things as the list grows.

Hockeykid
DBPro Tool Maker
16
Years of Service
User Offline
Joined: 26th Sep 2007
Location:
Posted: 12th Apr 2009 23:30
Delete Dynamic objects behinde you

When the player leaves room and goes through a door use a simple script to close the door and lock it then use a trigger zone with a script like



for the trigger zone

Then for the dynamic object attach a script like



Your signature has been erased by a mod, because it is larger than 600x120.
john schwarcz
User Banned
Posted: 13th Apr 2009 08:30
u can make things disapear with trigger zones?? how????

shadow666
Toasty Fresh
16
Years of Service
User Offline
Joined: 10th Jun 2007
Location: In my office, making poly-eating models.
Posted: 13th Apr 2009 11:59
The way he just said. Is it not obvious?

~Toasty

"You are not smart! You are very un-smart!"
Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 13th Apr 2009 12:25
This is a very cool thread, maybe someone (I, if Pus in BOots or Nickydude dont want to ) could make a different Guide, just for increasing your Game Framerate and Leveldesign, and all the other stuff...

Here is mine:....

If you small things , like a cup of thee, (just for eyecandy), then make it box collision and dont make polygon collision. This will really increase your framerate. (I did experiments with big trees.)


Red Eye: Now in the Forums
john schwarcz
User Banned
Posted: 13th Apr 2009 12:35
ya idk how to code well, can u describe how to do it very basically 4 me? thx

shadow666
Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 13th Apr 2009 12:41
Quote: "ya idk how to code well, can u describe how to do it very basically 4 me? thx"


it is better if you say something like @Red Eye: or @hockeykid:, so we can see to who you are talking to

but if you are talking to me, just search for entity workshop and load an x file add the texture, save it, he will automaticaly ask you if you want Polygon Collision or Box Collision, click box collision (to save frame rate),,, and you are done...
you can do this also in the fpe file of the entity

if you were talking to hockeykid,, just do what he said


Red Eye: Now in the Forums
JRH
17
Years of Service
User Offline
Joined: 8th Jul 2006
Location: Stirling, UK
Posted: 13th Apr 2009 16:08 Edited at: 13th Apr 2009 16:10
#12 - Static Objects
Use static objects wherever possible. To change a dynamic object to a static one, press the "Y" key while it is selected in FPS Creator. Appart from improving your games framerate, the objects will also be lightmapped, hence improving how well your games actually look.

@Red Eye:
Sounds like a great idea. I'd love to get involved.


xplosys
18
Years of Service
User Offline
Joined: 5th Jan 2006
Playing: FPSC Multiplayer Games
Posted: 13th Apr 2009 16:32
To expand a bit on Delete Dynamic objects behind you by hockeykid...

You can also do this using distance. In most cases, we use a condition to tell a character when to interact with the player. It may be plrdistwithin, plrcanbeseen, plrwithinzone ,etc.

Once this condition is met, we progress the script to another state. For example, :state=0,plrdistwithin=400:shootplr,state=1

Now we can use a similar condition to remove the character once we have passed it's location, even if we get by without killing it.
:state=1,plrdistfurther=800:destroy

The same can be done for any dynamic entity which will have no further use once the player moves beyond it.

Best.

Airslide
19
Years of Service
User Offline
Joined: 18th Oct 2004
Location: California
Posted: 13th Apr 2009 16:41
Here's something to keep in mind - be careful with static objects.

When making an object static, at least by default (and so far as I know all the time) it automatically has polygonal collision. A dynamic object, on the other hand, usually has box, sphere, or cylindrical collision. For some objects, let's say from Cosmic's Scifi pack, I'd make them a dynamic (but immobile) entity rather than static simply because the collision testing is too expensive.

Basically, try and balance it out, and be careful with what you use as a static object. High-poly models usually make bad static objects because they are slow in the collision testing process.

Pus In Boots
18
Years of Service
User Offline
Joined: 5th Nov 2005
Location: S.M.I.L.E. industries
Posted: 13th Apr 2009 17:18
Quote: "High-poly models usually make bad static objects because they are slow in the collision testing process.
"


Not entirely. You can easily go into an objects fpe file and change the collision type. So if I have a really high poly bench that is fairly low to the ground, I could make it static and have it use box collision and the player will be none the wiser unless he starts trying to shoot marbles through the bottom.

83% of women tested found Pus in Boots irresistable. (Based on a survey of 172 women.)
dumpus
16
Years of Service
User Offline
Joined: 1st Jan 2008
Location: Canada, eh?
Posted: 13th Apr 2009 21:49 Edited at: 15th Apr 2009 01:10
#13: Only use detailed skyboxes when necissary

If your level is completely indoors, and there are no windows/places showing the outside, rendering a detailed skybox is pointless, and unnecissarily hurt the framerate. Change it to a less detailed, smaller skybox.

Weasel
15
Years of Service
User Offline
Joined: 10th Aug 2008
Location:
Posted: 14th Apr 2009 05:17
Referring to #12, I believe you can turn physics off on a dynamic object.
CoffeeGrunt
16
Years of Service
User Offline
Joined: 5th Oct 2007
Location: England
Posted: 14th Apr 2009 11:52
@#13

Don't disable skyboxes, I had a world of framerate hurt when I did that...

"Give a man a fish, and he'll eat for a day. Give a man a fishing rod, and he'll break it up into firewood...or swap it for a fish."
-Frankie Boyle, on Mock the Week
puppyofkosh
17
Years of Service
User Offline
Joined: 9th Jan 2007
Location:
Posted: 14th Apr 2009 13:52
Perhaps just a blank skybox would be better?
The Fps Creator rocks!
15
Years of Service
User Offline
Joined: 24th Oct 2008
Location: Sneaking down your chimney.
Posted: 14th Apr 2009 15:18 Edited at: 14th Apr 2009 15:19
#14: Use the Blue High performance mod!!!

It really helps!! Before I had it I only had 0 to 18 fps but now the minimum is 12 and the higher is 36! (On my stupid computer) If a contest requires or can have a mod, use the Blue High performance mod!!! Well if you want more scripts then go with ply's mod.

I want a new computer!
JRH
17
Years of Service
User Offline
Joined: 8th Jul 2006
Location: Stirling, UK
Posted: 18th Apr 2009 21:37
Me and Red Eye are making all this into a guide, and more. If anyone objects, e-mail me.

JRH

Nickydude
Retired Moderator
17
Years of Service
User Offline
Joined: 4th Nov 2006
Location: Look outside...
Posted: 19th Apr 2009 16:09
Please keep this to engine / game optimisation techniques and their discussion. I don't want to keep going through cleaning it up about emails or "this isn't working", "how do I do...?". Thanks.

Plystire
21
Years of Service
User Offline
Joined: 18th Feb 2003
Location: Staring into the digital ether
Posted: 24th Apr 2009 01:18
@Airslide:

It was to my knowledge that when the universe is built, all static objects are saved into the same literal model as the segments and hence become part of the "universe model" themselves. I'm sure this will increase collision time but only by a little bit as the physics collision data is pre-calculated (due to them being static and immobile), much like the lightmaps.


The one and only,


Airslide
19
Years of Service
User Offline
Joined: 18th Oct 2004
Location: California
Posted: 25th Apr 2009 20:13
If polygonal collision is used than the dynamic objects still have to be checked against each face. I think the biggest slowdown comes from the player's ellipsoid collision however, and that's probably what box collision affects. To my knowledge, unless the universe object does some tricks to get the physics to acknowledge static box collision, all static objects have polygonal collision (in the physics engine).

Wraith Staff
16
Years of Service
User Offline
Joined: 3rd Apr 2007
Location: Hamilton, OH
Posted: 29th Apr 2009 04:13
Setup.ini Texture Changes in Built Game

Under [GAMEDEBUG] add:

width=1280
height=800
depth=32



Play Harder!
Wraith Staff
16
Years of Service
User Offline
Joined: 3rd Apr 2007
Location: Hamilton, OH
Posted: 29th Apr 2009 04:16 Edited at: 29th Apr 2009 04:16
Burnt in Shadows in Engine's Setup.ini

In [GAMEMAKE] change defaults to:

lightmapshadows=1

and

lightmaptexsize=1024
lightmapquality=100



Play Harder!
DarthBasicVader
18
Years of Service
User Offline
Joined: 28th Nov 2005
Location: Cyberspace
Posted: 29th Apr 2009 16:02
Ehm .. i found the latter two optimization hints very interesting ... but actually haven't understood what they really do.... Wraith Staff could you explain a little more ? TX!!

Riccardo
Wraith Staff
16
Years of Service
User Offline
Joined: 3rd Apr 2007
Location: Hamilton, OH
Posted: 29th Apr 2009 20:46
Well, seeing as how he said "improving performance" OR "optimizing in any way" I took the last one. These last two codes are for making the game look better.

The first changes the default screen resolution to a fit most computer monitors... Thus high(er) definition picture.

The second creates baked-in shadows for entities. Nice, dark, creamy shadows (yum). You can take a look at my new WIP (Physix) to view the effect:

http://forum.thegamecreators.com/?m=forum_view&t=149104&b=25

The shadows look best with static lights and ambiance of zero (CoZ has a really good tutorial on lighting here: http://forum.thegamecreators.com/?m=forum_view&t=113796&b=21) Which I DIDN'T do in the video or screenies (Will in the full game), but I think still looks pretty good...

Hope this helped



Play Harder!
Nickydude
Retired Moderator
17
Years of Service
User Offline
Joined: 4th Nov 2006
Location: Look outside...
Posted: 6th May 2009 03:47
JRH
17
Years of Service
User Offline
Joined: 8th Jul 2006
Location: Stirling, UK
Posted: 7th May 2009 18:08
FINISHED GUIDE VERSION 0.2

Have a Peek Here!!!

Username and Password are Both: fpscuser

JRH

Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 8th May 2009 20:46
Yo, Nickydude,,, why unsticking it??? I went mad,, when i couldnt find this amazing guide.. JHR compiled us.

So let us keep this up for a time...

Layout is coming... But enjoy the tips


Login to post a reply

Server time is: 2024-03-29 11:54:03
Your offset time is: 2024-03-29 11:54:03