August 2018

Why ready-made textures often are not as useful as many might think

On duion.com I offer mostly unedited texture photos and I often got comments like "Oh but they are not ready-made yet, so they are not useful" so instead of answering all those individually I will write a ready-made answer for this here.

The main reason is probably, that I don't have the time to convert them all, but let's say I would convert them all, then I would face the question: "To what and after what standards do I want to convert them?". From a users perspective ready-made always sounds good, it sounds like good quality and most importantly less work, but from a developers perspective this can quickly shift into its opposite. Yes if you are a user and unskilled anyway, then you are probably well off, with just using them as they are, but if you are an artist with a bit of passion that wants to create something he can stand behind, then you may not be fine with the quality you are given and want to improve or adapt it. I for example always found myself looking at ready made textures and thought "Oh yes they look very good", but on closer look or when testing them in a game I noticed them being wrong or having some kind of flaw I had to correct, since I'm a bit of a perfectionist.

Most asset stores provide their textures for a specific purpose, this is fine for that specific purpose, but for everyone else a disadvantage, since they will only fit that specific purpose and for everyone else they will be less useful or not useful at all.

So what you do then? Many will argue "Then you edit them yourself to fit your purpose", yes this is possible, but textures now consist of many layers like diffuse, normal, specular, ambient occlusion, heightmap etc, so once you edit the diffuse, all others are wrong, so you have to edit them as well in the same way, for which I have no idea how to do that in an efficient way, so the best option you then have is to edit the diffuse layer and generate all the other layers again yourself. Once you are there you realize that:

1. You do not have the skills or tools to do it

2. Even if you do so, you still have no idea how the original creator did it

3. Then your textures will end up different in style and quality, so they do not match the others

4. So the ready-made material you downloaded, was useless to you

5. You may have been better off with the unedited source image which has probably higher resolution and more image to work with

 

From this train of thought you can see the big problem that can arise, since a ready-made material is only useful for a specific purpose, for everyone else it will be less useful or even problematic, since even if you manage to edit it to your purpose, then you still end up with the problem of inconsistent quality since your style of editing is different, but this all assumes the texture was usable for your purpose to begin with, since if not you end up with another list of problems:

1. The texture may have weird resolution like 3205x1208, most developers know textures should be power of two and squared or rectangular with power of two, like 512x512 or 1024x512 etc otherwise game engines cannot work with it. Yes for some purposes like rendering it may not matter, but you still may end up with all the problems listed above, for everone else the texture becomes almost completely unusable, since of course you could just stretch the image into power of two, but then it will be stretched, then you will have to unstretch it inside your application again, but the image remains kind of stretched since the pixel density is different horizontal to vertical.

2. The texture may be overedited so that it is too bright or too dark and information was lost or some kind of filters were applied, so it no longer fits your purpose or style.

3. The seamelss conversion is poorly made, so you have a lot of editing artifacts, obviously repeating patterns and lots of image pattern was lost due to it. Yes you can fix that, but it will lead to even more image pattern will be lost.

4. Even if everything is fine, you never know how much quality was lost in the conversion compared to the unedited source image, resolution or image pattern may still be lost.

So in all the above cases you would be better of with an unedited source image, if you have even a little editing skills yourself.

 

My solution to this problem is, that when I need a texture I browse the Texture Photos on this website and pick one or more of the textures that seem to fit, then I will test if they fit my purpose, so either I edit them into a seamless version already or just apply it as it is, to see how it looks inside the game or render view on the model. When I'm fine with the result I will finish editing the texture, at first only the diffuse layer and will go and test it ingame to see if there are any flaws, mostly repeating patterns from the seamless conversion and only if the diffuse layer is ready-made and tested ingame, I will start making the other layers like normal map, specular map etc, then I will go again into the game and test the texture with all layers applied and test each layer individually if it fits, if not go back editing that layer until it fits.

This may sound very complicated and work intenstive and depending how often you have to fix it, it really is, but if you have your workflow and toolchain already setup, it is not as complicated anymore and you are guaranteed to get a good result that fits your purpose. The time I spend making a texture could be anywhere between 5 minutes and 3 hours, on average probably more like 0.5 to 1 hour. Most time is spend on testing, especially since I like to play around a lot, like walking around observing it from all angles and in different conditions, but you do not have to do that.

The ready-made textures I offer are made like that and designed to be used with Uebergame/Torque3D so they may not work that well for other purposes, but at least for that one purpose they are well adjusted.

I can understand why most asset stores especially since they are often commercially oriented will just pump out as many assets as possible in the shortest amount of time, I could do that as well and just spend 5-10 minutes on each texture and put out 5-10 times more in the same amount of time, but I could not stand behind that product even if it was free, since I would know that it was not that useful to others in an untested and unpolished state.

The industry kind of addressed that issue since more and more they sell tools now where you can quickly generate textures in the way you need them, but I'm still a fan of photo textures, since they offer the most realism, since they are real, those synthetic textures often look like plastic. Of course technology gets better and you can render photorealistic textures now, but this is still quite a lot of efford and costs time, so why not just use a photo instead, if you have one at hand that fits.

I hope this breakdown was somewhat useful and I admit that there is a place for all those categories from source images, to ready-made textures to texture generators, but each one has its limitations, so it is not that ready-made is the best product for everyone.

Blog Reference: 

The hypocrisy of the free software movement

This is kind of a follow up to my previous blog: "Why I don't use the GPL-license" since I realized the problem is much bigger than just the question what license to use, the problem expands to the whole open source movement.

Let's go back to the beginning, at least my beginning, what lead me to open-source. My first encounter with computers were games and I did not care about the license, since it did not matter, you would just consume them. But later when more complex games were released like 3D-shooters, especially those that came with level editors, I became interested in creating my own content for the games, which quickly became more interesting than the game itself. After some time of doing this however I realized the restrictions of proprietary software, since you needed to buy a license for a game you wanted to create content for and then your options to create content for it and modify it were still very limited and after some time the game was outdated technically and nobody used it anymore. So to make it short, my only criteria for the software was, "Can I use it freely or not?" and the answer was of course I cannot. So my motivatoin was purely practice oriented and no question about ethics and politics etc. Since there was no option to use a game engine freely at that time, I gave up on my hobby for quite a while.

I still observed the scene from time to time, to see if something has changed and at that time there were a few GPL projects, but they were not good enough for me, not because of the license, but because of the inferior quality of the software, so I ditched that option as well. Then later finally I found a good option and got into game development and became more interested in open source software, mostly out of practical reasons, only later out of ideological reasons as well. At that time I also encountered the free software movement, but did not notice it that much, I just thought they are the same as the open-source movement, just more radical being for even more freedom and more ethics. So when I was developing my game, I came in contact with them and I thought some of those people would be interested in helping me, but never found anyone seriously wanting to contribute anything productive, like doing real work. What I found however was people starting to harass me that what I'm doing is not right,not good enough, the wrong license and so on. I also had people that said "I will only contribute, if you make your game GPL only, because GPL is so much better and will get other GPL-fans to contribute as well". Later I realized that something was wrong here and those people did not really intend to contribute anything productive to begin with. They just wanted to convert me to their ideology, to then run away and those other people I supposedly would gain to help me, if I would do so, did not exist to begin with. This was my first encounter with the hypocrisy of the free software movement.

When there is a movement for a good cause, the cause should be the priority, not the politics of the movement, but this is what is the case with the free software movement. The free software movement does not care about developing more and better free software, they only care to convert people into their movement and compel them to GPL their software projects which effectively steals them and makes them owned by the movement. They are like the Borg, only assimilate, never create. This can be proven by looking at their fruits, which are mostly nonexistent, since the number of new free software game projects created by them has dropped pretty close to the number 0 around the year 2011 and did not recover in the last 7 years and most likely never will recover to eternity.

The free software movement is hard to see through, since the issues they talk about are all correct, like evil big companies use evil lawyers to forcefully enslave everyone to their evil restrictive copyright licenses. The problem however starts with their "solution" to solve that issue and that is to create another evil big "non-profit" company, to use non-evil evil lawyers to forcefully enslave everyone to their "freedom" non-evil evil restrictive copyright GPL-licenses. This is all completely hypocritical, they are complaining about something and then using the exact same methods than their enemies, but when they use those methods, they are somehow good, while the same methods are evil when used by their enemies.

A copyright license grants the creator of a thing all the rights, thats why it is called copyright, the creator has all the rights, but a copyleft licenses tries to grant the user all the rights and take the creation from the creator, aka stealing it. This is communist ideology, steal from the productive and give to the unproductive and to do that they need to strengthen the goverment, which creates another evil oppressor in the world, which is then supposed to remove some other evil oppressors like evil big companies. This may even work, you can indeed get rid of the evil companies enslaving people through that, but while doing so, you just take away the power from one oppressor and give it to another.

This then creates 3 new big problems:

1. The new oppressor is much stronger

2. The new oppressor now has a monopoly, making him exponentially stronger and more oppressive

3. You destroyed the only productive class, so nothing gets produced anymore and everyone will live in poverty, like it is the case in all communist systems.

 

Well this turned into a quite general political article and I thought I can get away from politics by indulging into escapism in the form of video games, looks I was wrong. Initially it was just about personal license preference, but now I can only recommend everyone to stay away from those leftists and their insane ideologies as far as possible, or they will try to destroy your hobby as well.

Blog Reference: