Wednesday, March 8, 2017

A Tale of Two Content Creators

A Tale of Two Content Creators

A short story of two ways content creators can
respond to criticism and what their decision
means for you.

I can be rather blunt when positing a marketplace review. When I was in art school, the value of blunt, honest criticism was drilled into me because if you can't accept criticism you'll never improve and your career won't last long.
In Second Life, the rules are a bit different. You don't need years of school, decades of training, to become a content creator for SL. Anyone can put their creations on the marketplace and become a seller....and that's fantastic!

There is, however, a downside. Since the Lindens themselves lacked any sort of background in 3D rendering when they set about creating SL, they neglected to develop the tools in such a way as to discourage the bad habits common in inexperienced artists which can be harmful to performance. Lag and poor framerates are not the result of "old, badly written code", they're the result of unoptimized content.

There is a lot of unoptimized content in Second Life.

When I purchase such content I try to shine a light on these issues where I see them in the hope that more people will begin to understand how 3D rendering works, and why they need to reduce their polygon counts and texture use as much as they can.

 Sometimes it works, sometimes it backfires.

 Years and years ago I was building a fantasy sim in Second Life and I purchased a fantastic looking set of viking style buildings. These buildings looked great. The creator clearly had talent and I told them as much. However, their texture use was death on framerates.

A single small house, the smallest of the buildings available, used around twenty 1024x1024 textures. Twenty! Many of these textures were nearly identical. The walls for the building, interior and exterior, were nearly identical, with only the slightest of differences in backed shading. These textures were so similar that they could have used the same texture on every wall and no one would have noticed the different.

In addition, many of these textures were filled with blank, unused data. A 1024x1024 texture where half the texture went unused. These textures could have been condensed into a single file at no loss to visible detail.

 When I reviewed the item on the marketplace, I mentioned all of this. In retrospect I should have contacted the creator directly, but at the time I felt these issues were obvious and should be treated as such. The creator did not take the review kindly, accusing me of setting out to destroy their business and banning me from their sim.

 Currently, they are a very popular content creator indeed, but their content still suffers from the same overuse of textures that their old village set did. They seem to have gotten better about wasting texture area with unused space, but there's still a lot of room  for improvement and they still do not use repeating textures to increase detail without driving up texture memory. For some of their creations this has meant very blurry, N64-ish looking items even with their high texture use. They seem to be trying to get around this by throwing yet more textures at their creations which is not the way to go.

 I'm not naming names because I'm not setting out to shame anyone. That's not the point of this. The point is that abusing textures in this way, filling up content with what amounts to gigs of unnecessary files, is why everyone has such terrible performance in SL. I want to see creators like this succeed by recognizing this problem and learning to create better looking items that don't kill framerates.

And sometimes it works.

During that same period, I was also putting together a fantasy look for my own avatar and purchased some items from a store that had the exact same problems described above. I purchased a body harness where each strap, although appearing identical just mirrored, was a separate sculpt map and texture. There was a chain across the front, each link in the chain was it's own 1024x1024 sculpt map and 1024x1024 texture.The whole thing had to be like 30-50 sculpted prims, each with its own 1024x1024 sculpt map and 1024x1024 texture.

 It looked fantastic but was murder on framerates, and I said as much in my review of it.

 This creator also sent me a message. This one was a positive message. They said the information I'd provided was eye-opening and that they would be using this feedback in creating their next product. As they switched to mesh they began releasing content that was far and away better looking than their old sculpted work, but also much lighter on textures.

 They released a mesh version of that same body harness and despite looking far more detailed than the old one it uses only 3 textures, total. And that's only because it includes spec and normal maps. I will name this creator, Dais Abonwood, because everyone should shop at their store, Dark Prophet Designs.

 And that's why I speak up about these issues. Not because I'm out to destroy someone's business, or try to humiliate them or whatever. If I comment at all it's because you're doing something right, and I want to see you improve.

Friday, March 3, 2017

Draw Weight Revisited

Draw Weight Revisited

About two years ago I wrote an article showing how, with some modding chops, it was possible to drastically reduce avatar draw weight. I posted this image, showing how I cut my fantasy style minotaur woman avatar down to about a quarter of the original draw weight.

Recently, I got the fantasy bug again and decided to dust off that old avatar and update it.

I purchased the Nana fitness body from ::dev::, the creator of which was willing to sell me a modifiable version when I asked, which included hands and a mesh head using Bento, and had a couple of features I've been constantly astounded are lacking from other mesh bodies. Namely, the left and right arm are separate texture faces, meaning they can have two different textures, and the mesh hands are separate attachments!

 Because of this, I was able to put an underarmour texture on the right arm and while I used the included bento hand for the left arm, the armoured right arm instead has a heavy mesh glove. I've always been going for this ancient gladiator style armour look to my minotaur outfit and these details made it so much better.

 On top of that, there was a fitmesh bikini top I was able to mod into a scale mail top, I don't think it looks as good as the PFC scale mail bikini, but being fitmesh it fits perfect and I can use physics with it. And with the texture work I put into it, I don't think it looks bad.

 So lets put a draw weight to these improvements. As my avatar appears in these screenshots my draw weight is currently 34,740, which means I've made my goal of getting my base avatar, fully dressed, under 35,000.

So what's my point with all of this?

Mainly, I wanted to show that having a good looking, detailed avatar does not require a high draw weight as so many people believe. I also wanted to show that it's not mesh, that drives up draw weight, and that the newer mesh features like fitmesh and bento aren't to blame, either.

 I think it's important to say that I'm also not trying to say that optimizing content you've purchased in SL is easy. It's a lot of work, and you need to have some fairly advanced chops when it comes to modding.

What it comes down to is that the biggest, perhaps only, reason any avatar in SL has a draw weight over 50,000 is because content creators aren't optimizing their work. So many content creators in SL either don't know enough about 3D rendering to understand why optimizing is important, or they're just lazy and don't want to put in the extra effort to optimize. Some believe they can't optimize without sacrificing quality, which isn't true.

 If content creators did optimize their work it would be easy for anyone to keep their draw weight low with off the shelf content, no modding required.

 I don't want to sound like I'm placing the blame solely at the feet of content creators, either. Many people came to SL to have fun and discovered that they enjoyed creating content. Everything they know they learned over the course of creating content for SL, and let's face it: Linden Lab could do a lot more to encourage better content creation habits.

 LL ignores, or is ignorant of, the impact heavy texture use has on framerates. LL placed no real restrictions on the render weight of avatars. None of the tools in SL really try to encourage good building habits because the Lindens themselves never bothered to learn about content creation.

 Of course now we have the "jelly dolls" feature which renders avatars with excessively high draw weight as a brightly coloured pixel figure and while some just turn this feature off, a lot of people do keep it on in order to boost their framerates, so there is some incentive now towards having a lower draw weight.

Content Creators: Start optimizing your work. Reduce your texture use. Don't release content bloated with hidden surfaces. Utilize LOD.

Modders: Only buy moddable content then look for all the ways you can reduce the draw weight of that content. Unlink hidden pieces. Replace oversized textures. Set alpha textures to masked instead of blended. Check out that previous article for more tips on how you can reduce the draw weight of items you've purchased.

Lindens: If you're reading this, start encouraging your userbase to be smarter about content creation. Hire someone who knows how all this works and can help your programmers create tools that discourage bad habits and push people towards creating better content. Don't be afraid to be firm where you need to, like finally putting hard restrictions on avatar draw weight. You can tie them to new features, like Bento, so you're not breaking old content. Ultimately, you're the only ones who can solve SL's performance issues by addressing the issue of bloated, unoptimized content.

Everyone Else: Just keep enjoying SL. Like I said, reducing draw weight isn't easy and it's unreasonable to expect everyone to learn how. So don't fret about it. That said, when you buy something, take a moment to see how it affects your draw weight. If it causes your draw weight to go way up, make sure you tell the content creator so that they know customers are expecting low draw weight content. Let them know you don't want to be a jelly doll on someone else's screen.