News:

Welcome to World of Banished!

Main Menu

Normal Maps

Started by lamenagere, September 06, 2017, 07:33:10 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

lamenagere

Hello there, I am new to this game and this forum. First of all, I wanted to congratulate RedKetchup for his staggering work on this game as the modders who seems to be a very active community.

One thing though are the graphics of the game. The choice to make it realistic is probably good and in harmony with the theme of the game, but the models, even if they are lovely, seems a bit poor on details (I'm aware of the poly limitations, especially on huge maps).

I don't know if they are supported, but I'm pretty sure normal maps would add something to the game. I was thinking of it as an optionnal map for 3d models and, for passionnate modders, would help them creating something even better looking.

Have fun anyway!
La Menagere.

embx61

I don't think the game supports normal maps as I did not see them used in Lukes example building files (Apiary) either.

I always try to put some detail in my buildings but not go over the top with it because of poly count but the main reason is that the zooming of Banished is quite limited so most of the details will be washed out so it will be just overhead without much benefit.

Welcome to WoB :)
[size=8pt][color=teal]My beloved Kathy
As you were you will always be
Treasured forever in my memory[/color][/size]

[size=10pt]For my list of Mods with download links go here[/size]

lamenagere

Thank you embx61 :)

Precisely: the zoom level is limited but it seems, as I am looking at players' gameplay videos, that some players would love to walk through their villages. For instance, why not create a new type of view that allows you to experience the life of one of your villager ? See what the forester sees, under the trees in the deep forest ? See the same thing as your fisherman, fishing on the desk and contempling the lake in front of him ? Or simply a free cam (at a head's height) which allows you to walk through the streets of your village. In this particular case, normal maps would be really interesting.
One other thing also: I think you underestimate a bit how much it would add realism to some models (I'm thinking about the stone houses for example).
On the other hand, it may be true that adding a new map to the models may slow down the engine, as it needs a processing time to render, but also asks some more memory.

By the way, I think I've read something about RedKetchup working on normal maps for the terrain. Am I right ? Was it for this project ?

Cheers,
La Menagere.

Tom Sawyer

Can you please explain what do you mean with "normal maps"?

embx61

The game is not programmed by the developer to let us modders fiddle with a lot.

The AI is totally hidden from us. All the assets like FBX and graphics are hidden from us.
Many game mechanics are not implemented in the Mod Kit.

Some players use Zoomhack what can do what you want, more zoom and first person view I believe.

Not sure about red working on some normal maps for terrain but he will surely chime in to tell you.

All know Red made a mod what changes the terrain textures so the whole game world look different.  After this I made two as well.

While we can do quite a lot of certain things the Mod Kit is on the other hand quite limited.
The developer not made the game with modding in mind from the start and added it some later after release and that is why it is quite limited.
Games with mod support from the start have mostly more options for modders.
[size=8pt][color=teal]My beloved Kathy
As you were you will always be
Treasured forever in my memory[/color][/size]

[size=10pt]For my list of Mods with download links go here[/size]

embx61

#5
Tom

Normal maps are maps baked with gives the illusion as a sort of depth.

Like a brick wall with a normal map beside the diffuse is so the grout lines are giving the impression they are somewhat deeper then the bricks so the lightning is faked into reflecting differently on the grout lines and the bricks.

I think some refer to those maps as bump maps as well because it is just a map with dents and bumps.

[size=8pt][color=teal]My beloved Kathy
As you were you will always be
Treasured forever in my memory[/color][/size]

[size=10pt]For my list of Mods with download links go here[/size]

RedKetchup

Hello and welcome on World of Banished @lamenagere :)

Unfortunatly, there is no way for us to change the game mechanics of the game like making new ways of making views or zooms. there is alot of things that are out of the toolkit allow to change.

As we all want to add the most details in our designs, we also get some frustrations because we dont see any benefits from it (cause lack of zooms, multiplying the numbers of polycounts very quickly)
i even mailed the developper to add and adjust the % of zoom by adding +25%... he never answered back on this :( the game would easily handle this - *see zoom hacks exploits... but maybe there is something to do with change alot the hidden codes...

if by normal maps you talk about like @embx61 said :  we dont work with those and not even sure if game can handle those...
if by normal maps you talk about changing some textures of the ground : yes i did and the mod is fantastic! the @embx61 's one is as great too ! we are still limited by the discovery of quality bitmap files we can find on the internet.
> > > Support Mods Creation developments with Donations by Paypal  < < <
Click here to Donate by PayPal .

kid1293

Welcome @lamenagere and I will be brief.

I don't know of any way to implement bump, specular or reflective maps in the game code.
You should maybe talk to @Bartender since he most of his time is working with the
graphics code. Or rather, tweaking out what's available to us.

We are happy we have a transparency tweak from Bartender and AO-mapping.

lamenagere

Hello there!

Well, I have to apologize, I thought RedKetchup was the programmer of the game :D My bad, really...

To embx61: bump maps and normal maps are 2 different things but with the same goal, enhancing a low poly geometry with a fake relief through a map (like your color map). For instance, there are several textures used in 3d to do this: bump maps, normal maps and even vector maps which I won't talk about here (but they are amazing).

Bump maps are greyscale textures used for a long time, wich describe the elevation of each point on the surface it is assigned to, depending on his grey value (the whiter the higher). This way, it creates shadows from the light sources which gives the illusion of volume.

Normal maps are much sophisticated so I won't explain it in the details but here is the concept: it allows you to 'subdivide' your mesh. The general idea is wall described in this article: https://en.wikipedia.org/wiki/Normal_mapping . So you basically need a high resolution mesh and a low resolution mesh (which you will use in the game) in the process of creation of your 3d models.
Here is an example of the result on a Hulk model: https://www.3dtotal.com/admin/new_cropper/tutorial_content_images/118_tid_013Rulk_zmapper0.jpg
As I said in my original post, the problem would have been the loading of many new textures, as the programmer tried to optimize the game for low end hardware. But, and he obviously knows it, there are ways reduce their sizes depending on how far you are from the model. (The closest you are -> the biggest the texture is (reaching finally the original texture map size) -> the finest details you see and vice versa).

Anyway, I am not sure the programmer included normal maps in the Banished engine, but he intends to for sure for another.

To RedKetchup: sorry man, I misunderstood who's who! :D Anyway you did a really great job with the new Medieval town which I play with and have a lot of fun. Concerning the normal maps, as said previously, you can't do it on your own if you don't have access to the engine code (and it's a big update).
Regarding textures, I guess you know www.textures.com . They have one of the best *almost free* stock of textures. Another to do it is to create it yourself is using Substance Designer. Quite hard to use at first (I mean, it's a real job), but for simple textures like gravels or brick walls, it IS totally crazy :)
Same as normal maps, you can't change the level of zoom either (I didn't know there was a hack for this, I'll take a look at it).

To Kid1293: thank you for the adice, I don't know there was AO. Is it calculated dynamically or burned on the textures ? There may be a way then :) But it's too far from my abilities, never been a good coder, especially in graphics, I was more in CGI's industry.

Thanks to everybody anyway!
Cheers and have fun.

embx61

I never really went into depths into all the kind of mapping.

3ds Max have quite a few (No Normal map though but Bump) what can be used but because in Banished it is just diffuse and AO and some billboard stuff I never really looked deep into all the other maps.

I downloaded that blue picture from the Internet and they talk about it being a Bump map.

I did some reading and indeed Normal and Bump maps do the same but in different ways and that is why I think non professionals think they are the same and I see no map entrée called Normal map in 3ds Max.

I think the farther you are and getting closer to the object is called LOD (Level of Detail)

AO maps are generated in the 3d modeling software. The AO maps are then linked with some code so the game recognizes and use them.

[size=8pt][color=teal]My beloved Kathy
As you were you will always be
Treasured forever in my memory[/color][/size]

[size=10pt]For my list of Mods with download links go here[/size]

Tom Sawyer

Thanks for clarification about normal mapping. I did not know about it and I think it is not usable in Banished. What I do sometimes is a kind of "over sharping" (unsharp mask) of wall textures, especially stone walls. It's not the same but has a similar effect of a more detailed structure just by texture.

The AO effect in Banished comes by a separate image map and is used in game for calculating shadows as well as snow overlay. It's an interesting part and we had some nice improvements by this over the last year. Discussions about technical parts of 3d modeling are always welcome. :)

Bartender

Hello again :). Sorry to be late to the discussion, real life has unfortunately been keeping me away from modding for a bit.

Now concerning normal maps, that would be an amazing inclusion to the game indeed :). Since we have to keep poly counts very low, the use of normal maps would allow us to add detail without putting too much extra stress on performance.

I have done a quick bit of research, and I've some good news and some bad news. The good news is that there is actually some functionality to use them! In the resources, there's a file called NormalMapTexture.rsc within the Texture folder. As far as I can see though, the only place where this texture type is actually used is in the water materials.

However, these water materials do not use a regular texture, and that's (probably) the bad news.. There's no example where Mr. Luke used a normal map AND a diffuse map (regular texture) at the same time. I think it would theoretically be possible, but it would probably require a lot of editing to the material srsl files. I'll look into it when I have the time ;).

embx61

Well

Even it is possible or Luke wanted to include it but scrapped it but I see a Normal Map resource file in the textures folder in the resource folder.
It uses UV map W what indicates it is indeed add some depth to the texture.

Should have read Bartenders reply till the end before replying because he saw the file too :)

ImageBuffer resource
{
Type _type = Rectangle;
Usage _usage = Texture;
Format _format = NormalCompressed;
Flags _flags = Mipmaps | CanDownsample;
AddressMode _addressU = Clamp;
AddressMode _addressV = Clamp;
AddressMode _addressW = Clamp;
FilterMode _filterMode = Anisotropic;
}
[size=8pt][color=teal]My beloved Kathy
As you were you will always be
Treasured forever in my memory[/color][/size]

[size=10pt]For my list of Mods with download links go here[/size]

RedKetchup

hehe i am very flattered to hear about my works have lead someone to think i was THE developper of this game ^^
thats a very big compliment !! hehe

God knows i wish that would be true ^^

i came from extremly far with 0 knowledge about 3D model design and 3d graphic.
even the 2D textures, i had absolutely 0 knowledge at begining.

if i had some experience/lessons to start with... i would probably alot further :)
and would do things as professional as @despo_20 is doing

yes i know textures.com. i should visit it more often i actualy do. i wish i could get some deviantart artist stuff too to use....
> > > Support Mods Creation developments with Donations by Paypal  < < <
Click here to Donate by PayPal .

Bartender

I've actually done some tests yesterday, but that didn't prove fruitful yet. I did find however that the particle material does use normal maps AND diffuse maps simultaneously! Now the particle material seems to work very differently from the regular ones, but I'll try to see if I can adapt it to some useable form. This is a rather frustrating process though, and it will probably take some time to figure it out (if I manage at all).

<This is a bit of a rant about the coding of Banished, it's probably not really that interesting to read but I just need to vent my frustration a bit ;)>
Every time I try things with the material files, I'm amazed by how difficult it is to understand the way they are coded. I've pretty much figured out what each part of the code does, but when it comes to changing things I often get completely lost. There seems to be very little consistency between the different files in what works and what doesn't. Basically, a piece of code that works perfectly fine in one file, will immediately crash the game if I try to implement it in another, without any apparent reason why it would do so. This means that I'm spending 90% of my time deliberately crashing my game just to find out what works and what doesn't. And I have to repeat this process each time I go to work on a different file, because what worked in the last one will probably not work again. Either there's some clues in the code that I'm just missing, or there's actually some very weird interdependencies going on between different parts of the code. Either way, it makes adapting the materials a very slow process, which is a shame because there would be a lot of cool new possibilities to discover if we could fully understand them.
<End of rant/>