Note: This page is old and out of date. It is still semi relevant though, and thus will be left here.
The Planet Tool will allow users to edit the parameters used to create planets, and view generated planets. It is currently under development. The user interface is mostly done, and the internals are in progress and going well.
The main feature of the parameter editor is the layer editor. A layer is a named data set that has a particular function the produces its value. The inputs to the function can include planet and local properties (solar input, location, time, time of day/year, gravity, and many more) as well as samples from other layers. They all work with values between 0 and 1. They should have descriptions that explain what different numbers mean to help with editing (ex: 0=-40 degrees C, 1=100 degrees C).
Property layers are planet wide values that are computed. They, being planet wide, do not accept a location. There may be both time dependent and non time dependent properties.
A data layer is something not normally rendered, but can be sampled at any location in 4D space (X,Y,Z,Time). They can describe a large variety of things.
- Wind Speed
- Resources (One layer per resource)
Vector Data Layers
Vector data layers will probably be added after the initial release. They allow the handling of vector data sets like wind speed and direction, ocean currents, and maybe even, slopes, and maybe even 4D vectors like the change in slope or wind.
Texture layers are organized hierarchically (layers can have sub layers with sub layers etc). Texture layers use their value for the opacity of the texture. For example, a land texture layer would be 1 where above water, and 0 where underwater. It would contain sub layers such as forests, beaches and deserts. Textures themselves can have masks, so a tree texture layer could be transparent between trees. When getting the mask from a texture layer, the scale is involved, so as you zoom in, large scale graphics could be phased out (like forests) and replaced with smaller scale ones (like trees), then smaller (like leaves).
These are not critical to have for a first release, so they will probably be included later. A sound layer works just like a texture layer, except instead of a texture, there is a sound loop, and instead of a mask there is a volume. The area at and around the viewer is sampled in all the sound layers, and a real time sound is mixed including volumes and directions. This would work well for things like wind. A wind in trees sound layer could be made that gets scaled based off of a wind speed value that changes over time and location, and scaled off the amount of trees. It would also work great for ocean waves and lots of other things.
These describe locations. Things like "Scattered large trees; lots of tall grass; 30 degrees; 20 mph winds; 30 inches or rain per year; abundant oil deposits; no gold ore….
Placed items are a somewhat new idea still being worked into the design. They would be things like 3D models of stuff like trees, placed texture samples, and/or placed patterns in layers (such as mountains in a elevation layer, or trees in a forest texture layer).
The planet tool will have a 2D texture viewer, and a 3D viewer. Sound and description layers when implemented should work in both. It will also be able to view overlaid single layers (like a temperature map, rain fall map, elevation map etc). It will feature zooming in both views as well.
It will export data files that can be used in game, so if you make a great layer, or set of layers, or just some nice adjustments to existing layers, you can submit them to get included. This should allow use to get layers for all levels of zoom in all areas for many different types of planets (based on planet properties). Eventually it should look good from moon rocks to vast forests, to drift wood on beaches, and weather dependent tree health, and seasonal changes. It will also be able to batch generate 3D models with textures for use in renderings and other games, though this feature may not be free for commercial use.