Re: Worldbuilding

At a mid-to-high level, how will planets be generated in mechaenetia? I like learning by example, so I will give an example algorithm and hopefully that can guide your answer to the question.

Let’s say we want to make a planet. This particular planet is going to be an ocean archapelago type planet, since that’s the kind Gregorius T. wants to start out with.

We know the planet is conceptually a solid torus, but it is implemented as a flat world and the game engine will do some tricks so that players think they are on donut-shaped planets. So, the first step in our algorithm is to determine the size of the planet. We will need at least two measurements.

Here is a picture of a torus, which represents the planet we are making.

The two red circles are congruent and lie on the same plane, while the yellow circle runs through the center points of both red circles. The surface of the torus is formed by sweeping one of the red circles around the yellow circle.

The two measurements needed are the circumfrence of the yellow circle and the circumfrence of the red circle. Perhaps in-game dialogues will refer to planets by their diameter (of the yellow circle) and thickness (diameter of the red circle), and we can easily convert that to circumfrence by multiplying by pi. These are used to determine the width and length respectively for our “flat” map.

Gregorius T. hasn’t fully divulged information about how big these planets are supposed to be, but given the shape of the planet it is safe to assume the thickness must be substantially less than the diameter. I’m going to arbitrarily pick a planet diameter of… 24,000 km and a thickness of… 6,000 km. For reference, Earth’s diameter is around 12,000 km. This means the red circle has a circumfrence of about 18,840 km and the yellow circle has a circumfrence of about 75,360 km.

Therefore our planet is actually implemented as a flat world 75,360 km wide and 18,840 km long. Walking over the right side means walking into the left side, the far side connects to the near side, etc. There is some distortion involved but the basic concept going from flat to torus can be seen in this video. I’ve rather arbitrarily decided where the poles and equators should go on this projection of the flat world onto a 2d map:

(please ignore the compass at the bottom left of this and the next few pictures, which is clearly wrong)

Now that we have a basic shape we can move on to the second step in the algorithm, which is to define the major geologic features of the planet.

Before we can do that one has to understand the nature of a toroid planet. Normally gravity causes planets to form something like a sphere, so if the planet is a toroid some other force must be counteracting gravity. This force is the centrifugal force (actually just inertia) from the rotation of the planet. I don’t feel like crunching the numbers to see exactly how fast the planet has to rotate but this should be implemented since it’s a one-time calculation per planet, and it determines the length of a day as well as base wind speeds and tidal forces.

The same centrifugal force means that the shape of the planet is distorted a bit. Just like when tossing pizza dough, mass is pushed to the outside of the disc, or in this case the outside of the torus. Those red circles in theory should become ovals with the thin part facing the donut-hole. Perhaps more importantly, the mantle layer of the planet becomes more dense as you move further away from the donut-hole.

Now we can start on the geology with tectonic plates. I’m going with the mantle convection theory of plate tectonics, whereby differences in mantle density drive convection which drives movement of plates. More density means less movement means larger plates and therefore less rugged terrain. Based on the above, we can assume that the outside of the torus will have larger tectonic plates.

So, I break the map up into plates with larger plates near the exterior equator and smaller plates near the interior equator:

Then I give every plate a direction. Real tectonic plates don’t always have a uniform direction but I’m making a compromise here. Once I have each plate’s direction, I can determine which boundaries are convergent and which are divergent.

The next step is to determine where to put the landforms. This world type is archipelago, which means the planet is young and mostly covered by water (which is also why I used the huge contiguous plate). So I’ll put a couple medium-small continents near convergent plate boundaries, and maybe an archipelago that broke off from a continent. I’ll also add many islands along convergent plate boundaries, and a number of small island chains away from plate boundaries to account for “hotspots”.

All of the larger landmasses in the top half are rough, mountainous terrain that hasn’t had much time to weather down (think Greece). What few landmasses are in the bottom half see more sun and are thus hotter, possibly even creating a desert. Also, the poles have half a year of sun and half a year of night which means lots of ice. I won’t bother drawing a topographic map or underwater features, but this is where the algorithm determines the basic height map.

(the compass here is finally accurate)

With the height map in place the next step is to determine ocean and wind currents. To do this, divide the water into oceans with different general temperatures. Remember that the equators receive the most sun and therefore the most heat.

For the ocean currents, just create a number of loops going between adjacent cold and hot zones. Generally, cold water should move east and towards the equator while warm water should move west and towards the poles. This makes nice clockwise circles in the northern hemisphere and counterclockwise circles in the southern hemisphere, consistent with the Coriolis effect.

For wind currents, the unusual thing is that there are two equators. That means four Hadley cells, four easterlies, and four westerlies. These aren’t difficult to draw on the map though:

Knowing the wind and ocean currents means we can determine weather patterns and later trade routes. I suppose most important, we could use this information to assign each region a modifier for rainfall and humidity. Remember that physics requires this planet to rotate much faster than Earth, so there will have to be a LOT more wind.

Something I’m not entirely sure about is how to deal with ice caps, since presumably the planet is tilted with respect to the sun so there will be approximately half of the year where one of the poles has lots of sunlight. (If the planet were not tilted the interior would never get any light and thus be very very cold and dark year-round)

Now we can start looking to add flora and fauna. Unlike the Earth, our planet has no history of a Pangaea. All of the landmasses are relatively young so that there are lots of archipelagos instead of mostly large continents. Gregorius T. hasn’t specified the story behind the planet, such as whether life is native to the planet or if it was seeded by some spacefaring civilization. I am going to assume life is native to the planet and similar to life on Earth.

That means all of the continents have grasses, trees, mammals, birds, etc. But the lack of a Pangaea means that evolution on land has to be independent for far away islands. Therefore, we would not expect to find the same or even similar flora and fauna across the planet, unless they live in the ocean or are recently descended from ocean life.

I won’t bother making a separate map but you can imagine, let’s say that continent on the left only ever evolved mat bacteria and fungus/lichen. And birds/dinosaurs/megafauna are only found on the big island in the middle and the long island chain next to it, and maybe flowering plants are only available on the two big continents in the middle. Due to the winds, one expects the western side of those two continents to have tropical rainforests while the eastern side of the (volcanic) mountain ridges might be desert or steppe. As a subroutine, determining which life forms go where would be pretty complicated. But on the upside, this only has to be done once as you can store a list of native life in each region.

Now we have a planet fully set up and ready for exploration - the next step is to establish the presence of civilization (if that is wanted). I don’t know the story behind the player’s presence on the planet, so I can’t say if we should simulate the origin and development of human civilization or just plop down a colony and spaceport.

Now we have a 2-d map split up into regions each containing base data for height, temperature, rainfall, wind currents, ocean currents, flora, fauna, and civilization. You can have the server work on big-picture events and processes using this map. When the time comes to actually generate the 3d section, this data should be sufficient.


Simple Answer: Custom and selected when generating a World.
Complicated Answer: I really need to test that myself once I actually have something to do Worldgen so I can get a nice Default Size.

Did you know you can run a Magnetic Pipe through the center of the Torus and accelerate liquid Metal inside it to stabilize Gravity and the entire Structure of the Torus itself?

Oh right I did not think about those at all. XD
I dont think I will do actually movable Tectonic Plates, though having Boundaries and a Vector might be good for determining which places are Volcanoes/Mountains and which aren’t.

The Planet is going to be artificial in Nature, because a Torus Planet is so super unlikely to ever exist, and so unstable, that it would not make sense to be any other way.

Definitely seeded by a space faring Civilization, but in a way that seems actually realistic to the inhabitants. Animals and Stuff will just procedurally generate in an Earth alike way but ofcourse always fitting nice to the environment they are spawned in.

And all the Space Tech is well hidden on the Planet, including from 99.9% of the NPC inhabitants. The Players all know that they are “Players”, there is no reason to hide that fact from them, since they always know.

The Space Tech is so advanced that it could even be used like a Magic System to people who dont exactly know what the Stuff is actually doing behind the Scenes.

That Tech could even lead to a Religion, considering how it might be used to revive Players and such, but it would be a kindof functioning one, since “Magic” exists and might be triggerable only by people with a certain moral mindset and/or reasoning, depending on which “Magic Object” it is, especially if it is an actual Space Tech Weapon with all the built in Mind Reading Security Functionality still enabled.

Your Map is indeed very similar to what I had in mind, maybe even a little bit more expansive than what I thought about. XD


I didn’t know that, and I’m still not sure if I understand it even after watching the video…

I don’t think it’s a good idea to actually let tectonic plates move as a gameplay mechanic. They are only good for world generation. Maybe tectonic plates and fault lines can also be useful as a production modifier for certain machines that drill into the mantle. For example, maybe mantle drilling operations over a convergent fault are +20% more efficient.

I am honored. :smiley:

I just noticed that actual worldbuilding is at the very bottom of your to-do list, so I understand if we don’t fully flesh out the process until much later.


Ah yeah, that List is because things need to make sense in order. That has nothing to do with importance. ;D

1 Like

This is pretty interesting. Assuming a rotation based equilibrium, I suppose the quick rotation could explain the short day cycles.
Though, you have to consider that the inner and outer equators are very different. Depending on the rotational axis and axial tilt, the inner would sometimes be blocked by the opposite half of the torus, like a half-eclipse or a second night. If the axis of rotation was not parallel to the axis of rotation (which isn’t a problem you see on a spherically symmetrical planet like Earth because you could just change where the rotational poles are) this would decrease the frequency of these self-eclipses, and would undermine the concept of seasons. Alternatively, if they were perpendicular but the planet had a low orbit around a dwarf star, with a decent axial tilt, the seasons would be a lot faster, and would receive sun cycles for months, but the inner equator would experience some very heavy eclipsial winters. For a system like Greg described with an internal spinning magnetic ring, you could just have it spin perpendicular to its revolutionary axis, so the inner equator receives slightly less light on average but seasons can still exist. Regardless of which of these systems are used, it would be more complex than earth, including on which points are “tropic” “temperate” and “frigid zones”.

As for the distortion of the planet, I’ve tried to do some calculations. Assuming the z-axis is the revolutionary axis, here is the function of the x, y, and z components of the gravitational field of a single point mass on a torus, where x, y, and z are the position of the ‘test mass’, and theta and r are the polar coordinates of the point mass.

If I do a definite integral of this d theta from 0 to 2pi, this would give me the force field of the entire ‘hoop mass’ torus, but the equation is, as far as I can tell, not integrable, so I did a 32-step left Riemann sum (and the resulting equation is too long to write here. The equation would be even more complicated if I did a fully 3d one with thickness and everything. Meanwhile, the magnitude of the centripetal acceleration is equal to the angular frequency squared over r. The angular frequency (2pi over the day length) in a rotation based torus should be (where g is gravitational acceleration and ac is centripetal acceleration) such that g+ac = 0 when the radius of the test point is equal to the radius of the torus’s ‘mass hoop’, which is surprisingly hard to calculate on my approximation. Back on track to the distortion of the shape, the ‘equilibrium shape’ which a planet will distort to is approximated by the orthogonal trajectories of the force field, assuming the center/hoop of mass never changes. Using pplane8 for matlab, I calculated the distortion for a non-rotating torus, a rotating equilibrium torus, and earth, respectively:
To make sense of these images, this represents a cross-section of the planet. For the tori, it’s actually the right half of a cross sections, where y=0 (the x axis, disappointingly) is the revolutionary axis. When the lines go off the page, that means that equilibrium point is unstable, or in other words, the centripetal force is higher than the gravitational force, so at conservative points, dust, rocks, horses, mountains, etc. are not restrained to the ground and may at any moment rapture themselves to a planetary escape velocity, and mass slowly escapes the planet, giving the planet a ring, or that is to say, another ring, which probably won’t last very long. And at more concerning points, the planet is torn apart in seconds. Non-rotational torus planets tend to form an egg-shaped, with the pointy bit toward the center of the torus. Rotational systems do the same thing in the opposite direction, but have a maximum size. And a fast spinning Earth would be surprisingly American-football shaped planet.

I’m not sure how the wind would work on a rotational torus planet, it’s complicated as hell, your diagram may be a good enough estimate though. And the extended Coriolis effect may have some major impacts on the distribution of the tectonic plates.

Biodiversity between the islands would certainly be a lot greater than on earth, but some animals like birds, seals, flying insects, etc. migrate incredibly far, and on rare occasions can bring seeds, bacteria, fungi with them, which may become invasive species and become prominent on more than one island. Aquatic reptiles like turtles may also re-evolve to return to land on a separate island, and it’s less likely but even mammaliforms like whales could as well. So having each island be the only place you find that class of animal is unlikely, but they would still be much more biodiverse than earth.

edit: centrifugal pseudoforce, not centripetal


Yep, Animals are definitely going to have certain things in common due to migration, especially water ones, since they can move everywhere.

As for the Gravity, the Inner Core can spin fast while the surface of the Torus has a more normal Speed, so you dont notice much of a gravity difference on the inside compared to the outside, except maybe being slightly heavier. And the Inner Core itself can be made of a very dense Material, so that the Ring itself has Mass based Gravity.

The Ring itself could also be closer to the outside of the Torus when it comes to its center of Mass, increasing the Gravity on the outside by the amount of centrifugal Force that is exerted on it, equalizing the Gravity in return no matter where you are.

Also Centrifugal Force is a proper term, nit-picky people are just too lazy to transform the Vector into the direction they want it to be. Every Force has a counter force if nothing ends up moving away. :wink:


The spinning core system is reflected in the first graph. Most planets will be mostly round. Having the radius of of the revolving circle be much smaller than the radius of revolution will minimize distortion and gravity difference between the equators, while a thicker planet will have vast distortion and gravity differences. It’s interesting to think of how wildlife would adapt to this.

I dont think a ring near the outside of the torus would be stable, as the inner part would collapse like a tower. It also wouldnt equalize the force, because the centrifugal force is only applied to the spinning component of the torus, or the inner core. Since the outer section is not spinning, it is not in the rotational frame of reference in which inertal forces (e.g. centrifugal, Coriolis) are applied, unless I am misunderstanding your conceptm


To be fair, I am not that good with Physics. If there is no need for equalization then I guess Islands close to the equator at the inside of the Torus might be much rarer simply because the Water would flood far taller there than on the other side, while the outer equator could end up with way more Continents.


Personally I’d just assume/say it’s non-euclidean space that the torusplanet lives in, which can explain why the inner and outer of the torus are the same size and all.

Could be used for other game stuff later too, lol.


Hmm, if you make the inner circle recieve little/no sunlight it could be like a frosty tundra ‘underworld’, kind of analagous to a second dimension like the nether. It could possibly have the largest, most dangerous, but sparsely populated fauna, to retain enough heat to survive, deriving their energy from aquatic souces and the minimal vegitation appearing in the summer months


Wouldn’t it be kinda problematic considering this would be like a permanent Solar Eclipse should they line up with the Sun that way?


That would make for some ‘cool’ planets though. ^.^