Method of Expanding The CDDA Map: Real Life Landmarks, Continents, Oceans, Etc

So one of the major things that is missing at this time from CDDA is major landmarks, real life cities, and a method of determining exactly where you are in the United States, apart from being vaguely in “New England”. It would be awesome to have the ability to travel across the post-cataclysm United States, and see what has become of it. It would also open up a number of possibilities for activities: I know I’d love to go loot the Pentagon, or break into Area 51 for example.

I have devised what I hope is a possible way of allowing this kind of expansion, which still utilizes the game’s procedural generation, and hopefully minimizes the amount of actual development needed to make it work. I’m hoping it would allow the expansion of CDDA outside New England, and potentially the continental United States as well.

It is my understanding (though this may be flawed) that the game initially only generates a finite area at world generation, for example, several overmap tiles. Since most of the “world” does not exist yet, this would let you have some flexibility in choosing where exactly the player is starting. Here is how my method would work:

1.) Initial World Generation: Initial area the player occupies is generated. This position would be assigned latitude and longitude coordinates. These coordinates may be varied, but would be restricted to New England in the core game (this would also potentially allow game starts in other portions of the country or planet, but I’m thinking that would be mod only).

2.) Deciding When To Place Landmark: As the player travels, eventually they will hit the edge of the generated area, and a new overmap tile will be generated. The game would check the coordinates contained inside the new overmap, and if it will contain the coordinates where a real life landmark is located, Ex: State Capitol, White House, Pentagon, etc, the game will place that landmark and any appropriate IRL cities or locations to contain them inside that particular overmap tile.

3.) Landmark Generation: Lets say the game needs to generate Washington DC, and the White House. It will create a city, which must be named Washington DC, centered on the coordinates where the white house is IRL. This city will be required to contain (1) White House as a structure somewhere in the city, along with any other landmarks that city might contain IRL. This will allow the game to still randomly generate notable cities and their landmarks, without requiring every single one to be static and handmade by a programmer, like the Necropolis. It would also override the game’s city size settings, with a preset city size appropriate for the location (so you don’t end up with the White House being located in a 5 building “town” for example). As a result, the city and actual coordinates will not be perfectly accurate with real life, but it would be a reasonable approximation.

4.) Altering Climate, Weather: In addition to creating the various cities and landmarks, the climate and terrain will need to also change. Can’t have snow in Arizona or Louisiana right? The latitude/longitude system previously specified would allow for a method of coordinating changes to the minimum/maximum temperatures, rainfall, etc. For the sake of simplicity, weather could be approximated either using large sectors where the weather is the same, or with an algorithm to provide a sliding scale of temperature, rainfall, etc, based on coordinates.

5.) Oceans, Continents and Islands: The coordinate system previously specified would be used to decide if an overmap is going to contain an ocean or land. This could be used to implement other continents and islands. It might also be used to generate real life mountains or other terrain landmarks, such as the Grand Canyon.

Besides the programming and modification of the game itself to accommodate this system, which would require a computer science background, the work needed to actually add landmarks could be done by anybody. The creation of a landmark would be done in JSON, as well as assigning the landmark coordinates, along with an appropriate city size override (for the game to use to override the default, as detailed above) as necessary.

2 Likes

Check this out: