Sid Meier's Civilization VI

Sid Meier's Civilization VI

Ocen: 28
How To Transcribe A Satellite Image Into A Map Script
Autorstwa: blkbutterfly
A step-by-step guide to making your own internally randomised map like Australia in the Outback Tycoon scenario, from a satellite image or any other map.
   
Przyznaj nagrodę
Ulubione
Ulubione
Usuń z ulubionych
Prerequisites
You will need some understanding of the Lua programming language and basics of an image manipulation tool like GIMP.
Outline
All you need is to distinguish between land and water in an image in order to transcribe it onto a map script like Scrambled Australia. (It's basically the map from the Outback Tycoon scenario). No other information is necessary. Not hills, mountains, rivers or terrain.

Obtaining the land-strip data is ~75% of the work.

Afterwards you craft your landscape, which can be done by using as a template one or more of the maps from the Scrambled Maps Pack.
Choose An Image
As obvious as it may sound, this is the most important step, cos it's hard to come back here and start over if you selected an image of a map that is not clear enough, or is of the wrong area.

Choose the highest resolution image possible.

Also think very carefully of the geography you want.
Sharpen, Crop & Scale
Use a tool like GIMP to increase the contrast between land and water. Colorize. Fill and/or brush with paint.

Then crop the image to the geographic area you want.

Finally scale it down in pixels to the exact dimensions of the map size. i.e. pixel:hex 1:1.
(Don't be confused by Civ VI's hex grid. It is still described and modelled in a cartesian coordinate system).
Transcribe landStrip Data
This is the hardest (most laborious) part.

The random map scripts that produce a fixed land form use "land strip" data. Think of it like how old CRTs (cathode ray tubes) would render a picture. Line by line, left to right, top to bottom.

Each land strip vector consists of:

{y, xStart, xEnd}

For each "strip" of land on the map, you transcribe one of the above vectors. For example, consider the crude representation of a pixelated image ('X': a land tile):

0 0 0 X X 0 0 0
0 0 X X X X X 0
0 X X X X X 0 0
0 0 0 X X X 0 0

{0, 3, 4},
{1, 2, 6},
{2, 1, 5},
{3, 3, 5},

Note each row of the image may consist of more than one land-strip vector.
Interpretation
On occasion there may be a need to "interpret" the data. That is, the processed image may betray certain geographic features such as islands, lagoons and deltas. In such cases, you may have to contrive those necessary geographic features.

E.g: The Puttalam lagoon in Sri Lanka.
Pick A Template Script
Now pick a map script from any of the Scrambled maps that most fits your map and geography.

On a PC your subscribed mods can be found at
C:\Program Files (x86)\Steam\steamapps\workshop\content\289070

Place your land strip data into the landStrip array.

Set dimensions. Search for "width" and "height" and plug in your values. Set also the centre of the map in the vars g_CenterX and g_CenterY.
Build Map Mod
Now that you're done, see the guide How To Make A Map Mod on how to build & upload your map to the Steam Workshop.

Launch the FireTuner from the ModBuddy Tools menu to see the console output when generating a map to debug.
Komentarzy: 25
blkbutterfly  [autor] 12 stycznia 2022 o 10:31 
@eurritz Correct! :steamhappy:
eurritz 12 stycznia 2022 o 10:20 
just to clarify, lets say theres an image like this:

O X O O X O
O O O X X X

the landstrip vector would be: { 0, 1, 1}, {0, 4, 4}, {1, 3,5}?
Soggus 29 stycznia 2018 o 16:11 
Jaggers
blkbutterfly  [autor] 28 stycznia 2018 o 18:26 
@GermanGamer7 Ok. I'll think about writing some more guides for making other types of mods, but my "expertise" is definitely in map making. I'm learning more of scenarios too (cos they're based on maps).

But you are better off asking modders like JFD to produce a guide on how to make mods for civs and units, etc.
PrimalReversion 28 stycznia 2018 o 8:09 
Why the mocking emoji?
blkbutterfly  [autor] 28 stycznia 2018 o 6:04 
@GermanGamer7 Actually you should ask 2K+Firaxis for such documentation cos you paid them for the game :steammocking:
PrimalReversion 27 stycznia 2018 o 15:45 
By "make a mod" I mean add a new civ into the game, give it new units, etc.
blkbutterfly  [autor] 27 stycznia 2018 o 8:02 
@TheMuffinGamer See the subheading "Transcribe landStrip Data". It's got an example of land strip vectors. You don't need a photo of a text file :steammocking:
Muffin 25 stycznia 2018 o 16:15 
Could you post a photo of a txt file as an example, just so I can be sure I'm doing it right? It would be much appreciated.
blkbutterfly  [autor] 24 stycznia 2018 o 22:34 
@GermanGamer7 You can make a mod without knowing any coding. Not a map script though. Soz.

But a WorldBuilder map, yes. Or a mod that alters XML defaults, yes. You will still need to make yourself familiar with MS Visual Studio (Civ VI SDK) and XML