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 Models and Media / Key Elements For Making Quality Engine Freindly Entities

Author
Message
FPSXtreme
17
Years of Service
User Offline
Joined: 25th Mar 2009
Location:
Posted: 12th Apr 2009 01:01 Edited at: 12th Apr 2009 01:07
Hi guys, This is Chris W. AKA FPSXtreme. I have noticed alot of questions and concerns pertaining to making Models for FPS Creator and while not being the best by any means I would still like to share some of my thoughts on the subject. Please keep in mind that this topic is very opinionated and this is just an attepmt to give the would be artists out there a good head start. Its always a smart idea to develop good habits now to prevent having to break bad habits later down the road.


Model Meshes When producing a models mesh try to keep the poly count as low as possible based on the type of entity that you are shooting for and the pourpose that it would serve in the game, For example: A small drinking glass that would be placed on a table and have no other purpose except for being eye candy should not be rich with polygons. On the other hand a entity that is key to the games level such as a switch that a user must find and activate would want to be a little more poly hungry for the sake of the end user having to look at it. To put it very basic terms, try to manage poly and subdivision usage based on the importace and intent of the entity.

Texturing For the texure and the map you must keep a couple things in mind. keep the size of the maps pallette as small as you can such as 512x512 up to 1024x1024 and in some rare cases 2048x2048. The game engine has to load these texture maps as the game runs in realtime so to reduce resource usage keep them small. Keep in mind that with low poly models and high poly alike the texture plays a very important role as it can be used to make up for the loss of polygons in low poly models by the artist adding shading and lighting effects and using optical illusions in the texture to create the sense of a more involving entity than what is really there such as bump mapping and normal mapping.

As time goes on I will get more indepth on these two topics I just wanted to get this started with a couple of the most important things to keep in mind. Look forward to additions in this thread as I have time and I hope this helps some of you guys and answers a few questions that you may have.


Please let me know what you think of this article with your comments
James Kravenwolf
17
Years of Service
User Offline
Joined: 22nd Nov 2008
Location: Ohio
Posted: 12th Apr 2009 06:49 Edited at: 12th Apr 2009 07:11
I like your idea giving out some useful advice for everybody. I have a little time to kill, so if I may add on to the textures subject...

Texturing (cont) -- INCREASE YOUR FRAME RATES!

Sizing The smaller the texture size you go with, the more the pixels will be stretched across your model. When pixels are stretched; they blur. Basically meaning, the smaller the texture, the blurrier it will appear on your model. However, the larger the texture, while clearer, will take up more memory to run in the engine--creating lower framerates if you're not careful on how you use them.

A 2048x2048 texture IS NOT twice as large as a 1024x1024 texture...it's four times as large (you have to tile it both horizontally and vertically). A 2048x2048 texture is 16 TIMES AS LARGE as a 512x512 texture! This means, you could have 16 models in your game, each with 16 individual 512x512 textures, and they would require almost the same amount of memory needed to run one model that uses a 2048x2048 texture! Now, if you have a small level, then this texhnique of using different sized textures may not be necessary (unless you have several, several different-textured objects in that small level).

I stay with 1024x1024 textures. A technique that I use to keep frame rates up (in FPS Creator and other engines) is to stay away from 2048 textures entirely. If I need a big texture, I'll create a seamless 2048x2048 texture, then scale it down to 1024, and map it on that. This way, the detail is still there...it's just a little more compressed.

Also, if you have objects in your level such as a drinking glass('eye candy'), you might want to consider using a 512x512 texture, or, if you can get away with it, a 256x256 texture. The detail will be lower quality than other models in the scene, but this is when you ask yourself, "will the player really be looking at this glass on the table, or the light on the ceiling...or will he be focused on the zombie coming at him from down the hall?" Make the glass and the light fixture 256 or 512, and give that zombie a 1024 (or a 2048 if you must...hey you saved memory on some other textures already, right?).

In short, using smaller textures saves memory, and can keep your framerates high. For me, it's a matter of how often, or how closely the player will be looking at an object. If it's just something small to fill up a scene, it's a good idea to make the texture size smaller. Keep in mind lighting can also mask the low quality of a texture, if you set it up right. I apologize for this long rant (it's probably already been mentioned before...just figured I'd contribute something in the midnight hour).

**EDIT**

Normal Maps/Memory Usage (cont)

Normal maps are great--but require more memory than using just a regular texture. Why? To give a model a normal map, you have to give it the diffuse texture (which is the original texture), a specular map (which decides the glossiness of the model with a normal map), and the normal map. So, if you have a model that has a 1024x1024 texture, geting a normal map to work with it will make that one model require three 1024x1024 textures. (In some cases, you can combine the spec map with the normal map, but I don't know if this will work in the FPSC engine).

In addition to that, only dynamic lights work on a normal map. Dynamic lights will use more of your computer's memory than static lights would. Especially when the engine has to calculate and update where and how those dynamic lights cast light and shadows on EACH PIXEL of EACH NORMAL MAP map in the area the player is looking. Normal maps are great...but if you throw them on everything in your level, you'll see a decrease in your frame rates...fast.

-Kravenwolf
djmaster
User Banned
Posted: 12th Apr 2009 09:36 Edited at: 12th Apr 2009 09:44
Meh lets give it a try.

Dynamic or Static entity?
Dynamic entities always run a script and the script uses resources.If its static it loads at start and doesnt use up resources later on.Its very simple,to lower the resource use do this:

1.If its an object that cant be moved or you cant interact with,why dynamic? Set it to static so it builds it with the level and preventing framerate drop.This is very useful in large scenes,if the whole scene would have dynamic entities,it would lag on any NASA computers.

2.Keep animated entity count as low as possible in one scene,those need alot of resources to run the animation.

Quality or File size?
Some people think "Meh lets go with low quality jpg,its 5000x5000 texture anyways".Thats wrong,why? You dont need a large texture with a lot of details if its saved in low quality.Rather go for a bigger file size with 1024x1024 resolution rather than small file size with 4096x4096 resolution.

Recommended file formats:

Go with: TGA,DDS
In a hurry: PNG
Keep away: BMP,JPG(low quality jpg's)


I hope this helped a bit,ill post a tutorial soon how to decrease polys and still looking fine.

A.K.A. chargerbandit
Paul112
20
Years of Service
User Offline
Joined: 1st Jan 2006
Location: UK
Posted: 12th Apr 2009 14:31
Quote: "Recommended file formats:

Go with: TGA,DDS
In a hurry: PNG
Keep away: BMP,JPG(low quality jpg's)"

BMP and PNG are fine. Whatever you choose, FPSC will convert it to DDS for faster loading anyway.

Don't go overboard with animation
Each animated entity in FPSC holds ALL it's animation detail during runtime. When creating animated entities, don't add lots of redundant frames, and only make the animations that you are going to use in the final level. Extra animations take more processing, even though your scripts may not call them.

Paul

FPSXtreme
17
Years of Service
User Offline
Joined: 25th Mar 2009
Location:
Posted: 12th Apr 2009 15:59
Thanks for the help, I dont mind the additions at all. I think this is working out rather nicely. The only thing I ask is that this not turn into s QA thread. Try to keep it restricted to pure factual input.

Login to post a reply

Server time is: 2026-07-25 17:49:36
Your offset time is: 2026-07-25 17:49:36