Hello and welcome to this weeks Dev Diary!
Today I would like to continue where I left off last week and that is texturing of the created heightmap. As it happens every so often, I had to redo the heightmap for two reasons;
- In order to get a more precise heightmap of the area and...
- To have the texture implemented as easily as possible.
After all, this is just an initial map for the game, where I can study the following;
- How to make and define water
- How to implement vegetation in a most efficient manner (most likely procedurally generated)
- How to optimize big maps for high frame rates, with as little sacrifices to quality as possible
- Unit styles, movement and animations etc.
- Building systems in general
- Test out multi-level camera systems
More on those on later Dev Diaries.
The New Map
This new perspective of the area is roughly 4 km² (or in miles; 1.544409mi²) in size, but the heightmap's precision is 2 meters, compared to the last weeks example's 30 meters. In other words, it is 15 times more accurate than the previous one, but there seems to be a problem still - when presented as a one huge map, Blender crashes if I try to make it as accurate as possible. This means, that I can't use all the accuracy that the heightmap has to offer with a single monolithic map. This is why I most likely need to try and divide the map into 1 km² chunks at the very least and combine them in the game engine. I'm currently planning to try this on Unreal, Unity and Godot engines to see which one is the most intuitive and easy to use. I kind of like the Godot Engines GScript language (based on Python), but the vidual programming functions make the Unity and Unreal engines more desirable currently. It will also be coming to Godot Engine, but we'll see on what timetable.
Here is a preview of the current map;
And from a top view;
Despite not being able to use all the detail that the heightmap makes possible, it does look kind of nice. Still, I haven't touched the shaders at all, which makes the ground reflect lights like it was some kind of plastic.
To help make sens of the map and it's size differences, I'm using the Blender's grid as a tool of measurement. Many tutorials are there to just show how to make something, but most often everything is done without precise measurements, which should be taken into account when actually making the assets for your game. This ensures that you have some hard points to measure your world and characters towards, to make sure that 1 meter or foot is consistently 1 meter or foot within the game world. Command and Conquer is one example, where the scaling of buildings and units were not so accurately measured and even though it didn't bother me personally, I like to keep close tab on scales from the start to ensure that there is good fundamentals for higher immersion at a later point of development.
Tip Of The Week - For Beginners
When I first tried to implement the ground textures for the map, the color image was misaligned in Blender, even though the heightmap and the color image were perfectly aligned in the images them self. This is how the map looked before aligning them in Blender;
Last week I shared a link to the simple tutorial that I used to create this map also. The video showed, that the person in question aligned the map texture by hand in the UV editor. I found another, more precise way to align the texture to the map. Bare in mind, that this might have drawbacks that I don't currently even know.
Once you have added the texture like instructed in the video, you can align it by left clicking "Vector" on the side-panel and select "Texture Coordinate". This simple adjustment aligned the textures perfectly with my heightmap.
How does the title of this week's Dev Diary correspond to this weeks topic? You can hunt for answers or find out the answer on the next weeks Dev Diary.
Thank you for tuning in, and I'll see you on the next one!
You can check out every possible mid week announcements about the project on these official channels;