Dev Diary PMC Ukraine Kyiv ArmA 3 Terrain

2022-02-27 Global Mapper Work Begins

2022-02-27T09:45:00Z New editing day has started, okay yesterday after creating this html page I still was working on PMC Ukraine Mariupol but today we start to make those brand new terrains.

2022-02-27T10:06:00Z Got the project started, Global Mapper project file created, UTM projected, user feature grid created and KMZ exported.

Decided to create 61.4km terrain for Ukraine Kyiv. Initially I was checking out larger but it included dymer city (google/maps) north of this location so I wanted to keep Kyiv compact and create different terrain for those Russian approach routes in the north.

Idea was to make even more compact maybe 40km terrain for dymer and ivankiv (google/maps). But that is for another terrain project.

Then used SRTM online source and exported 15m cell size ASCII Grid heightmap.asc.

Terra Incognita started to download first ArcGIS 17 level grid tile.

2022-02-27T10:29:00Z Started to global mapper import OpenStreetMap (OSM) shapes for areas, lines and points. This is natural areas, roads, and locations.

Reduced road count by Remove Bad OSM Roads, this was usual ukraine style road feature type reduction, it was well above 10k when doing "track" type it plummeted to 4223. I bet with some studying there could be room for more roads to be in roads.shp file, but this will do for now.

Exported cropped areas, roads and points.

2022-02-27T10:55:00Z Finished RGB coloring global mapper OSM shape areas for satellite mask, then started to export it in 8 x 8 grid tiles.

ArmA 3 PMC Ukraine Kyiv Screenshot

It finished exporting really fast and that raised some questions. Well yeah its fast because 61440 pixel resolution image divided by 8 is only 7680 pixels per image, so no wonder its fast. Hmm this brings up another question, should I use 4 x 4 tiles instead as the tile size drops below 10k magical limit (there is no such magic limit heh).

The whole reason us terrain geeks split huge ArmA 3 satellite texture/mask images into smaller pieces is because satellites are huge, for example right now PMC is not going to do less than 40,960 x 40,960 pixel resolution satellites unless its highly unique special terrain. So imagine loading 40k res image into GIMP... yeah its not very nice to work with.

The other end of this is too small, it would make no sense to split lets say the mentioned 40k res image into 16 x 16 grid tiles because it would make the tiles ridiculous 2560 x 2560 pixel resolution. That would be just silly waste of time to handle all those images.

Overall today at 2022-02-27T11:04:00Z when I'm typing this PMC DevSurf computer (our editing computer) is running windows 8.1, has AMD Ryzen 9 3950x 3.5ghz (boost 4.7ghz) 16cores (32 threads) CPU and Corsair 64GB (4 x 16GB) Vengeance LPX DDR4 3200MHz RAM. This allows us to GIMP load images ... well I just realized that I have not even tested what is the limit of RAM/GIMP with this setup. I do remember from previous 32gb RAM computer that 20480 x 20480 res image with 9 layers in earlier GIMP version was extremely sluggish. So if we use that as guideline, splitting satellite texture/mask into below 20k res tiles would be enough.

So I am reconsidering this 8 x 8 tiles for 61.4km terrain... if I chose 4 x 4 tiles that would make 15360 x 15360 res per tile. I think that would be doable and is much nicer number of images to work with.

2022-02-27T11:36:00Z Decided to go with 4 x 4 tile setup. Started global mapper export of satellite mask.

Copied GraphicsMagick etc bat files into global mapper project dir.

2022-02-27T11:50:00Z Terra incognita satellite imagery download finished for grid 1 (NW), now started to download grid 2 (NE).

Also to my disapointment I noticed that global mapper OSM shape areas have few black outlines, these are most likely nature reserves or something like that. So looks like I have to go back and delete those and for the third time export this mask Smiley :)

There was "nature_reserve" and also "cliff" type features which I deleted.

2022-02-27T12:39:00Z Got roads.shp done with ID/ORDER edits plus the usual transformation coordinates. Same for areas to be used in Terrain Processor object generation, forests and tree lines mainly.

Then used Darken Merge Picturemap Satellite Texture Tiles method and ran _run_graphicsmagick_convert_Sat_Mask_PNG_to_BMP_with_white_fix_4x4.bat to get satellite mask ready for terrain builder importing.

2022-02-27T12:56:00Z Again hopped leaps ahead in dev diary writing; so I created Terrain Builder project directory, moved heightmap.asc, Roads/ and TerrainProcessor/ dirs there. Edited _cfg/config.cpp for the actual size and proper name. Hmm what else.

BTW this reminds me that I need to enhance my powergrep4 search and replace strings because I could easily do the name and terrain size properly already at that level, although it doesn't save much time but well at least it would skip the step of editing config.cpp separately.

Wrote a issue report about this.

Terrain builder imported heightmap.asc, it needed to have .prj file deleted first because terrain builder uses it and tries to put it to UTM 36N which is the real world ukraine kyiv coordinates.

Copied PMC Ukraine Yenky Terrain Processor TPP Template files into this projects dir, ran the forest TPP with hectare density 1 to verify it works, it did and then brough it back to 125 and then ran it to generate full set of forest tree objects.

Terrain processor generated 4.902 million objects. That is a nice number, whould have plenty of trees but still nowhere near as much which would create problems in terrain builder.

Then ran smooth_roads in terrain processor, it generated heightmap_smoothed_roads.asc file which I imported to terrain builder.

2022-02-27T15:34:00Z Did latitude/longitude config while last terra incognita section is downloading.

Then terrain builder imported obj_forest.lbt which is the 4.902 million tree objects for forest tree lines.

2022-02-27T16:24:00Z Terra incognita satellite imagery download completed. Alright now hectic editing continues Smiley :)

Created global mapper map catalogue for the downloaded oziexplorer .map tiles, then started to export satellite texture in 4 x 4 grid tiles. Now we wait again.

To keep things rolling I'm going to start the next terrain project in the mean time, editing two terrains at the same time. This wont be easy, it gets confusing and messy especially with dev diary video capturing, but gotta optimize time, when I edit without any dev diary stuff I routinely edit 2-3 terrains at the same time, its piece of cake. Dev diaries ain't no joke Smiley ;)

2022-02-27T17:17:00Z Started GIMP painting clouds off from satellite texture tiles.

Satellite tiles with clouds: A4, A1, B3, C3, C1, D3

2022-02-27T18:15:00Z Finished clone brushing clouds, hmm that went quite fast, of course its smaller terrain than previous ukraine ones but still, was pretty quick.

Busy busy busy ...

ArmA 3 PMC Ukraine Kyiv Screenshot

2022-02-27T18:26:00Z Terrain builder started to import satellite mask images.

Once done imported satellite texture tiles.

2022-02-27T19:08:00Z Terrain builder finished importing satellite texture. Started to generate layers right away.

2022-02-27T20:22:00Z And generate layers finished. Then started Convert Layers PNG to PAA Fast bat process.

Also edited the Separate Data Layers for smaller PBOs bat files for 03* range of layers file names.

2022-02-27T21:10:00Z Got WRP and data split, now I'm dead tired its time to call it a day.

Continue reading page 3, previous page 1 or back to Dev Diary PMC Ukraine Kyiv root page.

PMC Ukraine Kyiv: Changelog, Dev Diary, Screenshots. Back to PMC Terrain's page.