Jump to content

  •  

Map tile artefacts


  • This topic is locked This topic is locked
9 replies to this topic

#1 themuntdregger

themuntdregger

    Official Troll

  • Full Member
  • PipPipPip
  • 1001 posts
  • LocationBehind you

Posted 14 February 2015 - 05:11 PM

Ok, so as part of the UL project, i've been looking at replacing the stock EL stuff with alternatives. Now i'm no graphic artist and my talent for creating art is very limited. Hence, i've started by replacing some of the basic textures, starting with grass.

In the process of doing so, i've learned just how complex creating seemingly simple textures can be, and how closely the client is tied to the existing tile set. See, the client has several different grass tiles, some with daises, some without, some as alpha  and some as opaques. Some tiles have several different images on them, each of which are referenced by a range of different 2d0 files. Yup, its some real complex shit. Its here that we also discover some strange and interesting shit.

Now the grass alpha tiles are designed to create natural looking edges to paths, dirt and such like, so as the straight lines of the opaque tiles are covered. This makes the enviroment look more pr0, and less like it was conceived by an austic 12 year old. However, when you look at the Isla Prima map,  you find a whole bunch of these overlays sitting where there's entirely no need for them....Posted Image

From the shape thats marked out, I suspect this was intended to be a space on which a house was going to be placed, but which the map builder never completed. However, i'd be interested if anyone knows the background.

Anyhow, back to my new grass texture, as can be seen from the above, it doesn't look too crap. And here's the actual tile in all its close up glory....

Posted Image

Plus one with a lot of gai daises.....

Posted Image


Now if you're wondering whether I drew all that by hand, um nope! What I did was to use a feature of photoshop/gimp called a
'brush' to create a single tuft of grass, then set the dynamics to produce lots of randomly spaced tufts of random sizes, shades and orientations.

Only problem is that the grass doesn't match the alpha tiles. Worse still, when you examine the alpha tile, its 256x256 pixels and not the 412x412 used by the opaque tile. As a result if you try and draw realistic grass on it, it ends up looking all blocky and crap....

Posted Image

Ofc, this ain't so much a problem with the stock EL grass tile as its already fairly simplistic. Whilst its better quality than the alpha tile, the difference isn't so great that its that noticeable. However, its definitely an issue when using a higher quality grass tile

I suspect the reason why the overlay tile is much smaller than the opaque is because iys a DXT3 type image, which is a lot  slower for a gpu to render than DXT1 type used for the opaque. As a result, I suspect it was deliberately made smaller to compensate for that increased render time. However, that seems somewhat pointless when you've a whole pile of wasted alpha tiles on your map doing absolutely nothing. Its also seems kind of strange reducing quality of grass in order to save gpu effort, when some of the more complex images (tree branches and leaves) seem to omit the mipmaps that would allow a far greater saving.

Anyhow, the interesting thing is whether its possible to increase the size of the grass alpha tiles (therefore improving overall image quality and making shit look a whole lot nicer) and to compensate for this by removing redundant alpha tiles (like the ones found in Isla Prima), optimising tree branches and leaves by adding mipmaps, plus reducing the pixels in those tiles with less complex textures, eg stone, paths, dirt.

#2 winter

winter

    Member

  • Full Member
  • PipPip
  • 305 posts
  • LocationUSA

Posted 15 February 2015 - 10:53 AM

Munt, I love your analysis.  Are you going to take this a step further and try those things you suggest be tried?  If so, is there anything folks can do to assist?

#3 themuntdregger

themuntdregger

    Official Troll

  • Full Member
  • PipPipPip
  • 1001 posts
  • LocationBehind you

Posted 15 February 2015 - 12:59 PM

Yup, thing is that i'm not great at art, whereas, others here are likely much better. Hence, my thoughts were to publish the basic techniques for making grass tiles so as others can also experiment. Doing this kind of stuff is largely a matter of confidence, so there's nothing special about my attempts. However, ultimately, it could lead to some improved tile/textures, or maybe a complete replacement for the current EL set. Tbf, the EL stuff is pretty clever, but the copyright is (imho) a pain for a community led game such as OL.

Regarding the optimisations and improving the quality of alpha tiles, yup, i'm definitely going to continue experimenting to see what can be done. I kind of like that, the more you delve into this stuff, the more questions arise. This suggests its fertile ground for maybe creating something new and better.

#4 Kyndor

Kyndor

    Member

  • Full Member
  • PipPip
  • 110 posts
  • LocationNY, NY

Posted 16 February 2015 - 09:51 AM

Will the new game engine not allow for material zones instead of having to have texture maps for everything?
If not, the additional complication for your work above is that, although there needs to be an element of randomness, the tiles must still . . . er . . . tile (seamlessly) otherwise you have lines. And even then, the random parts will no longer be random since they will repeat on each tile.
Unless the engine can accommodate layers, including trans (transparency) maps?

#5 themuntdregger

themuntdregger

    Official Troll

  • Full Member
  • PipPipPip
  • 1001 posts
  • LocationBehind you

Posted 16 February 2015 - 02:08 PM

Not sure about the new game engine, at least its not something that i'm involved with. Stardark did some work on the Unity platform, demonstrating that its possible to import and render EL maps. However, that's about as far as anyone's got.

In the current OL client, you can set up multiple material zones within a single dds image by assigning each zone its own 2d0 file. However, atm, the client uses these only for alpha overlays of grass, dirt and such like, so as the lines between different ground texture tiles can be broken up. I guess the 3d opaque ground texture tiles could be overlapped and twisted to provide the element of randomness you refer to, otherwise its a matter of being careful with the consistency of the textures you create, ie avoiding large patches of light and shade that, when reduced within the mipmap, result in artifact patterns in the far view.

#6 Kyndor

Kyndor

    Member

  • Full Member
  • PipPip
  • 110 posts
  • LocationNY, NY

Posted 17 February 2015 - 02:52 PM

Munt -

Thanks for your response.

In my previous post I was imprecise in my language. Perhaps I should never post before I've had a full pot of coffee. . .

I was wondering about two different things, but mushed them together incoherently.

Firstly, I was wondering about the possibility of creating and assigning procedural shaders to different material zones rather than using texture maps. This would allow for the needed randomness, plus require less memory for a higher resolution texture than traditional texture maps.

Short of this, I was wondering about the possibility of layering texture maps - bump maps, trans maps, etc. I understand from your response, that currently this is not possible, so I'm presuming the first is also not an option.

Although with a newer game engine?

If we are looking to port everything over to a new engine, it seems like a lot of work to create tiled textures for things like grass, dirt, rocks, tree leaves, wood grain, etc. if we will be able to use shaders instead.

Anyone know how to reach Stardark to get an update?

#7 Fire

Fire

    Advanced Member

  • Full Member
  • PipPipPip
  • 758 posts
  • LocationPoland,Europe

Posted 18 February 2015 - 04:39 AM

Yup, that pic you show us I think that map maker was going to put house or any other building there, looks strange and like something is not finished.
Do you remember my idea related to maps ingame? It was about to how solve that aritificially looking map edges in other way than EL do for example with "mountains" and sea everyone, which makes these maps being islands, stupid.
Let me know when you will work on something related to maps as I am interested to be a part of subject.I have some ideas still that I did not share on forums or anywhere and I won't. I wait for themunt when he will be able to run game normally, keep working.
I like that grass texture.Remember that will be great to have few of them to suit in various environments.Having same looking grass everyone will be also retarded.
What stuff did you use to make that texutre, I may sit someday and try it out, I am creative enough I hope.

#8 themuntdregger

themuntdregger

    Official Troll

  • Full Member
  • PipPipPip
  • 1001 posts
  • LocationBehind you

Posted 22 February 2015 - 02:21 PM

View PostFire, on 18 February 2015 - 04:39 AM, said:

I like that grass texture.Remember that will be great to have few of them to suit in various environments.Having same looking grass everyone will be also retarded.
What stuff did you use to make that texutre, I may sit someday and try it out, I am creative enough I hope.

Coz I use Linux, the texture was made using the GIMP image editor. I'm sure Photoshop does much the same, but if you need a Windows copy of GIMP, you can download from here http://www.gimp.org/downloads/

You also need to obtain Charfades Ultimate Grass brush pack, which you can download from http://justsilvia.de...rfade-156165418 (I think they also do a Photoshop version)

Once you got all that, create a new image that's 412 x 412px

Then select 'grass13' in the 'Brush' dialogue and set 'spacing' to 10.

Next go to the 'Paint Dynamics' dialogue and create a new paint dynamic call grass and select 'random angle' and 'random colour'.

Next go to the 'Gradients' dialogue and create a new gradient called 'grass'. If you then hover over the gradient window and right click, you'll get a menu from which you can set the Left Endpoint colour to 1b302, and the  Right Endpoint colours to 93c008.

Next go to the 'Tool Options' dialogue and set :
Mode to normal
Opacity to 100
Size to 30
Aspect ration to 0
Angle to 0
Dynamics to Grass
Repeat to Sawtooth
Gradient to Grass
Tick 'Apply Jitter' and set to 20

Now go to 'Windows' 'Tools' 'Paintbrush' and then hover your cursor over the new image that you created earlier. If you
tap you'll get a random tuft of grass and, if you hold down the right button on your mouse/trackpad and draw across
the image, you'll find you get tons of random tufts. Keep covering the entire image in tufts of grass until there's no white background

Next go to Filters and select 'Enhance' then 'Sharpen'. Apply just enough sharpening to give some definition to your grass.

Now go to 'Filters' and select  'Map' then 'Make Seamless'. This improves how the texture tiles so as seams are less visible

Final step is to got to 'File' then  'Export As'.  then select Windows BMP.  Save the image as tile1 which is the name of the tile you'll be replacing in the client.

N.B Don't save as DDS if you intend to create a master copy, as the format is lossy and will deteriorate if you try and re-edit.

#9 themuntdregger

themuntdregger

    Official Troll

  • Full Member
  • PipPipPip
  • 1001 posts
  • LocationBehind you

Posted 22 February 2015 - 02:37 PM

Have also been working on replacing the alpha overlay grass tiles and have come up with this...

Posted Image


to replace the stock EL overlay that looks like ...

Posted Image

The result now looks like this when rendered through the client....

Posted Image

#10 Fire

Fire

    Advanced Member

  • Full Member
  • PipPipPip
  • 758 posts
  • LocationPoland,Europe

Posted 22 February 2015 - 03:02 PM

Ok I will look around with this, thanks




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users