Planet

*Inspirations: Outer Wilds and Majora's Mask.*
**Planet** is a platforming adventure game in the *Svea* series.

The world is an open, endless, blue-skied atmosphere, with several **planetoids** either suspended in the air, or in orbit. The planetoids are often hollow, containing areas that are not visible from the outside, which makes for the bulk of the player's exploration.

The player navigates the areas through platforming using **wings**; by tapping the dedicated button the player gets to jump in midair, or glide for a period. Holding down the wings button gathers energy; releasing larger amounts of energy creates larger-sized wings, able to quickly manouver the player across the planetoid but unsuitable to the tighter areas of the planet, causing damage to the player. Releasing an enourmous amount of energy creates wings strong enough to propel the player off the planetoid - at this point the player is able to expend as much of the wings energy as they are capable in order to touch another planet, otherwise they are dragged back down to the planetoid they came from. The core progressive system of the game revolves around increasing the player character's wings capacity, in order to both improve their platforming abilities for the inner challenges, and to travel long distances and explore all areas.

Programmatically, while the game relies heavily on physics calculations to control the players free mobility, the game is in control of the player's gravity and "current" planetoid in order to create fun mobility and interesting gameplay, in ways that wouldn't "make sense" if adhering to the laws of physics too strictly.

Planets generally consist of several segments: the core is a solid sphere that serves as the floor, on top of that is the mazelike innards of the planet, on top of that is the surface along with trees and houses and the like. Only the top segment is loaded before the player steps onto the planet. Once the player has entered the innards of a planet, the layers above are unloaded, or replaced with a semi-transparent sheet, so that players are always able to have full visibility of their character, without the camera getting stuck. This "sheet" can be made fully transparent if the camera is facing it from above. Additionally, the player is able to leave the innards by going straight up, with a "ground break" animation playing as they break through the surface.

## Glide

Holding the button, the player will begin **gliding** as soon as their feet leave the ground. The duration of their glide is limited by their stamina.

## Dive

The player, while gliding, can at any point hold a button to **dive** directly downwards. This slowly builds up speed.

The player can redirect the speed upwards again with a turn; if done with enough speed, they are able to leave the planet's surface.

If the player collides with the surface of a planet at high enough speed, they **smash** through it, entering the planet's innards.

## Tether

The player is **tethered** to only 1, and exactly 1, planet at a time; this is regardless of the distance the player is away from the planet, in "space". This is so that, due to the player's limited resource to fly between planets in "space", they always return to 1 planet at some point, as their energy is drained.

## Upgrade

At first, the player can not form wings at all, but shortly thereafter they gain the ability to double-jump. After this, the next upgrade is the glide. This glide cannot yet be aimed downwards to gain speed, but the next upgrade allows this. This allows them to start at the highest point of the planet, take a nosedive down into the earth, and then aim straight up, leaving the atmosphere. Only then can they use their limited flight resource to approach another planet.

Later in the game they get the ability to charge up and gain lots of height in a jump burst, but this does not enable their glide. This ability is only used to gain quick access to the highest planet point.

## Standalone Planetoids

Most planetoids operate completely on their own, and that includes events and NPCs within. The player very rarely has to keep track of events that span across several planetoids.

## Non-Circular Planetoids

Some planetoids are not orb-shaped, but rather **disc**-shaped. On the upper side, these planets' gravity point downwards; on the underside, however, there is a strong anti-gravity field that pushes the player outwards and *from* the planet. The intent is to redirect the player back to the main area.

The problem with non-circular planets is that the player is able to land anywhere, even on the highest point. The platforming challenges of the circular planets are unlocked by entering the planets' inners. The points where the player can enter a planet can be specifically chosen, and triggerpoints here can enable culling of the top layer of the planet, so that the camera does not interfere.

## Cannon

The player can only fast-travel to 1 point in the game; the very first planet. However, a large **cannon** is centered here, capable of launching the player into space. This planet can be upgraded many times, using materials the player finds on other, farther planets. Upgrades include turning angle as well as distance.

## Alternative: Sky

* An alternative interpretation.
* More appropriate for more linear "planet" designs, while still "open world".

* All planets are now large "islands" orbiting in the air endless skybox.
* The player can glide from island to island.
* This does technically limit them to entering from certain angles, and they are almost always going to land on the outermost edge of an island.
	+ An alternative approach to this is to only enable the outermost checkpoints at first; while the player can get anywhere they want at first, they will have to start all over if they die.

* Gravity can be handled in various ways.
	+ Either gravity directs universally downwards, with all "islands" pointing in the same direction.
	+ Or, islands still have gravity fields, they are just always flat.
		- With this interpretation, they can be angled in a multitude of ways, and the player falling "off" an island always leads them to another.

## Alternative: Water Kingdom

* An alternative approach.

* The world is an endless sea.
* The playable area is a kingdom, where the bottom of it exists underwater.
* The player navigates from building to building, but they can never get down to the "floor".
* The player can swim for a limited duration, but not dive.
* Their swimming duration increases as the game progresses.

## Time Loop

NPCs, events, and the state of planets, are on a repeating, looping schedule. After any events unfold or paths deviate, people and things always revert back to their first state eventually. This is not necessarily a global thing, but can affect each planetoid individually.

The player has the ability to reset this time loop to the start at any point, and after a certain point, are allowed to restart at any other planetoid they which, which allows them to witness certain events that they would not have otherwise.

At the start, the player is required to perform a sequence of events to progress, usually ending with a final item of sorts. After unlocking new restart points, they can get these items much earlier, bypassing the sequence entirely.

The player is able to get powerful statuses that last until time is reversed (e.g. Chateau Romani giving infinite magic, but can only be acquired on the last day).

### Pending: Planet-specific?

* Time can be reset for planets individually.
	+ This would mean no global events initiated by the NPC though... though this can be a good thing.
	+ One can work around it.
	+ When reset is enabled, several planets can be clicked at once maybe, which would enable concurrent events (initiated by NPCs).
	+ But according to *Game Maker's Toolkit*, dividing such events into distinct chunks can be the way to go.
* Time also only progresses when the player is around?
	+ This is the worse idea. One might want to appear in the midst of things.
	+ But it could also make programming and planning much easier.
	+ This also Definitely shut out concurrent events (initiated by NPCs).
	+ But also wouldn't be *that* bad? The time of the planet starts when the player arrives there, marking a clear starting point.
	+ It would be a lot less obtuse, but also a lot less interesting and dynamic? All events that would start on Day 1 would just be accessible to you right away? Sure it wouldn't feel as obtuse, but having already *missed* an event when you arrive is a compelling reason to try to figure out how to get there.

* Having verbalized both points above... what would be gained, really? Compared to instead just resetting time for all planets?

## NPCs

As NPCs are on a looping schedule, they can actually be incapacitated by the player. This sends them to a hospital, which affects their schedule and other NPCs down their line.

In general, NPCs are few but all named and carry some significance, so that the player can easily keep track of them.

## Postal

The player can equip and present any item in the game, to any NPC or really anything. To note is that certain events or even locations in the game are stored as tangible "memories" that the player can hold up. This is the main way for the player to communicate, as well as advance quests, as they do not have other means to converse.

Certain events of the game require bringing items from one planetoid to another and present them there, but those are a rarity and an outlier. Most quests revolve only the same planetoid. Should time reset on one planetoid, the item will remain in the player's inventory.