thamis
King of Kish
- Joined
- Jan 21, 2002
- Messages
- 1,583
Hello all!
Please note that a lot of things I mentioned in here can be done much quicker and easier in VIM. I've written a little tutorial on how to remove TeamReveals, Units, and Cities from the map with a few keystrokes. Read it here. This article is still valid, but you can do some of the procedures much quicker with VIM.
I wrote a little article on how to make maps for mods without messing everything up in WorldBuilder (or how to fix the WorldBuilder messups). It's attached as formatted PDF, and posted in plain text here:
Map Making for Mods: The Non-Messy Version
Introduction
Ok, so you've been making maps in WorldBuilder (WB). It all works nicely, but WB can really mess up your maps. Firstly, WB writes all the civilization info in plain text into the map. Like that for example:
The problem with that is that it's not only too much info, but this info overrides the info that you have in your CivilizationInfos.xml that you are using in your mod. So if you change the colour of Babylon to yellow in your XML, it will still show up as green on this map, because the map says so. WB also messes with your game settings, such as turn limits and mod paths. Like this:
The problem here is that it added a turn limit (which will stay the same for all game speeds) and also removed your mod folder info, which means that players can no longer double-click the map file to launch the mod. WB also puts TeamReveal tags into individual plots, just because when placing units, this plot was once revealed. For example:
This means that this plot is always going to be revealed to that player, even if you didn't want that.
The Tools You Need
I would recommend making the map using the BMP/WBS Converter. How to use that has been covered elsewhere. The problem with BMP/WBS is that it cannot place your mod's custom resources, like Timber for example. Best thing is to create the general outline of your map with BMP/WBS.
Then continue to make the details of your map with MapView. This tool is very good for placing mountains, hills, forests, rivers, etc... The problem with MapView is that it also cannot place your custom resources. Its advantage is that you can click on a plot and see the PlotInfo, which lets you copy the map coordinates in order to find them in the text -- more about that later. (Tip: To zoom in and out, hold the right mouse button and move your mouse up and down, to scroll hold the left mouse button and move the mouse.)
To set up the scenario, which includes the GameInfo, TeamInfo, and PlayerInfo, use either Windows' Wordpad or Notepad. I find using more advanted text editors such as Macromedia Dreamweaver or Adobe GoLive very useful because they offer multiple-line find&replace options. I will be using Wordpad as my tex editing program, but you can use whatever you want.
Get Your Hands Dirty
Ok, so you created your map in BMP/WBS Converter and you fleshed it out in MapView. You now have a clean map that has no civilization infos and no custom resources. Now we have to get our hands dirty. Open the map file in Wordpad. Add in two civilizations (and no more than two). You'll add the rest later. Go into MapView and find starting locations for them, somewhere in the desert maybe, and get the coordinates. We'll change that later. Change the beginning of the file to look something like this (but put in your custom civs with their custom tags):
Ok, so now we have two civilizations set up that start next to each other. Make a copy of this file and double-click the copy to launch CIV, load the mod, and load the map. Once you're in, start WorldBuilder (CRTL+W) and place all your custom resources. Do not place any civilizations or any units. When you're done, save the file, let's call it WBEDITMAP.
Open WBEDITMAP in Wordpad. Now we need to clean up the stuff that WB put in. Firstly, we look for the units that WB saved with the map, as we want to have a clean map that places the starting units the way we specified it in our mod XML. In Wordpad, seach (CRTL+F) for “BeginUnit”. You will find something like this:
Delete all of that. Search for BeginUnit again, and repeat the procedure until all these tags are gone. Just to make sure, also search for BeginCity, and remove anything that looks like this:
Ok, now all units and cities are gone. The problem is that WB now also wrote TeamReveal infos into the map. You have to options: Search for “TeamReveal” and delete all lines that have TeamReveal info, or you can do a replace all (but not with Wordpad or Notepad, because you need to replace two lines). If you use Dreamweaver or another program that can search for and replace multiple lines, then search for this:
And replace it with:
Now repeat that for TeamReveal=1 and so on. Make sure there is no TeamReveal left.
Make sure that you take the line break BEFORE TeamReveal into the search and replace, because otherwise the program will draw the EndPlot line up and mess up the map. Best to make a safety copy of the map before you do any replace all actions on it.
Ok, now we're almost done. Lastly, you need to add the civilization infos in. You will notice that WB messed up your GameInfo and PlayerInfo... Replace it with nice and clean map and player info, such as this:
You will need the coordinates of the starting locations for your civilizations. Open MapView and click the plots that you want civs to start in. The program gives you the coordinates. Put these coordinates into the appropriate place:
Ok, done! The map is ready for action.
Later Changes
The map is done, but maybe you need to add a few custom resources? No problem. Unless it's a lot of them, you don't need WB. Open MapView, find the coordinates of the plot you want to put the resources. In the CurrentTile tab on top, you will find the coordinates of that plot, like this:
Copy that text, go into Wordpad, click find (CRTL+F) and paste it as a search string. You'll end up in that plot in the text. Then you can change it, and add a bonus resource for example, like this:
This should help I hope.
Please note that a lot of things I mentioned in here can be done much quicker and easier in VIM. I've written a little tutorial on how to remove TeamReveals, Units, and Cities from the map with a few keystrokes. Read it here. This article is still valid, but you can do some of the procedures much quicker with VIM.
I wrote a little article on how to make maps for mods without messing everything up in WorldBuilder (or how to fix the WorldBuilder messups). It's attached as formatted PDF, and posted in plain text here:
Map Making for Mods: The Non-Messy Version
Introduction
Ok, so you've been making maps in WorldBuilder (WB). It all works nicely, but WB can really mess up your maps. Firstly, WB writes all the civilization info in plain text into the map. Like that for example:
Code:
BeginPlayer
Team=0
LeaderType=LEADER_BABYLON
LeaderName=Hammurabi
CivDesc=Babylonian Empire
CivShortDesc=Babylon
CivAdjective=Babylonian
FlagDecal=Art/Interface/TeamColor/FlagDECAL_Lamassu.dds
WhiteFlag=0
CivType=CIVILIZATION_BABYLON
Color=PLAYERCOLOR_DARK_GREEN
ArtStyle=ARTSTYLE_MIDDLE_EAST
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StateReligion=
StartingEra=ERA_ANCIENT
CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_CHIEFDOM
CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
Handicap=HANDICAP_NOBLE
EndPlayer
The problem with that is that it's not only too much info, but this info overrides the info that you have in your CivilizationInfos.xml that you are using in your mod. So if you change the colour of Babylon to yellow in your XML, it will still show up as green on this map, because the map says so. WB also messes with your game settings, such as turn limits and mod paths. Like this:
Code:
BeginGame
Era=ERA_ANCIENT
Speed=GAMESPEED_NORMAL
Calendar=CALENDAR_DEFAULT
Option=GAMEOPTION_RAGING_BARBARIANS
Option=GAMEOPTION_AGGRESSIVE_AI
Victory=VICTORY_TIME
Victory=VICTORY_CONQUEST
Victory=VICTORY_DOMINATION
Victory=VICTORY_CULTURAL
Victory=VICTORY_DIPLOMATIC
GameTurn=0
MaxTurns=460
MaxCityElimination=0
TargetScore=0
StartYear=-5500
Description=Mediterranean map for TAM: 55x28, 9 civs
ModPath=Mods\The Ancient Mediterranean
EndGame
The problem here is that it added a turn limit (which will stay the same for all game speeds) and also removed your mod folder info, which means that players can no longer double-click the map file to launch the mod. WB also puts TeamReveal tags into individual plots, just because when placing units, this plot was once revealed. For example:
Code:
BeginPlot
x=0,y=23
TerrainType=TERRAIN_DESERT
PlotType=2
TeamReveal=10,
EndPlot
This means that this plot is always going to be revealed to that player, even if you didn't want that.
The Tools You Need
I would recommend making the map using the BMP/WBS Converter. How to use that has been covered elsewhere. The problem with BMP/WBS is that it cannot place your mod's custom resources, like Timber for example. Best thing is to create the general outline of your map with BMP/WBS.
Then continue to make the details of your map with MapView. This tool is very good for placing mountains, hills, forests, rivers, etc... The problem with MapView is that it also cannot place your custom resources. Its advantage is that you can click on a plot and see the PlotInfo, which lets you copy the map coordinates in order to find them in the text -- more about that later. (Tip: To zoom in and out, hold the right mouse button and move your mouse up and down, to scroll hold the left mouse button and move the mouse.)
To set up the scenario, which includes the GameInfo, TeamInfo, and PlayerInfo, use either Windows' Wordpad or Notepad. I find using more advanted text editors such as Macromedia Dreamweaver or Adobe GoLive very useful because they offer multiple-line find&replace options. I will be using Wordpad as my tex editing program, but you can use whatever you want.
Get Your Hands Dirty
Ok, so you created your map in BMP/WBS Converter and you fleshed it out in MapView. You now have a clean map that has no civilization infos and no custom resources. Now we have to get our hands dirty. Open the map file in Wordpad. Add in two civilizations (and no more than two). You'll add the rest later. Go into MapView and find starting locations for them, somewhere in the desert maybe, and get the coordinates. We'll change that later. Change the beginning of the file to look something like this (but put in your custom civs with their custom tags):
Code:
Version=11
BeginGame
Era=ERA_ANCIENT
Speed=GAMESPEED_NORMAL
Calendar=CALENDAR_DEFAULT
Victory=VICTORY_TIME
Victory=VICTORY_CONQUEST
Victory=VICTORY_DOMINATION
Victory=VICTORY_CULTURAL
Victory=VICTORY_DIPLOMATIC
GameTurn=0
MaxTurns=0
MaxCityElimination=0
TargetScore=0
StartYear=-4000
Description=
ModPath=
EndGame
BeginTeam
ContactWithTeam=0
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=1
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=2
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=3
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=4
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=5
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=6
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=7
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=8
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=9
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=10
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=11
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=12
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=13
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=14
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=15
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=16
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=17
RevealMap=0
EndTeam
BeginPlayer
Team=0
LeaderType=LEADER_BABYLON
CivType=CIVILIZATION_BABYLON
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=109, StartingY=20
EndPlayer
BeginPlayer
Team=1
LeaderType=LEADER_CARTHAGE
CivType=CIVILIZATION_CARTHAGE
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=109, StartingY=24
EndPlayer
BeginPlayer
Team=2
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=3
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=4
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=5
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=6
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=7
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=8
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=9
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=10
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=11
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=12
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=13
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=14
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=15
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=16
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
Team=17
LeaderType=NONE
CivType=NONE
Color=NONE
ArtStyle=NONE
Handicap=HANDICAP_NOBLE
EndPlayer
Ok, so now we have two civilizations set up that start next to each other. Make a copy of this file and double-click the copy to launch CIV, load the mod, and load the map. Once you're in, start WorldBuilder (CRTL+W) and place all your custom resources. Do not place any civilizations or any units. When you're done, save the file, let's call it WBEDITMAP.
Open WBEDITMAP in Wordpad. Now we need to clean up the stuff that WB put in. Firstly, we look for the units that WB saved with the map, as we want to have a clean map that places the starting units the way we specified it in our mod XML. In Wordpad, seach (CRTL+F) for “BeginUnit”. You will find something like this:
Code:
BeginUnit
UnitType=UNIT_ARCHER, UnitOwner=3
Damage=0
Level=1, Experience=0
UnitAIType=UNITAI_CITY_DEFENSE
EndUnit
Delete all of that. Search for BeginUnit again, and repeat the procedure until all these tags are gone. Just to make sure, also search for BeginCity, and remove anything that looks like this:
Code:
BeginCity
CityOwner=3
CityName=Mycenae
CityPopulation=1
BuildingType=BUILDING_PALACE
EndCity
Ok, now all units and cities are gone. The problem is that WB now also wrote TeamReveal infos into the map. You have to options: Search for “TeamReveal” and delete all lines that have TeamReveal info, or you can do a replace all (but not with Wordpad or Notepad, because you need to replace two lines). If you use Dreamweaver or another program that can search for and replace multiple lines, then search for this:
Code:
TeamReveal=0,
EndPlot
And replace it with:
Code:
EndPlot
Now repeat that for TeamReveal=1 and so on. Make sure there is no TeamReveal left.
Make sure that you take the line break BEFORE TeamReveal into the search and replace, because otherwise the program will draw the EndPlot line up and mess up the map. Best to make a safety copy of the map before you do any replace all actions on it.
Ok, now we're almost done. Lastly, you need to add the civilization infos in. You will notice that WB messed up your GameInfo and PlayerInfo... Replace it with nice and clean map and player info, such as this:
Code:
Version=11
BeginGame
Era=ERA_ANCIENT
Speed=GAMESPEED_NORMAL
Calendar=CALENDAR_DEFAULT
Victory=VICTORY_TIME
Victory=VICTORY_CONQUEST
Victory=VICTORY_DOMINATION
Victory=VICTORY_CULTURAL
Victory=VICTORY_DIPLOMATIC
GameTurn=0
MaxTurns=0
MaxCityElimination=0
TargetScore=0
StartYear=-5500
Description=TAM - Huge Mediterranean (by BenGee & Thamis)
ModPath=Mods\The Ancient Mediterranean
EndGame
BeginTeam
ContactWithTeam=0
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=1
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=2
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=3
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=4
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=5
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=6
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=7
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=8
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=9
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=10
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=11
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=12
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=13
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=14
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=15
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=16
RevealMap=0
EndTeam
BeginTeam
ContactWithTeam=17
RevealMap=0
EndTeam
BeginPlayer
Team=0
LeaderType=LEADER_BABYLON
CivType=CIVILIZATION_BABYLON
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=109, StartingY=20
EndPlayer
BeginPlayer
Team=1
LeaderType=LEADER_CARTHAGE
CivType=CIVILIZATION_CARTHAGE
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=40, StartingY=25
EndPlayer
BeginPlayer
Team=2
LeaderType=LEADER_EGYPT
CivType=CIVILIZATION_EGYPT
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=81, StartingY=7
EndPlayer
BeginPlayer
Team=3
LeaderType=LEADER_GAUL
CivType=CIVILIZATION_GAUL
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=24, StartingY=48
EndPlayer
BeginPlayer
Team=4
LeaderType=LEADER_GERMANIC_TRIBES
CivType=CIVILIZATION_GERMANIC_TRIBES
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=35, StartingY=56
EndPlayer
BeginPlayer
Team=5
LeaderType=LEADER_GETAE
CivType=CIVILIZATION_GETAE
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=61, StartingY=51
EndPlayer
BeginPlayer
Team=6
LeaderType=LEADER_HITTITES
CivType=CIVILIZATION_HITTITES
PlayableCiv=1
MinorNationStatus=0
StartingGold=30
StartingX=86, StartingY=36
EndPlayer
BeginPlayer
Team=7
LeaderType=LEADER_IBERIA
CivType=CIVILIZATION_IBERIA
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=11, StartingY=31
EndPlayer
BeginPlayer
Team=8
LeaderType=LEADER_PERSIA
CivType=CIVILIZATION_PERSIA
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=123, StartingY=14
EndPlayer
BeginPlayer
Team=9
LeaderType=LEADER_KOLCHIS
CivType=CIVILIZATION_KOLCHIS
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=96, StartingY=41
EndPlayer
BeginPlayer
Team=10
LeaderType=LEADER_LYDIA
CivType=CIVILIZATION_LYDIA
PlayableCiv=1
MinorNationStatus=0
StartingGold=30
StartingX=71, StartingY=33
EndPlayer
BeginPlayer
Team=11
LeaderType=LEADER_GREECE
CivType=CIVILIZATION_GREECE
PlayableCiv=1
MinorNationStatus=0
StartingGold=30
StartingX=62, StartingY=29
EndPlayer
BeginPlayer
Team=12
LeaderType=LEADER_PHOENICIA
CivType=CIVILIZATION_PHOENICIA
PlayableCiv=1
MinorNationStatus=0
StartingGold=30
StartingX=88, StartingY=26
EndPlayer
BeginPlayer
Team=13
LeaderType=LEADER_ROME
CivType=CIVILIZATION_ROME
PlayableCiv=1
MinorNationStatus=0
StartingGold=30
StartingX=41, StartingY=39
EndPlayer
BeginPlayer
Team=14
LeaderType=LEADER_SCYTHIA
CivType=CIVILIZATION_SCYTHIA
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=76, StartingY=52
EndPlayer
BeginPlayer
Team=15
LeaderType=LEADER_MEDIA
CivType=CIVILIZATION_MEDIA
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=116, StartingY=28
EndPlayer
BeginPlayer
Team=16
LeaderType=LEADER_BRITONS
CivType=CIVILIZATION_BRITONS
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=19, StartingY=57
EndPlayer
BeginPlayer
Team=17
LeaderType=LEADER_NUBIA
CivType=CIVILIZATION_NUBIA
PlayableCiv=1
MinorNationStatus=0
StartingGold=0
StartingX=83, StartingY=2
EndPlayer
You will need the coordinates of the starting locations for your civilizations. Open MapView and click the plots that you want civs to start in. The program gives you the coordinates. Put these coordinates into the appropriate place:
Code:
StartingX=83, StartingY=2
Later Changes
The map is done, but maybe you need to add a few custom resources? No problem. Unless it's a lot of them, you don't need WB. Open MapView, find the coordinates of the plot you want to put the resources. In the CurrentTile tab on top, you will find the coordinates of that plot, like this:
Code:
x=79,y=35
Copy that text, go into Wordpad, click find (CRTL+F) and paste it as a search string. You'll end up in that plot in the text. Then you can change it, and add a bonus resource for example, like this:
Code:
BeginPlot
x=79,y=35
BonusType=BONUS_FISH
TerrainType=TERRAIN_COAST
PlotType=3
EndPlot