I'm trying to combine black forest, es@moats and es@canals. The idea is to force players into bottlenecked naval battles. Black forest has the choke points, canals has the restricted boat movement and I wanted to make the moats shallows so that it's easy to let villagers collect lumber. Here's what I've got so far:
image:
So far it's alright but there's a couple of problems:
Thanks for any help! :D
image:
Code:
/* ************ MOATS ************ */
/* 7 SEP 00 */
/* ENSEMBLE STUDIOS */
#include_drs random_map.def 54000
/* ****************************************************** */
<PLAYER_SETUP>
random_placement /* note this is only currently valid entry */
/* ****************************************************** */
<LAND_GENERATION>
base_terrain SHALLOW
create_player_lands
{
terrain_type GRASS
land_percent 5
base_size 7
other_zone_avoidance_distance 6
}
/* ****************************************************** */
<TERRAIN_GENERATION>
create_terrain FOREST
{
base_terrain SHALLOW
number_of_clumps 8
spacing_to_other_terrain_types 3
land_percent 100
}
/* PRIMARY FOREST */
/*
create_terrain FOREST
{
base_terrain GRASS2
spacing_to_other_terrain_types 5
land_percent 16
number_of_clumps 10
set_avoid_player_start_areas
set_scale_by_groups
}
/* PRIMARY PATCH */
create_terrain GRASS3
{
base_terrain GRASS
number_of_clumps 16
spacing_to_other_terrain_types 1
land_percent 4
set_scale_by_size
}
/* SECONDARY FOREST */
create_terrain FOREST
{
base_terrain GRASS2
spacing_to_other_terrain_types 3
land_percent 1
number_of_clumps 3
set_avoid_player_start_areas
set_scale_by_groups
}
/* SECONDARY PATCH */
create_terrain DIRT
{
base_terrain GRASS2
number_of_clumps 24
spacing_to_other_terrain_types 1
land_percent 2
set_scale_by_size
}
create_terrain GRASS
{
base_terrain GRASS2
number_of_clumps 12
spacing_to_other_terrain_types 1
land_percent 1
set_scale_by_size
}
create_terrain DIRT
{
base_terrain GRASS
number_of_clumps 12
spacing_to_other_terrain_types 1
land_percent 1
set_scale_by_size
}
/* TERTIARY PATCH */
create_terrain DIRT3
{
base_terrain GRASS2
number_of_clumps 30
spacing_to_other_terrain_types 1
land_percent 2
set_scale_by_size
}
*/
/* ****************************************************** */
<OBJECTS_GENERATION>
/* PLAYER START OBJECTS */
create_object TOWN_CENTER
{
set_place_for_every_player
group_placement_radius 1
min_distance_to_players 0
max_distance_to_players 0
}
create_object VILLAGER
{
set_place_for_every_player
min_distance_to_players 6
max_distance_to_players 6
}
create_object SCOUT
{
number_of_objects 1
set_place_for_every_player
min_distance_to_players 7
max_distance_to_players 9
}
create_object RELIC
{
number_of_objects 5
min_distance_to_players 25
temp_min_distance_group_placement 20
}
/* SPECIAL STUFF FOR REGICIDE */
if REGICIDE
create_object VILLAGER
{
number_of_objects 7
set_place_for_every_player
min_distance_to_players 6
max_distance_to_players 6
}
create_object KING
{
set_place_for_every_player
min_distance_to_players 6
max_distance_to_players 6
}
create_object CASTLE
{
set_place_for_every_player
min_distance_to_players 10
max_distance_to_players 10
}
endif
/* NEAR FORAGE */
create_object FORAGE
{
number_of_objects 6
group_placement_radius 3
set_tight_grouping
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 10
max_distance_to_players 12
min_distance_group_placement 6
}
/* NEAR GOLD */
create_object GOLD
{
number_of_objects 7
group_placement_radius 3
set_tight_grouping
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 12
max_distance_to_players 16
min_distance_group_placement 7
max_distance_to_other_zones 7
}
/* MEDIUM GOLD */
create_object GOLD
{
number_of_objects 4
group_placement_radius 3
set_tight_grouping
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 18
max_distance_to_players 26
min_distance_group_placement 7
max_distance_to_other_zones 7
}
/* FAR GOLD */
create_object GOLD
{
number_of_objects 4
group_placement_radius 3
set_tight_grouping
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 25
max_distance_to_players 35
min_distance_group_placement 7
max_distance_to_other_zones 7
}
/* NEAR STONE */
create_object STONE
{
number_of_objects 5
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 14
max_distance_to_players 18
min_distance_group_placement 7
max_distance_to_other_zones 7
}
/* FAR STONE */
create_object STONE
{
number_of_objects 4
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 20
max_distance_to_players 26
min_distance_group_placement 7
max_distance_to_other_zones 7
}
/* BAA BAA */
create_object SHEEP
{
number_of_objects 4
set_loose_grouping
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 10
max_distance_to_players 12
}
create_object SHEEP
{
number_of_objects 2
number_of_groups 2
set_loose_grouping
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 14
max_distance_to_players 30
}
create_object DEER
{
number_of_objects 6
group_variance 1
group_placement_radius 3
set_loose_grouping
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 14
max_distance_to_players 30
}
create_object BOAR
{
number_of_objects 1
set_loose_grouping
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 16
max_distance_to_players 22
}
create_object BOAR
{
number_of_objects 1
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 16
max_distance_to_players 22
}
create_object WOLF
{
number_of_objects 2
set_gaia_object_only
set_place_for_every_player
min_distance_group_placement 12
min_distance_to_players 30
max_distance_to_players 40
}
/* RESOURCES BY MAP */
if LARGE_MAP
create_object FORAGE
{
number_of_groups 1
number_of_objects 5
group_placement_radius 3
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
max_distance_to_players 120
min_distance_group_placement 7
}
endif
if HUGE_MAP
create_object FORAGE
{
number_of_groups 2
number_of_objects 5
group_placement_radius 3
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
max_distance_to_players 120
min_distance_group_placement 7
}
endif
if GIGANTIC_MAP
create_object FORAGE
{
number_of_groups 3
number_of_objects 5
group_placement_radius 3
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
max_distance_to_players 120
min_distance_group_placement 7
}
endif
/* EXTRA GOLD */
if TINY_MAP
create_object GOLD
{
number_of_groups 2
number_of_objects 3
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
min_distance_group_placement 9
}
endif
if SMALL_MAP
create_object GOLD
{
number_of_groups 2
number_of_objects 3
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
min_distance_group_placement 9
}
endif
if MEDIUM_MAP
create_object GOLD
{
number_of_groups 3
number_of_objects 3
group_variance 1
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
min_distance_group_placement 9
}
endif
if LARGE_MAP
create_object GOLD
{
number_of_groups 3
number_of_objects 3
group_variance 1
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
min_distance_group_placement 9
}
endif
if HUGE_MAP
create_object GOLD
{
number_of_groups 4
number_of_objects 4
group_variance 1
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
min_distance_group_placement 9
}
endif
if GIGANTIC_MAP
create_object GOLD
{
number_of_groups 5
number_of_objects 4
group_variance 1
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
min_distance_group_placement 9
}
endif
/* EXTRA STONE */
if TINY_MAP
create_object STONE
{
number_of_groups 1
number_of_objects 4
group_variance 1
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
min_distance_group_placement 9
}
endif
if SMALL_MAP
create_object STONE
{
number_of_groups 1
number_of_objects 4
group_variance 1
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
min_distance_group_placement 9
}
endif
if MEDIUM_MAP
create_object STONE
{
number_of_groups 2
number_of_objects 4
group_variance 1
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
min_distance_group_placement 9
}
endif
if LARGE_MAP
create_object STONE
{
number_of_groups 3
number_of_objects 4
group_variance 1
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
min_distance_group_placement 9
}
endif
if HUGE_MAP
create_object STONE
{
number_of_groups 4
number_of_objects 4
group_variance 1
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
min_distance_group_placement 9
}
endif
if GIGANTIC_MAP
create_object STONE
{
number_of_groups 5
number_of_objects 4
group_variance 1
group_placement_radius 2
set_tight_grouping
set_gaia_object_only
min_distance_to_players 40
min_distance_group_placement 9
}
endif
create_object OAKTREE
{
number_of_objects 2
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 4
max_distance_to_players 5
min_distance_group_placement 2
}
create_object OAKTREE
{
number_of_objects 3
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 6
max_distance_to_players 8
min_distance_group_placement 2
}
create_object HAWK
{
number_of_objects 6
set_scaling_to_map_size
}
create_object WOLF
{
number_of_groups 3
set_loose_grouping
start_random
percent_chance 75
number_of_objects 1
percent_chance 25
number_of_objects 2
end_random
set_scaling_to_map_size
set_gaia_object_only
min_distance_group_placement 12
min_distance_to_players 40
max_distance_to_players 120
}
create_object DEER
{
number_of_objects 6
number_of_groups 2
set_loose_grouping
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 35
min_distance_group_placement 5
}
create_object BOAR
{
number_of_objects 2
set_loose_grouping
set_gaia_object_only
set_place_for_every_player
min_distance_to_players 35
min_distance_group_placement 5
}
create_object OAKTREE
{
number_of_objects 20
set_gaia_object_only
set_scaling_to_map_size
min_distance_to_players 8
}
/* ****************************************************** */
<ELEVATION_GENERATION>
create_elevation 7
{
base_terrain MED_WATER
number_of_clumps 14
number_of_tiles 1200
set_scale_by_groups
set_scale_by_size
}
/* ****************************************************** */
<CONNECTION_GENERATION>
create_connect_all_players_land
{
replace_terrain MED_WATER GRASS
replace_terrain BEACH MED_WATER
replace_terrain FOREST MED_WATER
terrain_cost MED_WATER 2
terrain_cost BEACH 2
terrain_size MED_WATER 1 0
terrain_size BEACH 1 0
}
1. General blandness outside the base areas (A lack of fish, endless forest etc). This will be fixed once the more important matters have been attended to.
2. It's possible for land units to walk along the banks of the river to the other bases. This goes against the spirit of the map and I want to prevent it. In the map editor it's possible to place water that doesn't come surrounded by beach. This would prevent infantry and cavalry walking between bases. If anyone knows how to get access to this sort of water inside random map scripts I would be very grateful.
3. When more than three players are playing the river system can get literally ugly, with a vertical line of single squares of sand breaking immersion for example. I have a feeling that solving point 2 would fix this too.
4. I can't figure out how to make the players town centers start closer together/avoid the edge of the map. As you can see in the screenshot, all three players have their base areas touching the edge of the map. I really want to prevent this. I've examined es@shipwrecks but can't for the life of me work out how they changed the distance between the town centers. If I could just work out how to do that I could make them just close enough that it gets around this.
Thanks for any help! :D