Image overlay in Cities: Skylines 2

Image overlay enables us to display a transparent map over our layout in the game and in the Editor.

In the Editor this makes is easy to place outside connections to the correct locations, so when we build our city replica, the roads start at the right place.

In the game it makes it possible to follow the original city layout.

Currently, the image overlay mod which works in the game and in the Editor is Image Overlay Lite 1.1.0.

Installation

Only manual installation is available, and currently, it only works with BepInEx version 5. At the time of writing BepInEx version 6 is already available, but the mod does not work with it.

Install Image Overlay Lite

Usage

Overlay file location

To make the overlay image file available to the mod

  • Create the Overlays directory at “%LocalAppData%Low\Colossal Order\Cities Skylines II”
  • Place the .png overlay files into the Overlays directory. The image size has to be a multiply of 2, so 4096×4096 provides the best quality as the plugin scales the image to this size.

Image selection and transparency setting

To select the image, and set the transparency in the game or in the Editor

  • Press the ESC key, or click the gear icon
  • Select Options
  • On the Image Overlay page select the image file and set the transparency

Controls

As these can change, please see https://paradoxmods.net/files/85-image-overlay-lite/ for more information.

Creating an AWS Q AI application

To use an AWS Q application we need two components:

  • An AWS Q AI application
  • A SAML 2.0 compliant identity provider

AWS Q application

To set up the AWS Q AI application

  • Search for Q in the AWS console

  • Click the Get started button

  • Click the Create application button

  • Enter the name of the application
    If your user account has rights to create service roles, select Create and use a new service role option
    If your company administrators created a service role for the application, choose Use an existing service role, and select the role.
    Click the Create button

  • Stay on the page until the new role propagates through the system

  • When it becomes available, click the Next button
  • On the Connect data sources page select the source where the custom data is located. To index a web site, select the “Web crawler” data source, and specify the URL of the home page, or the location of the site map. For WordPress sites, the site map is located at https://MY_WEBSITE/sitemap.xml

For more information see Configuring an Amazon Q application

Identity Provider

AWS Q is a paid service based on the number of users.

To control access to AWS Q, we need to configure it with a SAML 2.0 compliant identity provider, like Azure AD, Okta, or we can use the AWS Identity Center, which is accessible through your AWS Console.

Using the AWS IAM Identity Center

IMPORTANT: As AWS Q is not an AWS “managed application”, if we use IAM Identity Center, we need to create an IAM Identity Center “organizations” instance to be able to connect “custom applications”.

For the complete list of steps, see Setting up Amazon Q with IAM Identity Center as identity provider

Amazon Q API

The Amazon Q API documentation is at https://docs.aws.amazon.com/amazonq/latest/api-reference/Welcome.html

Using the Map Editor in Cities:Skylines 2

Import a height map

Generate the height map

To import a height map into the Cities: Skylines 2 Map Editor we need to create a 4096×4096 pixel 16 bit grayscale height map.

To generate the height map of a area of the Earth,

  • Navigate to https://heightmap.skydark.pl
  • Enter the name of the city in the search box
  • Set the Map size to 14.336 km
  • To move the selected area on the map, click and drag the central blue square.
  • To move the map closer to the sea level, click the Base level calculator button
  • Select Draw water streams to create the correct river and lake beds on the height map.
  • To display the elevation contour lines on the map image enable the Show height contours button
  • To display the edge of the water on the map image enable the Show water contours button
  • Click the Download PNG height hap button to download the height map
  • Click the Download map image button to download the map for the background

Create the directories

Heightmaps

The editor selects the heightmaps from the Heightmaps folder

  • Create the “Heightmaps” folder for the height map files at “C:\Users\YOUR_USER_NAME\AppData\LocalLow\Colossal Order\Cities Skylines II”

Screenshots

The editor selects the Thumbnail and Preview images from the Screenshots folder

  • Create the “Screenshotsfolder for the thumbnail and preview files at “C:\Users\YOUR_USER_NAME\AppData\LocalLow\Colossal Order\Cities Skylines II”

Update the height map

  • Open the images in Gimp, a free open source image editor
  • Resize the image to 4096×4096
  • Check the image mode, make sure it is set to grayscale

  • Check the color precision, make sure it is set to 16 bit

Save the image in the new Heightmaps folder

  • Export the height map as .PNG

  • Accept the defaults

Update the map image

Rotate the map image 180 degrees, so the MapImageLayer mod can correctly display it. Save the map image in the Heightmaps folder.

Enable the Editor and image overlay

Import the height map

Load the height map

  • Start Cities: Skylines 2 and open the editor
  • At the bottom, select the Modify Terrain icon

  • Click the Import Heightmap button

  • Select the height map at the top, and click the Load button at the bottom

Add the outside transportation connections

  • At the bottom select Add object
  • In the upper right corner click None
  • Set the filter to only display the outside connections
  • Click away the list to close it and display the list of outside connections
  • Select the connection type
  • Click on the map to place it

Add outside powerline and water connections

To add outside utility connections, we need to search for those.

  • Type outside into the search box
  • Select the connection type to place it.

Save the map

  • In the upper left corner click Map

  • Enter the map name, description, and select the starting tiles

  • Scroll down to expand the Checklist

  • Save the map by clicking the Save Map button
  • Enter a file name and click the Save button

Kerbal Space Program 2 minimum altitudes for each warp level

In KSP 1 the minimum altitudes for each warp level were compiled at Kerbal Space Program 2 minimal altitudes for each warp level by SaintWacko.

As of today I have not found any similar information for KSP 2, so based on experiments I will create a similar table here.

KERBOL

Warp        KSP1 Minimum Altitude
1×          Any
5×           3 270 000 m
10×          3 270 000 m
50×          6 540 000 m
100×        13 080 000 m
1 000×      26 160 000 m
10 000×     52 320 000 m
100 000×    65 400 000 m

MOHO

Warp        KSP1 Minimum Altitude
1×          Any
5×           10 000 m
10×          10 000 m
50×          30 000 m
100×         50 000 m
1 000×      100 000 m
10 000×     200 000 m
100 000×    300 000 m

EVE

Warp        KSP1 Minimum Altitude
1×          Any
5×           90 000 m (above the atmosphere)
10×          90 000 m (above the atmosphere)
50×          90 000 m (above the atmosphere)
100×        120 000 m
1 000×      240 000 m
10 000×     480 000 m
100 000×    600 000 m

GILLY

Warp        KSP1 Minimum Altitude
1×          Any
5×            8 000 m
10×           8 000 m
50×           8 000 m
100×         20 000 m
1 000×       40 000 m
10 000×      80 000 m
100 000×    100 000 m

KERBIN

       Warp  KSP1  KSP2
         1×  Any
         5×  70km (above the atmosphere)
        10×  70km (above the atmosphere)
        50×  70km (above the atmosphere)
       100×  120km
     1,000×  240km  120km
    10,000×  480km  240km
   100,000×  600km  600km
 1,000,000x  n/a
10,000,000x  n/a

MÜN

Warp        KSP1 Minimum Altitude
1×          Any
5×            5 000 m
10×           5 000 m
50×          10 000 m
100×         25 000 m
1 000×       50 000 m
10 000×     100 000 m
100 000×    200 000 m

MINMUS

Warp        KSP1 Minimum Altitude
1×          Any
5×           3 000 m
10×          3 000 m
50×          6 000 m
100×        12 000 m
1 000×      24 000 m
10 000×     48 000 m
100 000×    60 000 m

DUNA

Warp        KSP1 Minimum Altitude
1×          Any
5×           50 000 m (above the atmosphere)
10×          50 000 m (above the atmosphere)
50×          60 000 m
100×        100 000 m
1 000×      300 000 m
10 000×     600 000 m
100 000×    800 000 m

IKE

Warp        KSP1 Minimum Altitude
1×          Any
5×            5 000 m
10×           5 000 m
50×          10 000 m
100×         25 000 m
1 000×       50 000 m
10 000×     100 000 m
100 000×    200 000 m

DRES

Warp        KSP1 Minimum Altitude
1×          Any
5×           10 000 m
10×          10 000 m
50×          30 000 m
100×         50 000 m
1 000×      100 000 m
10 000×     200 000 m
100 000×    300 000 m

JOOL

Warp        KSP1 Minimum Altitude
1×          Any
5×            200 000 m (above the atmosphere)
10×           200 000 m (above the atmosphere)
50×           200 000 m (above the atmosphere)
100×          200 000 m (above the atmosphere)
1 000×        300 000 m
10 000×       600 000 m
100 000×    1 200 000 m

LAYTHE

Warp        KSP1 Minimum Altitude
1×          Any
5×           50 000 m (above the atmosphere)
10×          50 000 m (above the atmosphere)
50×          60 000 m
100×        120 000 m
1 000×      240 000 m
10 000×     480 000 m
100 000×    600 000 m

VALL

Warp        KSP1 Minimum Altitude
1×          Any
5×           24 500 m
10×          24 500 m
50×          24 500 m
100×         40 000 m
1 000×       60 000 m
10 000×      80 000 m
100 000×    100 000 m

TYLO

Warp        KSP1 Minimum Altitude
1×          Any
5×           30 000 m
10×          30 000 m
50×          60 000 m
100×        120 000 m
1 000×      240 000 m
10 000×     480 000 m
100 000×    600 000 m

BOP

Warp        KSP1 Minimum Altitude
1×          Any
5×           24 500 m
10×          24 500 m
50×          24 500 m
100×         40 000 m
1 000×       60 000 m
10 000×      80 000 m
100 000×    100 000 m

POL

Warp        KSP1 Minimum Altitude
1×          Any
5×           5 000 m
10×          5 000 m
50×          5 000 m
100×         8 000 m
1 000×      12 000 m
10 000×     30 000 m
100 000×    90 000 m

EELOO

Warp        KSP1 Minimum Altitude
1×          Any
5×            4 000 m
10×           4 000 m
50×          20 000 m
100×         30 000 m
1 000×       40 000 m
10 000×      70 000 m
100 000×    150 000 m

Approaching Kerbin, lowering time warp to 100x for safety!

Interplanetary transfers can only occur at specific times, when the planets are aligned in the optimal position. It can take months until the celestial bodies are in the right position for the interplanetary transfer burn.

If the space craft orbits Kerbin below 120 km altitude, Kerbal Space Program 2 slows down the warp speed to hundred times, so it can properly perform all orbital calculations, and displays the message:

Approaching Kerbin, lowering time warp to 100x for safety!

To enable higher continuous warp speed, raise the periapsis above 120 km.

SyntaxError: The requested module ‘dotenv’ does not provide an export named ‘default’

When we try to use modules in out TypeScript applications we encounter the error message

SyntaxError: The requested module 'dotenv' does not provide an export named 'default'

This is caused by the missing “default” export in the module’s code. To eliminate the error message modify the import statement as

import * as dotenv from "dotenv";
dotenv.config() 

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath ‘./format/index.js’ is not defined by “exports” in …

The date-fns and date-fns-tz Node.js packages are being updated, and version 3 has some bugs. When you try to use them in TypeScript you get the error message

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './format/index.js' is not defined by "exports" in ...

Currently, the only solution is the restrict the version to 2.

In package.json add the lines

{
 "name": "MY_PROJECT_NAME",
  ...
  "overrides": {
    "date-fns": "^2.0.0"
  }
}

In the terminal run

npm install

Check the effect of the new settings in the terminal with

npm ls date-fns

The output should be something like

js-application@1.0.0 /Users/…
└─┬ date-fns-tz@2.0.0
└── date-fns@2.30.0 overridden

Kerbal Space Program 2 For Science! notes

KSP 2 version 0.2.0.0, “For Science!” opens an entirely new type of game play. Now we can complete missions, do science experiments, collect Science Points and unlock new parts in the Research and Development Center.

Recommended mods

The Science Arkive mod lists all available experiments by celestial body, so check it before you launch. It is available in the VAB and Map View.

The Orbital Survey mod displays information on the planet and moon scanning process.

Environment Survey

There are three kind of experiments in the game that award you science points:

  • Crew observations
  • Surface Survey
  • Environment Survey

The first two are performed by the crew by writing down their experiences and taking surface samples. The third experiment requires a Science Collector. Make sure all of your command modules and landers contain one, to be able to survey the orbit and surface of Kerbin and other celestial bodies after landing.

Scanning celestial bodies

There are two scanning modes: Visual and Region scan. The scanning mode depends on the antenna.

Hardware

The RA-15 Static Antenna performs visual scan

The Communotron DTS-M1 deployable antenna performs region scan.

Orbit inclination

To scan a celestial body, we need to place the space craft in a 90° inclination orbit. This way the planet or moon rotates under the space craft while orbiting it in the same plane.

To place a craft in a 90° inclination orbit around Kerbin, launch the vessel in the North or South direction. As the rotation’s angular velocity is zero, you need significantly more delta V (fuel) to reach the same orbital altitude.

Orbital altitude

The field of view of the antenna is 3°. The diameter of the planet or moon determines the ideal scanning altitude.

When the antenna is not extended, the displayed minimal, optimal and maximum scanning altitude values are not correct. To view the correct values:

  • Place the craft in an orbit around the celestial body,
  • Right-click the Communotron DTS-M1 antenna to open the Parts Manager,
  • Extend the antenna,
  • Read the minimum, ideal and maximum scanning altitudes.

    The scanning altitudes depend on the diameter of the celestial body. For simplicity, the bodies are grouped into three categories: small (max 150 km radius), medium (max 350 km radius), large (max 10,000 km radius)
BodyVisual Scan
Minimum
Visual Scan
Ideal
Visual Scan
Maximum
Region Scan
Minimum
Region Scan
Ideal
Region Scan
Maximum
Kerbin
(large)
500 km800 km1,100 km1,000 km1,500 km2,000 km
Mun
(medium)
100 km300 km500 km300 km500 km700 km
Minmus
(small)
Duna
(medium)
100 km300 km500 km300 km500 km700 km

Scanning progress

To see the progress of the scanning, open the Orbital Survey mod

Select the body

The dropdown lists the bodies which has scanning data

Vessels

The VES button displays the scanning vessel names around the body.

Overlay

The OVL button displays the scanned regions on the body surface.

Collecting Science Points

When 25%, 50%, 75% and 100% of the body has been scanned, science points are awarded. The full orbital region scan of a celestial body awards 180 Science Points.

  • Check the progress on the Orbital Survey display.
  • When the next threshold is reached, open the Research Inventory and transmit the results. To make sure all data is transmitted, you can click the Transmit All button instead.
  • To speed up the orbital scanning, set the time warp to 100% and have dinner. By the time you are done, the planet most likely has been scanned.
  • Click the TRANSMIT ALL button to send the data to Mission Control and collect the Science Points.

Sample Grabber

The RSCM-01 Sample Grabber has to be mounted with the drill facing up. Mounting it on the top surface will place it in the correct direction.

To save space, we can move the grabber arm inside the rover body, it is not that elegant, but still works:

Troubleshooting

If the RSCM-01 Sample Grabber is mounted on the side of the rover, we get a misleading error message when we try to run a survey:

Surface Survey Status:

Invalid Research Location

Revert to VAB takes away the progress during that flight

When you revert to VAB, the progress achieved during that flight disappears:

  • You lose the science points collected during the flight,
  • You lose the already unlocked parts during the mission.

ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: ‘…/certifi

During the building of a Docker container for a Python application we may get the following error message

ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: ‘/private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_477u68wvzm/croot/certifi_1671487773341/work/certifi

This is caused by an out of date path in the requirements file for “certifi”. To fix the issue

  • Uninstall and reinstall certifi
pip uninstall certifi
pip install certifi
  • Regenerate the requirements.txt file
pip freeze > requirements.txt