Skip to content

Conversation

@Amazinite
Copy link
Contributor

@TheGiraffe3 TheGiraffe3 added the enhancement Adding documentation about a new feature being PR'd to endless-sky/endless-sky label Nov 1, 2025
Copy link
Member

@TheGiraffe3 TheGiraffe3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would mention the defaults of each gamerule as well.

@Amazinite
Copy link
Contributor Author

I would mention the defaults of each gamerule as well.

I originally listed the defaults in the gamerules file because the game could only have one set of gamerules loaded, so I expected some players might edit the file directly in their game directory. Now that players can edit their gamerules within the game without touching the default preset data, or they can make their own preset separate from the default one, figuring out what the defaults are is just a matter of checking the default preset, whether that be in-game or in the data folder.

Duplicating the defaults to here would just mean we'd need to update this page every time we make a change to a default gamerule value.


# Introduction

Gamerule presets are a collection of gamerules that can be selected by a player when on the gamerules panel, accessible during new pilot creation or from the main menu if the pilot's gamerules are editable. The player is still able to modify individual gamerules after choosing a preset. The purpose of a preset is to represent a collection of gamerule values that work well together, or may lead to a certain type of gameplay not experienced with other collections of gamerules.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Gamerule presets are a collection of gamerules that can be selected by a player when on the gamerules panel, accessible during new pilot creation or from the main menu if the pilot's gamerules are editable. The player is still able to modify individual gamerules after choosing a preset. The purpose of a preset is to represent a collection of gamerule values that work well together, or may lead to a certain type of gameplay not experienced with other collections of gamerules.
Gamerule presets are a collection of gamerules that can be selected by a player when on the gamerules panel, accessible during new pilot creation or from the main menu if the pilot's gamerules are editable. The player is still able to modify individual gamerules after choosing a preset. The purpose of a preset is to represent a collection of gamerule values that work well together or lead to a certain type of gameplay not experienced with other collections of gamerules.

## Person Ships

* `"person spawn period"`: An integer rule whose value must be greater than or equal to 1. Sets the number of frames on average that the game waits before attempting to spawn a person ship. The game rolls a random number between 0 and this value minus one every frame. If the value lands on 0, a person ship spawn attempt is made. There are 60 frames in a second.
* `"no person spawn weight"`: An integer rule whose value must be greater than or equal to 0. When a person ship spawn attempt is made, this is the "weight" of the chance of having the spawn attempt fail. Each person ship has a "weight" associated with it which determines its chance of spawning. The chance of any single person ship spawning is its weight divided by the sum of the weights of all person ships and this value. That means that the chance of a spawn attempt failing is this number over that same sum.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* `"no person spawn weight"`: An integer rule whose value must be greater than or equal to 0. When a person ship spawn attempt is made, this is the "weight" of the chance of having the spawn attempt fail. Each person ship has a "weight" associated with it which determines its chance of spawning. The chance of any single person ship spawning is its weight divided by the sum of the weights of all person ships and this value. That means that the chance of a spawn attempt failing is this number over that same sum.
* `"no person spawn weight"`: An integer rule whose value must be greater than or equal to 0. When a person ship spawn attempt is made, this is the "weight" of the chance of having the spawn attempt fail. Each person ship has a "weight" associated with it which determines its chance of spawning. The chance of any single person ship spawning is its weight divided by the sum of the weights of all person ships and this value. That means that the chance of a spawn attempt failing is this number over that sum.


## System Behavior

* `"universal ramscoop"`: A boolean rule that controls whether the universal ramscoop is active on all ships. This ramscoop provides a very small amount of fuel to every ship regardless of whether it has an actual ramscoop installed. The strength of this ramscoop falls off much more strongly than normal ramscoops, requiring you to be as close to a star as possible to have any real gain in fuel. Having this enabled prevents needing to reload your save file if you run out of fuel and no NPCs spawn in the system that you can get fuel from.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* `"universal ramscoop"`: A boolean rule that controls whether the universal ramscoop is active on all ships. This ramscoop provides a very small amount of fuel to every ship regardless of whether it has an actual ramscoop installed. The strength of this ramscoop falls off much more strongly than normal ramscoops, requiring you to be as close to a star as possible to have any real gain in fuel. Having this enabled prevents needing to reload your save file if you run out of fuel and no NPCs spawn in the system that you can get fuel from.
* `"universal ramscoop"`: A boolean rule that controls whether the universal ramscoop is active on all ships. This ramscoop provides a very small amount of fuel to every ship regardless of whether it has an actual ramscoop installed. The strength of this ramscoop falls off much more strongly than normal ramscoops, requiring you to be as close to a star as possible to have any real gain in fuel. Having this enabled prevents needing to reload your save file if you run out of fuel and no NPCs spawn in the system.


## Miscellaneous

* `"lock gamerules"`: A boolean rule that controls whether gamerules can be altered after a pilot has been created. If true, the gamerules button will not appear on the main menu for the pilot.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* `"lock gamerules"`: A boolean rule that controls whether gamerules can be altered after a pilot has been created. If true, the gamerules button will not appear on the main menu for the pilot.
* `"lock gamerules"`: A boolean rule that controls whether gamerules can be altered after a pilot has been created. If true, the gamerules button will not appear on the main menu for that pilot.

# Table of Contents

* [Introduction](#introduction)
* [Gamerules](#gamerules)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, I question the need of a table of contents at all. The introduction is fairly short, and the only other link is to the section right after it.
Maybe also link to each of the major gamerule sections?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Adding documentation about a new feature being PR'd to endless-sky/endless-sky

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants