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

Deprecated

Fleet Checklist

Posted February 19, 2023 by Xhin

Now that I sorta know what I'm doing with items, the project looks like this:

  • Basic setup (the fleet, engine, languages, etc)

  • Get item systems in place, getting each race to generate its own items / crafting / etc. These are all named random things in the race's language.

  • Setup the framework for rooms to have items and fixtures based on that information via a weight chart, and then also I guess push this into the rooms data -- the amt should really be based on the number and depth of the crafting system, not just a random number. Room names are based on language data.

  • Aggregate these as well as the handcrafted rooms into a general ship layout. Have the ability to navigate them and see what they contain, but not interact with them yet. Handcrafted room names are also based on language data.

  • The warp room should tie into the network framework I've built and allow travel to other ships, generating them in the process.

  • Get items / the inventory working

  • Get fixtures / visible item properties / transformations working.

  • The scanner room and scan resource use.

  • Fractal black boxes and the Clues system via Clue rooms presumably.

  • UX/Lore/safety checks (i just thought of a new one -- items can totally appear in multiple races so they need to be stored additionally by race name ideally) etc

  • There are 1 Replies


    Basic stuff

  • Set up a fleet subdomain.

  • Import the fishing game text engine, minus anything fishing-centric. language{} is important. Definitely import rand.pyramid(). Stick relevant stuff in packages.

  • Setup the index and js loading.

  • Get the basic text engine working.

  • Go ahead and clone this for other future text projects so I don't have to do this yet again.

    Fleet design

  • Create fleet{} I guess.

  • Bootstrap .init() into .create() and .connect().

  • On .create(), Create a 20x20 grid of 100x100 spaces and vary each ship (-100,100) units on both the X and Y axis, then store the coords accordingly. Store both the grid coordinates and the absolute coordinates. Key it via this super grid, and have height/width be variables set to 20.

  • Give each ship a two-word name in the language

  • On .connect(), loop through each ship and connect it to anything within sqrt(200) units on adjacent super-grids. If there are less than two connections, randomly choose connections to go up to 2. Connections are 2-way so this process should get easier over time.

  • Set up some pathing so I can test ship connections, via debug_fleet{}.

    Ship Races

  • Transcribe forever garden into lang.js or maybe a separate library altogether.

  • Create races{}.

  • On a bootstrapped .init(), generate 10 races. For now this just generates languages and some word in the language to represent the Race.

  • On ship build, assign each one a race randomly and then assign the ship name based on that and the ship grid coord. Names should still be indexed and fix duplicates.

    Ship layouts

    In the races area, assign the following stats:

  • Sections -- py(2,3,4)
  • Floors -- py(2,[3-5],[5-7])
  • rooms_per_floor -- [ py(2,[3-5],[5-7]), X+py(1,2,3,4)]

  • Create rooms{} and render the following object for each race:

  • Create 4-10 room types (RT), assigning them random language names with the first word being totally random and the second word being one of 3-5 words which are 3-5 character substrings or combinations of words in the language. May need some framework to make this viable.
  • Assign 3-(RT, minned at 5) of them to have "fixtures" and 3-(RT, minned at 5) to have "items" among these room types, as booleans. These can overlap.

  • February 19, 2023
    Xhin
    Sky's the limit

    Reply to: Fleet Checklist

    Username
    Password