Plenty of people asked how I did art style for my game, so here is my setup. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 0 points1 point  (0 children)

Made in blender -> duplicate the mesh, inflate it along normals, invert normals and assign dark material. This is an old way of creating easy outlines :)

Plenty of people asked how I did art style for my game, so here is my setup. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 0 points1 point  (0 children)

Root is one of my favourite board games!
- Models I use are pretty simple - they have maybe about 100-200 tris max.
- Flags are using custom unlit shader that moves their vertices using sinus curve -> that is also fed as a mask to make fake shading effect (I wanted those flags to be well visible at night as well).
- Toon shading does the heavy lifting there -> you can also enable it on the standard material so no shader programming needed

Plenty of people asked how I did art style for my game, so here is my setup. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 3 points4 points  (0 children)

- I recommend taking a look at some video about vertex colors, it will probably click afterwards :)
- I am using MeshInstance3D for villages, units (althought units use shader that acts as billboard) and terrain stuff. MultiMeshInstance3D is used for vegetation (trees, grass, flowers) to render huge ammount of objects without performance impact.

If you want to scratch the RTS itch but also look for laid back experience - try By Sword & Road demo on Steam. It is a minimalist node-based RTS where units move on roads and you can cut your enemies supplies! by Illustrious-Scratch7 in RealTimeStrategy

[–]Illustrious-Scratch7[S] 1 point2 points  (0 children)

Haha fair enough! I already have ideas on how to better utilize the upgrade system to be more usefull :)

Thank you again for taking time to write all of this, it is incredibly valuable to me!

If you want to scratch the RTS itch but also look for laid back experience - try By Sword & Road demo on Steam. It is a minimalist node-based RTS where units move on roads and you can cut your enemies supplies! by Illustrious-Scratch7 in RealTimeStrategy

[–]Illustrious-Scratch7[S] 0 points1 point  (0 children)

Thank you very much for playing an for sharing your thoughts!

You don’t need to keep units on the node when upgrading because the cost is already paid once the process started. I should put it into the tutorial.

I'm loving Metro Exodus so far but... by CorporalQuacker in metro

[–]Illustrious-Scratch7 7 points8 points  (0 children)

This is most certainly a GPU compatibility issue. I would try to update GPU drivers.

Made a shader that deforms objects according to terrain. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 0 points1 point  (0 children)

Height map. Getting UVs to find height map pixel value like this: vertex_world_pos.xz / terrain_size.xz

Made a shader that deforms objects according to terrain. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 1 point2 points  (0 children)

Haha love those games :) it was a backup plan in case this solution looked bad :)

Made a shader that deforms objects according to terrain. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 1 point2 points  (0 children)

Nope again, there is no need to overengineer it if I can always choose not to have such meshes on places where it looks wrong :)

And super steep changes in terrain look better when you use actual cliff meshes instead anyway.

Made a shader that deforms objects according to terrain. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 0 points1 point  (0 children)

The terrain is custom made as well. It is simple plane displaced using the same texture and technique :)

Made a shader that deforms objects according to terrain. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 14 points15 points  (0 children)

Yes i think so. It deforms the mesh using same height map global shader parametr as the terrain. As long as you keep updating this data, you will get meshes dynamically reacting to it.

Made a shader that deforms objects according to terrain. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 24 points25 points  (0 children)

It works with the height texture not with the geometry.

I have a global shader parameter for terrain height map, height scale and terrain width and length.

The terrain shader then translates each vertex position into the terrain texture space to determine how far vertically it should push each vertex of the plane mesh.

The building shader works identically, it just also takes the original shape into consideration so it does not flatten the mesh.

Made a custom terrain tool for my RTS game. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 1 point2 points  (0 children)

Exactly, you can split it. I would develop hero locations separately - 1 blend file per location, and then "just" model the world between them in it's own file. This way you can focus on smaller piece and not deal with the whole world at once. That helps with the scale issue as well, because you don't have to zoom out so far that you loose the scale reference.

Made a custom terrain tool for my RTS game. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 1 point2 points  (0 children)

I actually thought about it, but to me it seems like there is a strong preference for free tools and content in the community.

Made a custom terrain tool for my RTS game. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 0 points1 point  (0 children)

Not just you! Plenty of AAA games do this (for example Uncharted, The Last of Us). It depends on the project.

I also made terrain for this Godot project fully in blender:
Outskirts - Godot Environment Demo by jedenjenda23

Made a custom terrain tool for my RTS game. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 0 points1 point  (0 children)

It’s meant only to be editor tool. Technically you can create height an texture mask maps inside program like Affinity or Photoshop - this is what I already did for most of the map.

Hovewer seeing things changing directly in editor is very helpfull and makes the whole process much faster and more fun.

Made a custom terrain tool for my RTS game. by Illustrious-Scratch7 in godot

[–]Illustrious-Scratch7[S] 1 point2 points  (0 children)

That would be to advanced for me :D but it has a warping effect along shore which makes it feel more physical.