Engines NIFE Roadmap Shatterloop Game Projects
Deprecated Saepes Mundi Other Projects Blog

Deprecated

The Wheel Checklist

Posted April 26, 2023 by Xhin

Should be a relatively easy game to set up, or at least the first draft of it. I fully expect it to turn into more of a game at some point for some reason.

There are 1 Replies


Generation

I should probably do this sequentially from the outside in the same way I'm building Eldritch Library.

Basic Setup

  • The player should have a .loc{} that stores all their location information.

  • A .set_loc(name,value) will update this and will also create a .seed_arr from all t2d'd properties in .loc{}.

  • Expand the seeder so there's more nums available. Look up a list of primes and make there be about 20 of them.

  • A player.seed() will send the seed_arr to the seeder.

  • Assign the player a wheel_loc.

  • Set the font accordingly.

  • .gen() runs each generation function, passing the data to it. These generation functions will do everything else unless (and only unless) they can be generalized. Run player.seed() before each step.

    Solar System generation

  • Make sure there's a world.data{}.

  • Make sure the hsv version of colors{} exists.

  • Create between 3-10 gas giants. Their size should be 15-30. Assign them a color along the hue spectrum from some arbitrary point and a lightness and mid-sat.

  • Pick one and assign it to the player.

    Gas giant skein

    Essentially, the size here is the amount relative to earth. Jupiter is 10, the largest known planets are close to 20, I went a bit further. The actual planets should be between mercury (0.3) and earth (1).

  • Pick a planet size, which is a 2-prec float between 0.3 and 1.

  • Recursively downscale from the gas giant size until you drop below the planet size. Downscaling should be a 2-prec float from 0.3 to 0.8. At each stage, create between 2-5 entities, with the final stage being planets.

  • What actually gets stored is just an array of indexes for the player, however the world data should also store the planet size and number of thing under it (and also store the actual data below it). Store also a colors.like() of the gas giant color.

  • Assign each wheel a random language, and use this to name gas giants, appending a word that means gas giant in that language after (or before) every one.

  • Pick a final planet for the player. Whichever planet color they land on, change the background appropriately.

    Planet Generation

  • Give each planet a random language and assign the planet a name in it. This should happen during the bottom level of the skein generation.

  • Create 5-8 continents and give them a one-word name.

  • Pick one at random for the player.

    Nations

  • Generate 5-9 words in the language as signifiers. All signifier generation should happen right after the language is created, to prevent seed nonsense.

  • Each continent generates 5-20 nations which are a random word followed by one of the signifiers, or (with chance(10)), none. 10% of the time, instead give it a random 2/3 letter acronym, with a 50% chance of it having a signifier at the end.

  • Assign one to the player at random.

    Province

  • Create 4-7 provinces. Give each of them a biome from some basic list. Name them 2-3 words in the language.

  • Assign one to the player.

    City

  • Assign 10-40 cities and assign them population densities, which should vary depending on the biome, with deserts having less people obviously and anything bordered by oceans or major rivers having more.

  • Assign one to the player. Also assign the city population density, it'll be important later.

    Districts

  • Look up what districts are and make a list of them.

  • Give each city 5-10 districts depending on its population density.

  • Assign one to the player.

    Roads

  • Whatever the districts are, compile a small list of words that could describe it. ChatGPT might be useful herein.

  • Assign 5-20 roads on each axis.

  • Assign one of each type to the player.

    Building

  • Clone the seed, push the x-road to dictate x-road properties and the same deal for the y-road. The number of buildings along any road should be 2-7.

  • Create 5 short signifiers in the language (2-4 characters if possible).

  • Create buildings and push to all sides of the current road. (note: may take some seeding work here since you're actually looking for the relationship between two roads). Give them a signifier and then 2 words.

  • Assign a player a random direction from the block and a random building from it.

    Floor

  • The population density dictates the amount of floors, from 20-70.

  • Assign this, and then pick a floor for the player.

    Office

  • Create a couple extra languages for the building. Maybe 3-5.

  • Generate 20-100 offices. 50% chance it's the parent language and 50% chance it's one of the weird languages.

  • April 26, 2023
    Xhin
    Sky's the limit

    Reply to: The Wheel Checklist

    Username
    Password