How Low Poly is Rubbish?

Hi, having an issue with knowing how many poly make an at least OK item, such as a car, wheel, tree etc.

Currently I am finding it difficult to guess, as the fantasy nature pack which has loads of stuff is great, but, the tree’s no matter how much I tweek the bark maps, just look like painted square posts. Or I can use downloaded trees at 300MB each. With afew of those I think my computer would crash from CGI overload :slight_smile:

Iv’e seen awfully box like low poly cars as about 200poly, or probably some at about 50,000poly verts etc.
I’m just looking for trees and stuff that don’t look rubbish, but but don’t eat memory etc…

I have no idea what is ok. Is a 800 poly car too little? too much? I’m just looking NOT looking for Minecraft.
Any help or advice on finding the appropriate stuff appreciated. Currently having to Re-model .obj files of low poly cars with subdivision and subdivide in blender. Bikes too. and probably everything else forever.
Don’t even know what sort of game i’d like to make as I don’t want to take on too much of a mountain, because of the resources etc…

I don’t know how much stuff/items can or should be used, and what size map, not to be too big or kill memory etc. What size map is appropriate for a normally functioning level, and how many items / poly’s etc?
I don’t see much of this info around.
Thanks for reading though.

I think you’re worrying about it too much. Have you learned the skills needed to make things behave the way you want them to? Have you created a game that is fun to play (regardless of what it looks like)? If you’ve done all those things, then you should hire or join with an artist to polish and finish your game. If you haven’t, then quit worrying about the cosmetics, and focus on building those skills!

2 Likes

I get your point, but in regards to trees, I thank the one persons video who showed the direct menu process, DanGry youtube etc. Now at least I can set the blender trees properly and manufacture a bunch of variations at low poly that look round.

Yes, I don’t know how to do a lot of stuff yet. But I have no intention of joining up with an artist later either, as I don’t have any links to anyone. I’m on my own etc. I couldn’t afford anyone most likely either. But the artistic side is the seemingly hardest part for me, i think? maybe.

I hope, anyway. But I think that the dynamics etc of getting stuff to do what I want is much quicker to find out, as I have experienced so far. The major links of the finished actions etc will be the biggest problem, as well as cinematics / scenes etc. The rest is just simpler code, not advanced, I hope. God willing. Probably entirely wrong as most times :slight_smile:

Vertex count is one factor among many when it comes to game performance. Focus on making your game look how you want it to look – as you learn more you’ll find ways to make your vision come true, even if that means getting a better computer down the road or learning how to write shaders or make your own models, whatever.

1 Like

This may seem like an odd added question, but when I see most tutorials on programming, they nearly all use floats and int. Why is this done? As it seems that this is often a poor use of coding. Only because double is smaller than float and sbyte / byte is smaller than int etc, isn’t it? Saving memory usage etc?

It depends on the look you want. But I would say if you want high detail closeups, lean heavily on LOD.

Somebody may have a better answer for you, but my assumption is that people generally need two kinds of numbers: natural numbers like the int, or fractional numbers like the floating point. They’d probably use floating point all the time, except that it is more efficient to use int for simple math, like incrementing a loop or indexing an array. Plus, floating point can give weird results at times due to rounding errors / imprecisions inherent to the technique.

Double isn’t smaller than float.

Int is 4 bytes, byte is a byte. So at best you’re saving 3 bytes of memory, which… well. And I think C# auto-casts to ints when you’re doing math with them.

Unless you need to do some sort of very specific micro-optimisation, and even in that case I’m not sure, I don’t think there’s too much reason to use anything other than floats and ints.

1 Like

For the simple fact that most tutorials are aimed at people who are just getting started so it would needlessly complicate the tutorial for no actual benefit. Saving a few bytes may have mattered in the old days of game development but it’s almost always a waste of time now and may even have the opposite effect like @AcidArrow mentioned.

Plus prematurely optimizing is generally seen as a bad thing because game development is complex enough now that it’s very difficult even for an experienced dev to know where their application is having the most performance problems.

1 Like

Thanks for your replies, and yes i got float mixed up. But the use of smaller items (sbyte) seemed more appropriate for things such as mobile games and places that I probably will not use, such as facebook gameroom, have tight limitations. I think FBgameroom is 200MB in general max, with exceptions for 500MB. But thats size, not usage. Lots of phones/most, are not Iphone x or galaxy x etc. I mean i’ve got an old moto smart phone, but running games is basically too much for it. This will be the case for most people who get the smaller games like gem shooting games or simple battle games etc, especially since their phones etc are running AVG, Facebook, Updates and more.

But anyway, I don’t know about auto C# casting into int. Haven’t heard of that so i will stick with int / float.

Just got a DEBUG activation without necessary security from visual studio? Only just done a full reset. Computers are annoying :frowning:

Again, using byte instead of int saves you 3 bytes. You would have to switch like a few million ints to bytes to save like 10mb of ram. (and what are you doing with millions of ints?).

And you could be losing performance. CPU word size is usually 4 bytes, so to get your byte, it will have to access an int size worth of ram and then find your byte from that, which is potentially slower than just grabbing an int.

3 Likes

I strongly disagree this will be the case for the simple fact that Unity’s Mobile statistics page was reporting the opposite last year with approximately 41% of mobile devices having 1GB and 35.1% having 2GB. Less than 10% are on 512MB.

There are no sudden shifts in the numbers either when you slide the Wayback Machine back a year or two and in some cases (like with 1GB mobile devices) the percentages increase (45.2% versus 41%) compared to the more recent stats.

https://web.archive.org/web/20171101114542/https://hwstats.unity3d.com/mobile/

There are extreme budget phones on the market but the vast majority of them (based on my local availability at Dollar General, Family Dollar, and Food Lion) are not smart phones so they are completely irrelevant to game developers.

Ok, thanks all, just didn’t want to practice any potentially bad habits early on. But with C# i have a daft basic problem, why when using visual studio does the text and number join? (“dividing” + num01 “by” + num02) etc. ends up like this: “dividing8 by2 equals4”, but in Xamarin coding it just looks normally spaced.

Using the other option is not possible apparently because of particular function order etc E,G,
(dividing {0} by {1} equals {2})… turns out fine, but for other maths (dividing {1} by {0} equals {2} or 3/4/5/6 etc…is out of order…

So how do I do simple maths that creates a space and doesn’t join my letters? Why does it not work in visual studio? I would ask brackeys but account hasn’t verified.

You get whatever spaces are actually there, in the quoted strings. Spaces outside the quoted string literals make no difference whatsoever.

This has nothing to do with what text/code editor you use.

I have no idea what you’re trying to say here. You can indeed use string.Format, and specify the arguments in whatever order you like.

Again, I confess having no idea what you’re talking about.

2 Likes

So are you saying I have to add a space at the end of each word, just to create space for the number, eg, "dividing " + num01. Will that separate the numbers; seems like an awkward method to add a space at the end every time. Is that standard practice for all strings with added numbers etc?

1 Like

It shortened the space :slight_smile:

If you want a space in your string you should add a space in your string. I don’t know what’s good about a language that somehow automatically adds spaces to its strings that no one asked for (or if even one exists).

1 Like

I don’t know, I was just doing a Brackeys C# tutorial and he was using Xamarin and it turned out different to Visual studio, maybe he just didn’t mention the addition of these spaces, or had a setting turned on etc? I will just add them from now on though, thanks.

So I looked up who Brackeys is. Found a video. Saw this:

The spaces are there. So I don’t know what you’re saying.

And furthermore, it absolutely, positively, does not matter what editor you use to type your code. It’s just a text file to the compiler. It does not know or care how you put text into that file.