Some weps (critique?)

Hello there! My friend claims to be making some sort of survival horror game, and while I don’t quite believe him (I haven’t seen anything but rough sketches and diagrams) I made some weapon props all the same… I’m looking to improve my skills, and any critique/advice is greatly appreciated. Note, these are all early WIPs.

  1. m9 (189 faces, 720x720 diffuse and normalmaps)

  2. .44 Magnum (174 faces, 720x720 diffuse and normalmaps)

    Hold on… Uploading the rest.

.44 Magnum continued…

  1. Glock something-or-other (98 faces, 720x720 diffuse and normalmaps)

Are these weapons rusty?

They look nice and rusty. You could do with some low poly versions for in game.
These would be good for a close up shot or from a first person perspective, but from further away they will eat up a lot of resources.

They are indeed made to look rusty/gritty… Given the poly count used on most guns, these are actually EXTREMELY low-poly… The guns have perhaps 4 individual components, all under about 20 polys each, at the most. Here’s a pic of the above guns in edit mode:

The details are all just baked from hi-poly meshes into normalmaps. Here’s the high-poly mesh of the m9:

I’m actually a bit worried that the low-poly ones will be too low-poly for use in some sort of first-person game. However, all the textures are baked from the high-poly models, so I suppose I could use those for the first-person arms.
Blender can actually handle over 1 or 2 hundred of the low-polys on screen at once without taking a framerate hit:

However, moving too close to them (so just one gun obscures the entire screen, but with others close behind) can take the framerate down, a wee bit. This is just due to the fact that the faces are normalmapped (and thus rendering an entire screen of one face can slow it down… This applies to all normalmapped meshes, really), and my computer’s not exactly very powerful… At all.

You said that your texture maps are 720x720. It’s a weird & inefficient texture size, you should always use sizes which are powers of two like 256x256, 512x512, 1024x1024 etc.

By the way you could also increase the polycount a little without worrying about any impact on performance.

Huh… I always thought that the larger the texture, the slower, but I suppose that does make sense… I’ll change the sizes. Thank you, sir.
As for the poly count, you’re certainly right. My mindset is very low-poly-obsessed, and thus I’m slowly working towards higher poly counts. I’ll probably redo a couple of the detail pieces, because up close the normalmaps are more clearly distorted and inaccurate.

Well I’m sure it’s possible to have two hundred guns on screen on your computer without taking a hit, but some people have slower computers. Also this is only the gun, you’ll also need the characters, the environment, pick-ups, hud, weapon effects etc… After that you’re also going to have drain from logic, animations, 2d filters, the list goes on.

My own game uses 1500 triangles for the main player character (and enemies) while my revolver model uses only 75 triangles.

I hope to have up to 20 of these guys in the game at one time so I’ve also built an ultra low pole model for very long distance which uses just 330 triangles for the whole guy (including gun).

Aye, but all the same, the things are as optimized (whilst remaining aesthetically pleasing) as possible, aside from the 720x720 textures (which I’m fixing). The screenshot I posted of all the guns was running in a game I’d previously made, simultaneously running several lights, buffer shadows, vehicular AI and movement/procedural damage physics, and a hell-of-a-lotta experimental scripts I’d put together… It was a bit of a testing ground. My computer isn’t the worst out there, but it’s certainly far from the best, being a 3-year-old macbook. All in all, it may need some optimization, but if so, very little, particularly if these are going to be in the hands of first-person arms setups.

If this guns are going to be static, just for show, you should join then into one.
I would like to see what framerate ill have from the pistol scene, if you dont mind?

If they are for a first person game then they are fine.

I tend to work from the lowest possible number of triangles and smallest size of textures at the beginning of my project, and then beef them up when and if I find some extra processing resources are available.

How many polygons you use really depends on both the minimum spec computer you are targeting, and the application of the model. For example, the models you have would probably be best suited for guns held by other characters, or by a character in third person. I’d recommend at least beveling the edges of your models if you are using them in a first-person view

Just as a general set of standards, when the Unreal Engine 3 came out, they recommended that characters have about 5000 polygons each, and a first-person weapon could have roughly the same count. This number has since gone up quite a lot, but the BGE isn’t exactly state-of-the-art so it’s a good target. If you are going to have a gun take up a good sized chunk of the screen for most of the game (or at least, extended periods of time) you want it to be something that looks good.

On the other hand if you are aiming for lower-spec computers, you might almost be better served doing away with the normal map and using the extra rendering time to increase the polygon count of the guns, and using a simpler shader such as a vertex shader or shadeless with baked or hand-drawn shading.

I’ve been curious about why so many modern FPSs (like Battlefield 3, for example) have such extraordinarily high-poly weapons in the first-person view, without much normal-mapping… Now it’s starting to make sense, haha.
I’m probably going to be working towards mid-spec computers, but with settings to make it friendly to lower-spec systems. I’m considering lowering the poly count on the high-res m9 and taking out a few unnecessary details for the first-person view, and maybe just having spec, hard and diffuse maps on it.

They look awesome. You should teach me how to do that.