Sid Meier's Civilization VI

Sid Meier's Civilization VI

28 vurderinger
How To Transcribe A Satellite Image Into A Map Script
Af 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.
   
Pris
Føj til foretrukne
Gjort til foretrukken
Fjern som foretrukken
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.
25 kommentarer
blkbutterfly  [ophavsmand] 12. jan. 2022 kl. 10:31 
@eurritz Correct! :steamhappy:
eurritz 12. jan. 2022 kl. 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. jan. 2018 kl. 16:11 
Jaggers
blkbutterfly  [ophavsmand] 28. jan. 2018 kl. 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. jan. 2018 kl. 8:09 
Why the mocking emoji?
blkbutterfly  [ophavsmand] 28. jan. 2018 kl. 6:04 
@GermanGamer7 Actually you should ask 2K+Firaxis for such documentation cos you paid them for the game :steammocking:
PrimalReversion 27. jan. 2018 kl. 15:45 
By "make a mod" I mean add a new civ into the game, give it new units, etc.
blkbutterfly  [ophavsmand] 27. jan. 2018 kl. 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. jan. 2018 kl. 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  [ophavsmand] 24. jan. 2018 kl. 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