Welcome to our guide on creating cities and maps for This Grand Life 2! As the developer of the game, we have all the tips and tricks you need to know to bring your virtual city to life. Follow along as we walk you through the process of designing your own unique map in This Grand Life 2. Let’s get started!
Video Walkthrough And Overview
Here is the city created from this guide:
https://steamcommunity.com/sharedfiles/filedetails/?id=3164478801
Downloading The Raw Data
- Find a city on https://www.openstreetmap.org/
Maperitive
- Download, install and open http://maperitive.net/
- Clean up the interface by clicking on the top bar Map -> Untick Show Grid + Untick Show Map Scale
- We are going to download the map data in chunks, since the whole map is likely too big to download at once.
- Move the view to include the top left quarter of the city. Once happy with selection, run Map -> Download OSM Data. This will download all the data in your current view.
- Optional: Once data is downloaded you can save the .osm data for future use, just change the file name for each data chunk. In the command prompt at the bottom, run:
save-source file=”sources/RandomChosenNameQuarter.osm” - Repeat Download OSM Data for the remaining chunks of the city (top right quarter, bottom left and right quarters)
- Once all the data is downloaded, under Map Sources in bottom right corner uncheck Web map so only the downloaded .osm data is showing in the view window.
Drawing Rules- Maperitive uses a set of rules to work out how to draw a map. Replace Maperitive/Rules/Default.mrules with the custom file from https://pokingwatergames.com/sdm_downloads/this-grand-life-2-maperitive-default-mrules/ The current view should update automatically when you replace the rules, although you might have to make a random useless edit to the file to trigger the update.
- Zoom out the current view to show the entire region you want to use as a map, plus a buffer. The buffer will be used to create the outer black & white zone.
- Next we want to export this area to Maperitive/output/output.png. In the command prompt at the bottom, run:
export-bitmap zoom=14.5
Creating Image Files
- Using Paint.net (or Photoshop, etc)
- To get the middle playable area of the map, we want to copy out an image with dimensions that are some multiple of 400×312 pixels, which will create an 8×8 tile map.
- Standard sizes you can use for simplicity – 5600×4992 pixels (112×128 tiles), 6000×4680 (120×120), 6400×4368 (128×112), 6800×4056 (136×104), 7200×3744 (144×96)
- Copy the area and save it as a .png file in This Grand Life 2\modsLocal\[CITY]\art\maps, replacing [CITY] with whatever you want to call the mod
- Now on a separate layer, fill in the area you just copied with black. Then fill in a 4000x2000px area diagonally to the top left and bottom right of the image, like so:
- We are going to use this black boxed layer to help copy out the border images. I’m going to use a 5600×4992 playable area as an example. To get the top border image, we want an image 4000 + 5600 + 4000px = 13600px width and 2000 + 1px = 2001px height. The extra 1px is so there is a slight overlap between the playable area and border image
- Copy this area of the map into a new image. Then Adjustments -> Black & White. Then Adjustments -> Hue/Saturation -> Change Lightness to -5
- Save this border image into the art/maps folder
- Repeat selecting/copying/editing/saving for the bottom (13600×2001), left (4001×8992) and right (4001×8992) borders of the map. Remember if you used different playable area size these dimensions will be slightly different.
- Finally, create a thumbnail by shrinking the playable area image to 10% its original size. Your art/maps folder should end up looking something like this:
Generating / Editing City Data
It’s best to watch the video for this section since it’s easier to show than tell. Here is a summary:
- Create the mod folder in modsLocal/[CITY_MOD_NAME]/data/cities
- In the [CITY_MOD_NAME] folder, add a modName.txt, modDesc.txt and modType.txt and fill in details. For modType.txt use the line modTypeCities. This ensures the city is loaded properly.
- If using a custom currency, in the [CITY_MOD_NAME]/data folder add currencyBase.txt
- Copy an existing city’s xml and edit the data up to <autoMap>
- Start the game, enable dev mode, open the editing window and do the automapping steps
- Remember the data from automapping is saved to the base game data/cities folder. You need to move it into your modsLocal/[CITY_MOD_NAME]/data/cities folder to make sure it’s uploaded to the Steam workshop later.
- Once automapped, continue editing the xml data until done
- Now you can follow the Creating Mods guide to upload it to Steam Workshop
(Optional) Download Local Street Names
[out:csv (“name”)][timeout:2500];
(
way[“highway”][“name”]({{bbox}});
);
for (t[“name”])
{
make street name=_.val;
out;
}
There is going to be some rubbish in the downloaded data. To help clean this up, start the game and go into the debug menu file editing tools -> Clean Road Names. Make a backup of your raw data in case you need to tweak the filtering file (namesRoadTypes.txt) to get what you want
Additional Notes
- I recommend only adding the images and data mentioned in this guide to the city mod. For anything unique about the city (e.g changing Eat Burger Meal to Eat Poutine Meal) you should create a separate modTypeCountry mod, upload that to the Workshop and add it as a dependency for the city in its xml under <modsCities>. Otherwise when people activate your city mod, they might get the Eat Poutine Meal in every city they play!
And that wraps up our share on This Grand Life 2: Creating Cities And Maps For This Grand Life 2. If you have any additional insights or tips to contribute, don’t hesitate to drop a comment below. For a more in-depth read, you can refer to the original article here by PokingWaterGames, who deserves all the credit. Happy gaming!