Dev Diary PMC Ukraine Kherson ArmA 3 Terrain

This is dev diary for PMC Ukraine Kherson ArmA 3 real world data terrain by PMC.

We have been writing development or developer diaries to PMC Tactical Forums for two decades, these addon dev diaries are spread to many forum topics. One example PMC Tactical Forums: Vietnam: The Experience Neverending development diary 2007-10-13. On 2020 things changed in Farming Simulator 19 editing community when we started to write detailed dev diaries as web html pages because we had no forum, now in 2022 the same dev diary story telling continues in ofp/arma community.

These dev diaries are my current on the fly thoughts and emotions, if I feel shitty I will clearly state that. I try to avoid it but sometimes there might be hilarious profanity rants when things don't go exactly as I planned, so if you are "offended" by few curse words you probably should stop reading now Smiley ;)

Also these dev diaries are written to many addon projects and sometimes repeating the same lines of text or taking exact same screenshots feels stupid so there might be text just listing boring "I did XYZ and then ZYX" type of info without further details. And remember; this is NOT a tutorial, this is entertainment Smiley ;)

Time stamps are Universal Time Coordinated (UTC).

2022-03-01 Project Started

2022-03-01T05:27:00Z This page was created, terrain project started.

Right off the bat I ran into design issue, 81.9km terrain was too large, city of Mykolaiv was in the NW direction and I could have squeezed both of the cities into 81.9km terrain but they would have been in NW and SE corners, this would have resulted into very bad arma3 gaming experience because ArmA 3 Floating Point Precision would have been bad on those corners and overall mission design, hell design in general would have been simply bad.

So I decided to split both kherson and mykolaiv terrains into individual 40km terrains, compact excellent game-play size terrain, its the bare minimum of "large" terrain even though its a small, smallest I would ever do. Also can get two terrains done, more focused mission / campaign making opportunities.

2022-03-01T05:58:00Z Global Mapper project file created, user created feature grid locked into place, KMZ exported, Terra Incognita single download part started.

PMC Ukraine Kherson ArmA 3 Screenshot

As terra incognita was downloading, I switched to edit another ukraine terrain, to optimize time use.

2022-03-01T08:25:00Z Terra incognita finished downloading.

2022-03-05 Global Mapper Editing

2022-03-05T18:17:00Z New editing day has started, just finished editing PMC Ukraine Mykolaiv and pboProject is running, so now continuing editing PMC Ukraine Kherson.

Continued by global mapper loading OpenStreetMap (OSM) shape files.

Cropped them and noticed roads are already below 9000 mark, but I still went and removed residential, footway, cycleway etc non arma3 usable roads FCLASS types but not all in my list, just the most offending ones. Road features dropped down to something like 4000 or so.

Then exported cropped_ shape files and calculated ASCII Grid heightmap.asc header coordinates for Terrain Builder 200,000/0 style.

2022-03-05T18:42:00Z Finished global mapper OSM shape (file) work, all shape files good to go for terrain builder or arma3.

Then assigned RGB colors for OSM areas.

2022-03-05T18:56:00Z Finished that boring repetitive RGB assigning. Then started to export satellite mask in 4 x 4 grid tiles.

2022-03-05T19:12:00Z Started global mapper exporting satellite texture and then it was my lunch break.

2022-03-05T19:42:00Z Feeding time over and so is the global mapper export.

Then started to GIMP clone stamp brush paint clouds puffs off.

Satellite texture tiles with clouds: A4, A3, B4, B3, C4, D3, D1

Satellite texture tiles with river: B4, B3, A4, D2, D1, C4, C3, C2, C1

2022-03-05T20:53:00Z Finished GIMP cloud work.

Then used GraphicsMagick and ran Darken Merge Picturemap Satellite Texture Tiles setup, which is in my case _run_graphicsmagick_darken_and_picturemap_tiles_4x4_green.bat to get satellite texture ready for terrain builder.

2022-03-05T21:24:00Z Satellite texture/mask imported to terrain builder and airfield_runways shapes layer created with the poly line for this terrains only airfield.

Then used L3DT to import heightmap.asc and L3DT_texture_map.png, then using 3d sapphire and heightmap tools I smoothed the only airfield. Exported heightmap.asc out again.

2022-03-05T21:32:00Z Terrain builder started to generate layers.

Then merged airfield_runways.shp and roads.shp in global mapper. Used global mapper to create latitude/longitude config.cpp values.

Generate layers finished, then ran Convert Layers PNG to PAA Fast bat and Separate Data Layers for smaller PBOs bat. Re-pathed layer RVMATs.

2022-03-05T22:19:00Z Started pboProject binarizing (PMC Editing Wiki: search "binarize"). We are done here Smiley :)

2022-03-30 The Return

2022-03-30T08:57:00Z New editing day has started. Yesterday released first taiwan terrain PMC Taiwan Chiayi and today we get back to ukraine again, kherson is next on the line.

As usual when returning to a terrain project I'm going to re-read this dev diary to catch up on every little detail I did previously, after that its arma3 in-game check to verify all addons are working as expected.

(after reading this whole dev diary through): Wow that was a short one heh. No mentioning about objects, hmm must have forgotten to write it then as I surely did vegetation already. Anyways things have changed since I created this terrain and now I have better CUP chernarus Terrain Processor TPP Templates files setup which I'm going to use to create new objects.

But first, the arma3 in-game check.

When I saw the 2D mapview I could immediately tell this is heightmap ocean coastline or dnieper river is a nightmare as a lot of the land is flooded in arma3 0m water level universe. Checked the elevations and flooded areas are all 0m, usual SRTM heightmap data.

Satellite texture has not been painted into dnieper river.

PMC Ukraine Kherson ArmA 3 Screenshot

I was really baffled when I took a look in global mapper Ukraine_Kherson_40km/ directory, it had all the Roads/ and TerrainProcessor/ dirs there along with heightmap.asc, picturemap_ca.tga etc images. I don't get it, all of this should have been moved to terrain builder dir many many tool pipeline steps ago, huh what gives Smiley :o

Also I did paint clouds off, but just didn't paint the dnieper river ocean seabed bottom. No previous dev diary mention of it but I recall it looked so complex so decided to skip it. Well here we are, cant skip it anymore as release is getting closer.

First big thing to fix is the heightmap, I'm going to clip all the elevations 0m or below to 1m, this will remove water creeping into land flooded areas... hmm or wait, I have to create the satellite texture ocean coastline selection first.

These are the currently GIMP painted satellite texture tiles with clouds clone stamp tool brushed off:


2022-03-30T09:46:00Z Begin loading satellite texture tiles into GIMP, will do selections for all dnieper river ocean coastline areas now and save Sat_Mask_*.xcf images as well.

After the first river tile was done... I already felt like stressed out, this will be a bitch to do all those river ocean coastline selections. Its pain if you do the accurately meaning zoomed well in, if you do them sloppy its easier and faster, but it also looks like shit in arma3 then as well.

But I'm going to slowly, without stressing, do one tile at the time, stopping immediately if it feels like "this sucks" heh, no pressure, no hurry, one tile at the time... Smiley :)

2022-03-30T12:31:00Z Had to take a break, feeling that boredom burnout coming up again badly. GIMP selecting these ocean coastlines (dnieper river edges) is just a struggle right now. Doing slow progress one tile at the time, it is truly a uphill battle.

2022-03-30T13:02:00Z Oh well didn't really take break other than lunch break heh, just finished dnieper river shore lines for sat_C1.png tile.

2022-03-30T15:20:00Z Been slowly editing the dnieper river, then had an hour break as one of the PMC members called me, we had a good talk. Now back and just started graphicsmagick to process the satellite texture tile PNGs to BMPs.

Looking at the combined satellite texture image shows dnieper river very nicely painted with ocean bottom seabed texture.

2022-03-31 The Depths of Heightmap

2022-03-31T07:15:00Z New editing day has started. Yesterday ran out of motivation again and at least last quarter of the day was just spent idling and reading Ukraine war news etc.

Todays plan is to fix the terrible looking heightmap ocean 0m elevations, including patching in the actual GIMP painted dnieper river depth. This includes importing new satellite texture/mask of course. If all that goes well, then generate new vegetation objects and import them. If all of the above is done, who knows maybe Kherson is ready for release today.

But just after writing the above ran into some Linux issue, I got PMC web hosting Linux server upgraded today and rTorrent is again seeding torrents as usual. Just ran into issue of MySQL running out of ram which I got sorted out.

2022-03-31T07:58:00Z Alright NOW we begin todays arma3 addon editing session Smiley :)

For the first time I GIMP opened Sat_Mask_*.XCF image which was painted to simple two colors, ocean seabed bottom and grass (I think) mask colors, then copy pasted the water aka ocean seabed bottom color into my actual satellite mask tile PNG image. Reason to merge them like this is the XCF has only single color (grass?) for rest of the area while water is carefully selected coastline. I needed to do this for each GIMP painted coastline mask tile. Hopefully in the future I could come up with some more automated way, hmm maybe ImageMagick XCF something... we'll see.

After got the XCF mask tiles merged and saved to PNG, then ran graphicsmagick mask tile convert bat. This is _run_graphicsmagick_convert_Sat_Mask_PNG_to_BMP_with_white_fix_4x4.bat filename. Then ran the other one, for satellite textures, _run_graphicsmagick_darken_and_picturemap_tiles_4x4_green.bat filename and finally did the L3DT_texture_map.png converting with _run_graphicsmagick_l3dt_8192_texture_map_tiles_4x4.bat filename as well.

Enuff with the fucking file names Smiley :D

I did ran the satellite texture bat yesterday, but cant recall if I still edited some tiles after that so no big deal re-running the graphicsmagic bat now, just to be sure. Nuke from the orbit, only way to be sure...

Then created global mapper map catalog for the Sat_Mask_??.png images. Then did the long winded create area-something out of images.

PMC Ukraine Kherson ArmA 3 Screenshot

And more ...

PMC Ukraine Kherson ArmA 3 Screenshot

2022-03-31T08:53:00Z Then leaped forward big time again. Got the final heightmap.asc done, imported it to L3DT and leveled the airfield runways, yes again because this is now a brand new heightmap with the proper dnieper water elevations fixed. Then copied latest Terrain Processor TPP template files for that cool CUP chernarus forest with bushes and rocks. Started terrain processor while I added Ukraine war startDate to config.cpp file.

Terrain processor finished, generated 1,336,571 objects total.

PMC Ukraine Kherson ArmA 3 Screenshot

Not much, but guess its 40km terrain with very thin forest tree line coverage, so yeah. Hey, at least it was over a million Smiley ;)

Then deleted objects layer file, loaded pmc_ukraine_kherson terrain builder project up, deleted all raster layers for satellite mask and texture, imported new heightmap and went to mapframe properties ... when I realized that uh oh! p:\pmc\ is symlinked to TAIWAN terrains, yikes! Smiley :o

Well I switched the symlinks to Ukraine once again and went to mapframe properties again and now it was all OK, rebuilt terrain, saved project and restarted terrain builder, just in case.

2022-03-31T09:16:00Z Started terrain builder import satellite mask.

2022-03-31T09:20:00Z Finished importing mask, heh that was fast, these cute little 40km terrains Smiley :p

PMC Ukraine Kherson ArmA 3 Screenshot

2022-03-31T09:27:00Z After importing satellite texture, terrain builder started importing new vegetation objects.

2022-03-31T09:38:00Z Terrain builder started generate layers. Getting it done.

2022-03-31T10:11:00Z Finished generating layers.

Used convert layers PNG to PAA fast bat to convert some imagery.

Then (just in case) did the roads.shp saving, this dev diary says nothing about it and I had bugs/issue report about it, but I think it got done yesterday already, oh well now for sure its done.

Also noticed that RoadsLib.cfg was not symlinked, who knows maybe this was the issue with the roads in-game test heh.

Then ran all the WRP and Data separating stuff, moveObject re-pathing layers RVMATs etc.

2022-03-31T10:25:00Z Started pboProject binarizing, almost done.

2022-03-31T10:38:00Z And done, yeah time for arma3 in-game test...

Unfortunately I messed one step up on the ocean bottom seabed heightmap editing process, all the flooded areas water creeping to land is still there, nothing really changed. Hmm I need to debug what went wrong in the initial tool pipeline I came up with just day or so ago.

PMC Ukraine Kherson ArmA 3 Screenshot

A little bit bummed out about this kind of feeling like aww, blah, I'm off to do something more interesting Smiley :)

2022-04-01 Ocean Bottom Heightmap

2022-04-01T08:26:00Z New editing day has started, oh hey we started a whole new month. Yesterday after that somewhat extensive heightmap work to fix water creeping to land issue and dnieper river, editing ended as I was so disappointed when it didn't work. Analyzing my work later in the day shows that one step was done wrong, where 0m to 1m should have followed I stupidly used -1.25m value which is why water is still there. Well that is easy to fix, just needs to jump through all the hoops on that ocean bottom heightmap tool pipeline.

That is todays plan, fix the ocean bottom heightmap.

So did the whole long cumbersome tool pipeline to fix heightmap water creeping on land and adding dnieper river depth, same as yesterday except I didn't make a mistake today Smiley ;)

Finally got heightmap into terrain builder.

PMC Ukraine Kherson ArmA 3 Screenshot

2022-04-01T09:01:00Z Finished in terrain builder and started pboProject binarization. Crossing fingers this would work...

Checked it in arma3 in-game and no more water creeping into land! Whohoo! Smiley :)

But discovered kind of hilarious bug.

PMC Ukraine Kherson ArmA 3 Screenshot

Heh damn sea weeds stick out of the water haha!

PMC Ukraine Kherson ArmA 3 Screenshot

But hey at least my satellite mask PMC_Terrain_Data\source\layers.cfg RGB values work.

Dnieper river now looks like a river, no water creeping into land on the river banks.

PMC Ukraine Kherson ArmA 3 Screenshot PMC Ukraine Kherson ArmA 3 Screenshot

In the below image nevermind the top/north most river parts being not under water, its just arma3 LOW video settings LOD issue. GIMP painted ocean coastlines (river in this case) turned out pretty accurate and decent looking in-game.

PMC Ukraine Kherson ArmA 3 Screenshot

Here is the top/north most river in the NE corner, no issue there.

PMC Ukraine Kherson ArmA 3 Screenshot

This is lazyness or well mood that this river doesn't need to be painted now. Well I knew it would look bad in-game but have to admit, had no idea it would look THIS bad.

PMC Ukraine Kherson ArmA 3 Screenshot

Game-play wise such unpainted GIMP coastline is not a big issue, nobody would sail a boat there, but yeah it does look pretty awful. And lazyness continues, I am definitely not going back and paint those left out river areas now as it would mean hours and hours of work and waiting. Sorry but this is as good as it gets right now. There is always the next upgrade.

But yeah I decided now that the next coastline I'm painting, it all or nothing, whats the point of painting most if you leave such eye sore in there. Or dunno, at least to me unpainted coastline in the above screenshot looks real bad.

2022-04-01T12:53:00Z Heh did the in-game test, then wanted to "quickly" check what FPS arma3 gives without Open Broadcaster Software (OBS) running on my current hardware setup on dedicated server... and got lost in PMC Rugen when playing on PMC Terrorist Path Deluxe (Rugen) mission Smiley ;)

And now its lunch time, also I got excited about fixing few things on that mission and try it again, so hopefully that wont ruin terrain editing day completely Smiley :)

spoiler: what do you think...

2022-04-03 Initial Release Day

2022-04-03T12:03:00Z New editing day has started. Well yeah the previous kherson editing day ended quickly with that mission editing/playing sidetrack and yesterday I mostly did the same but also wasted time just by watching TV, was one of those days when editing just did not get started.

Last night slept whopping 8hrs 20min and now feel superb, excited about getting kherson released! Smiley :)

Yeah I'm not pussying around making excuses that "maybe if" everything goes well we "might get" a release, bullshit, today we go motherfucker! I have zero doubt in my mind that kherson wouldn't be released today, only thing in my mind is... which terrain do I edit next Smiley :D

Anyways, time to get to work.

Was thinking about the only remaining issue on kherson and that is the -1.25m ocean water depth not being deep enough that the satellite mask clutter will stick out of the water heh, that's hilarious btw. I can easily fix that just with text editor to open heightmap.asc file and replace all -1.25 values (or maybe its -1.250) dunno, with whatever depth I want to set them to. Now I'm thinking maybe -2.01m might be a good value.

The reason I want it to be really shallow is that if you add some crazy number like -50m then its the deep dark blue ocean but in the coastline there is huge canyon drop from whichever above 0m elevation it was into -50m, yeah you don't want that.

Opened heightmap_smoothed_roads.asc in EditPadPro and saw that these values in straight up text file are -1.250000 oh hmm, looks like terrain processor adds those stupid zeroes in the end, heh. So I mass replaced those values to -2.01 where the .01 removes the stupid new arma3 grid 2d mapview anomaly.

Used terrain builder to import the -2.01 edited heightmap, rebuilt terrain, exported WRP, saved and closed project. Then moveObject re-path WRP file and started pboProject binarization, lets get this biatch to arma3 in-game and see if the sea weeds are under water now and how the coastline looks (although I doubt much changes there).

I'm really hoping nothing else shows up in-game to ruin my great day, if the depths are OK then I'm going to start taking screenshots for the web pages right away on this in-game checking session, there is nothing more to do here for this terrain.

The release process also pisses me off, it takes way too long. I am way too cautious and careful when doing these releases, I'm putting so much effort and care into the release package, web pages, screenshots, text content, news and PMC Tactical forum post etc that it just takes forever. Also big part of that is me being chickenshit and proof reading that stuff million times before having the guts to press the evil big red button to release Smiley :)

I want to get releases done and not fine tune every little nuance forever.

Feels like I've been doing these 2022 arma3 terrain releases for weeks now, I mean the actual release process not talking about editing. All the taiwan, poland and africa plus couple of other terrains I have release ready all they need is final check and then the web page work.

At least today I am cutting back all the unnecessary chickenshit double or more proof reading passes, if there are mistakes then fuck it I'll fix them when they are discovered, it ain't rocket science or life threatening situation, its a fucking arma3 addon release Smiley :)


Now I also have my "seedbox" rTorrent back up and running for torrent seeding so download speeds will be over 10mb/s for users who know how to configure their torrent client.

Will be a great release today.

Hmm wonder if I could squeeze out another terrain today as well, I'm thinking the next one after this will be one of the poland terrains. Those two polish terrains are good because there are no water and they are already using great terrain processor TPP setup for enoch/livonia vegetation objects so I cant think of what editing fixes they would need. But then again it was LAST YEAR since I checked those in-game the last time so who knows in what condition they actually are.

Anyways what the hell am I sitting here for writing this bullshit dev diary when binarize is running as I could be already creating the actual web pages for kherson! Smiley ;)

2022-04-03T12:32:00Z Binarization finished and I'm still writing a new BAT file to copy my web page template PHP files for a brand new terrain web pages Smiley ;)

*** pmc ukraine_kherson
Start time: 2022-04-03T1217
pboproject pmc_ukraine_kherson_data_layers_04
pboproject pmc_ukraine_kherson_data_layers_03
pboproject pmc_ukraine_kherson_data_layers_02
pboproject pmc_ukraine_kherson_data_layers_01
pboproject pmc_ukraine_kherson_data_layers_00
pboproject pmc_ukraine_kherson_data_layers
pboproject pmc_ukraine_kherson_data
pboproject pmc_ukraine_kherson_cfg
pboproject pmc_ukraine_kherson
End time: 2022-04-03T1232

Took my release procedure and created temporary list which I'm starting to systematically go through not to forget anything. As said above, trying not to waste any time.

Added pmc_ukraine_kherson terrain class name into PMC "worldSize" mission pack terrains list and compiled those missions. PMC no addon releases without mission pack policy applies.

Updated mod.cpp google/maps link to better "elevation" and checked that homepage link is correct, it was.

Then on the release procedure list, it was time to check the coastline in-game arma3. So I restored arma3 user profile ULTRA file with my C:\armap\arma3\_run_activate_ULTRA_settings.bat file, then configured steamshit client to take screenshots with F12 key. Yes I know I know steamshit client sucks but currently I don't have time to waste by print screen taking the screenshots and ALT-TABbing into GIMP to copy-paste the image there, then saving etc, just because nvidia GTX TITAN X might crash the drivers due hardware issue (long story heh). Not sure why my regular utility, greenshot, wont capture arma3 game window. I hate using that steamshit client but, it just works so lets get it done.

2022-04-03T12:52:00Z Screenshots taken, shut down arma3.

Then moved over the web PHP page files and mass replaced text strings to make them, err proper. Next just need to add the actual information content there.

2022-04-03T13:42:00Z Web page screenshots sorted, renamed, edited and converted. This includes dev diary screenshots as well as the new arma3 ones I just took previously.

Now begins filling of the actual information content on these web pages, including preliminary proof reading, oh no wait no prelim bullshit, I read it once through and that is enough heh.

2022-04-03T13:55:00Z Finished main, screenshots and changelog web pages, next is to move this dev diary text from localhost into the actual web page and continue writing it there.

2022-04-03T14:08:00Z Finished preliminary overview look on this page, thumbnail images appear and formatting is OK, it is all OK Smiley :)

Next comes one of the longest and painstaking things when publishing new web pages... proof reading and adding links to dev diary pages. Oh man this is going to take a while and my copy-paste finger is already running out the door ... Smiley ;)

Uuh done proof reading and link adding, my copy-paste fingaz are screaming in agony, but ah the page looks so good now Smiley :)

Found a bug in my release procedure list, smiley images in these dev diaries need to be patched in BEFORE adding PMC Editing Wiki links. On every step forward you learn new skills or at least gain experience, this experience makes your next editing session that much easier.

That's how we roll...

Alright time to start the "going live" release producedure, the final steps, the actual release making like torrent and news/forum posts.

2022-04-03T15:50:00Z PMC Ukraine Kherson v0.1 has been released! Smiley :cool:

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