Coastal Valleys

cassembler

typically in screensaver mode
Joined
Dec 17, 2001
Messages
234
Location
Texas
From the maker of Thin Brown Roads for Civ 3, which touched the lives of over 7,000 gamers, comes a new map script that focuses on strategic combat situations.

Coastal Valleys features continents spiked with hills and mountains, separated by winding channels of water. The end results can be seen in the conveniently located "Screenshots" section.

SCREENSHOTS

Variety of Landmasses!!!
Players can control channel width and continent shape


Strategic Chokepoints!!!
Control essential waterways with city placement and cultural borders


Usable Polar Caps!!!
Players can find the 'back route' to their target victims


Terain Mix for Awesome Combat!!!
You'll have to use your imagination on this one...


MAP OPTIONS:
  • Channel Width: Determines, on average, how wide or narrow the water channels are that divide the landmasses.
  • Coastlines: Determines how erratic the coastlines are, from 'predictable' to 'squirrely'
  • Terrain Mix: Allows players to use a default terrain mix, or generate 'better' terrain mixes with less desert, tundra, and snow.
  • Rainfall: The usual setting, adjusts forest and jungle density

GAMEPLAY COMMENTS:
  • Obviously, this is part archipelago, part continents. Adjust strategy accordingly.
  • The "Enhanced" and "Glorious" terrain settings will provide more generous terrain across the board, which is exactly why the default is the "Civ V Default" terrain mix.
  • Works with standard map sizes, and tends to have a higher land to water ratio than normal.

TECHNICAL COMMENTS:
  • Tested mostly in map generator, with several hundred iterations with various settings
  • Gameplay testing was minimal- please provide feedback on any balance issues or bugs
  • I'm a consultant, not a programmer. The code here is inefficient at best, and I'm not expecting a Nobel Peace Prize for computer science.

Download v1.0 (11/24/2010):View attachment Coastal Valleys.zip
Installation: Unzip the file and copy 'Coastal Valleys.lua' into your "..\Sid Meier's Civilization V\Assets\Maps" folder.
 

Attachments

  • CoastalValleys_Small.jpg
    CoastalValleys_Small.jpg
    299.7 KB · Views: 6,009
  • CoastalValleys_Naval Strategic Points.jpg
    CoastalValleys_Naval Strategic Points.jpg
    99.9 KB · Views: 5,853
  • CoastalValleys_Usable Polar Regions.jpg
    CoastalValleys_Usable Polar Regions.jpg
    87.7 KB · Views: 5,781
  • CoastalValleys-CombatTerrain.jpg
    CoastalValleys-CombatTerrain.jpg
    101.3 KB · Views: 5,920
CURRENT WISHLIST, in priority:
  • Force coastal starting positions for all players
  • Add option to adjust land to water ratio, probably by moving the map borders inwards
  • Match the North Pole to the South Pole (it's typically smaller)
  • Update the code comments for readability
  • Generate custom features that keep forests and jungles closer to the central hillside of continents, and push the plains and marshes towards the coast
  • Generate a custom river script that has rivers starting from the mountains into the oceans, and less traveling continent-wide
  • Allow for more landmass variety, instead of mostly vertical landmasses.

EDIT: ETA for next version- Depends on if anyone is playing this... let me know what you'd like to see.
 
I have to give you a lot of credit. Most first-time scripters usually look for something they like and edit it to their tastes, or build something adopting its general structure. Rhineland was originally based on Highlands, though over time the original script has been completely replaced. You went ahead and did it your own way. And for not using a fractal the results look very good. Actually, it reminds a lot of some of the maps generated in SMAC.

The scalability in particular of this map interests me. Since you're not using Firaxis' fractal generator, you should be able to make square maps without the compression effect. That's something I've wanted to do for a long time.

Encouraging civs to start on the coast should (I say should because I haven't actually tested it) be easy. If you go in to your script and find the function StartPlotSystem(), you'll find it calls a function named ChooseLocations. Pass to this the argument that "mustBeCoast" is true, and Sirian's excellent script should take it from there.

Code:
local args = {mustBeCoast = true}
start_plot_database:ChooseLocations(args)

If you want more precise placement, every thing you need to know is in AssignStartingPlots.lua. It's a mammoth file, I'm a mite intimidated by it myself, but there's a lot of good script in there that's worth looking at.

I also like how you included an option to give fine control over terrain allocation. The idea makes me think back on MoO2, when you could choose between a predominantly "production" or "food" oriented map. I think I will adopt such a mechanism, giving players the option to choose whether they want terrain with a lot of hammers (plains and hills) or food (grassland).
 
I have to give you a lot of credit. Most first-time scripters usually look for something they like and edit it to their tastes, or build something adopting its general structure.

I tried that approach, but it was hard for my Pascal-trained brain to handle tables that were 'a-z' instead of 'x,y'. That said, the Rhineland script was also always open to reference "I wonder how ColBashar did that..."

Encouraging civs to start on the coast should (I say should because I haven't actually tested it) be easy. If you go in to your script and find the function StartPlotSystem(), you'll find it calls a function named ChooseLocations. Pass to this the argument that "mustBeCoast" is true, and Sirian's excellent script should take it from there.

Code:
local args = {mustBeCoast = true}
start_plot_database:ChooseLocations(args)

Will add, thanks! I just think it's fair on this particular script.

I also like how you included an option to give fine control over terrain allocation.

Well, I wasn't a huge fan of the climate setting as-is, and I was inspired by how you just flat-out gave us better taerrain.

Thanks for the feedback. I'm working on actual playtesting now, specifically mid and late-game stuff. Already learned quite a bit.
 
Hi,
if I used this script for a multiplayer hotseat game on GMR.. would they all need to download the map and put it in their folder, or can I just create the map.. create the game.. and they'll get it in the save file when they load it?
 
Anyone know the answer to my question? I would love to be able to play this on GMR, but I don't want to have 8 people join to play and find out they all have to download this script.
 
Top Bottom