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

Shatterloop

Loose Ends Checklist

Posted July 18, 2021 by Xhin

I'm throwing everything in here that's related to a "finished" project, including UX fixes, integration, etc.

Page 1

  • Materials UX Update
  • Terrain Configurations: Still TODO
  • Pylons Changes
  • Post Metals Update
  • Additional Towns v1 stuff
  • Get one of each type of shop appearing in the overworld
  • Scouting Loose Ends

    Page 2

  • Combat Loose Ends
  • Catalyst Station Loose Ends
  • Pinglike Upgrade
  • World Text
  • Bases Loose Ends

    Total: 12 via 8/16/2022

  • There are 14 Replies


    Materials UX Update

    Combines all my materials v3 checklists into one.

    Appearance

  • It honestly makes more sense to separate out trees/shrubs/grasses than it does to put rocks/insects in their category.

  • Insects and Rocks need to go into the "raw materials" category. Update this anywhere where they're rendered. -- The rocks change will mess with geologists and other shop types; the insects change will mess with the current version of fish (probably irrelevant now). May want to wait.

  • Brush should have a different naming scheme than trees. Also need to do a lot of naming changes in general.

    System

  • Having 20-30 for each individual item is way too much -- I should alter the surface materials functions (and all hooks) so I can (optionally) custom-set amounts for each material type.

  • Extend simplification to all other tercos -- symbiotic/harmonic, anything screen-based, changing the orders of everything so hierarchy is respected. All submerged variations should appear as well. It's important that I wait on this update until after the metals update.

    Integration

  • I need a new discoveries tab for terrain configurations. Should probably just fake something out for now (and integrate terco_help in whenever that's working). This should make it easier to see everything in the terco and terco_reverse objects so I can locate specific materials to test or balance them better.

  • Rarity colors for different configurations -- reflective in the new discoveries tab.

  • Loot should be reflective of materials v3 -- trickier to do then just generating tree names beforehand.

  • July 18, 2021
    Xhin
    Sky's the limit

    Terrain Configurations: Still TODO

    This project is also still open.

  • Get all the help systems working.

  • Get all the generators working appropriately.

    Other things related to this megaproject

  • Get Caves Materials integrated.

  • Rocks v2

  • July 18, 2021
    Xhin
    Sky's the limit

    Pylons Changes

  • I need a generalized function for being able to search the player and base inventories simultaneously. i_filter{} and all other high-level classes should have an option for turning it off (it should be on by default since 99% of everything is base materials processing). Additionally, inventory.take() and .give() should search through the base inventory if they don't find an entry in your inventory. Then if .give() still doesn't find one, create a new entry in your inventory. This change though would make it just work across the board.

  • Pylon jewelry lists should access either.

  • I need to look at all fixtures and make sure this is happening across the board there as well.

  • Myriads will probably be essential to creating the Attractors for transdimensional portals. Attracting to the home dimension should be free though, which makes sense both from a gameplay perspective and from the lore.

  • Pylons should cut down on the cost of Portals and Farming machines as well.

  • You should also be able to place a portal pylon for a good bit of non-pylonable aether -- this let's you set up additional pylon lines in melange dimensions, etc.

  • Given this it would make sense to make pylons the way to automate Farming machines (assuming I haven't done this already).

  • January 29, 2022
    Xhin
    Sky's the limit

    Post Metals Update

  • Make sure cave farming makes sense.

  • Make all metals be in the "ores" and "metals" categories since there's 12 in total.

  • Make sure precious metals have a separate property.

  • Alter the itemgens to represent the 12 that are allowed.

  • Alter the shops and must-sell shop properties as well.

  • Each tool (like lockpicks) should have multiple material types associated with it for more procgen possibilities.

  • Stick all the tools together in the same menu, move bombs to "consumables" or something.

  • February 1, 2022
    Xhin
    Sky's the limit

    Additional Towns v1 stuff

    This list are some ideas I came up with while working on the towns v1 finishing project + some of the stuff in there that fits better on this list.

    Stuff from the list above that's better off here

  • Comb through the integrity.furniture_loot() list, distributing those functions into the furniture as needed.

  • Comb over the furniture loot list and make some items appear more than once in furniture (like extractables, dyes, potion ingredients)

    Money distribution

  • Find the hook for item amounts (seem to have forgotten it)

  • Distribute small_money, med_money and big_money.

  • Create rand_money that will give a random money of the three, with small_money more likely

  • Distribute this across areas where money would likely appear

  • February 1, 2022
    Xhin
    Sky's the limit

    Get one of each type of shop appearing in the starting province Checklist

    Need a full checklist for this because it's a bit tricky.

  • Create an "all" index in inside.init()

  • In towngen.gen(), pull the premade_types variables back out into the object and hook back in. Might be tricky with the random one. I hope I don't need yet another checklist.

  • Find the hook for how many houses are in a town max and make that also accessible in a similar way.

  • In province.init(), run province.assign_houses() right before the loop: run a function that distributes the inside.index.all[] into nationgen.index.all[], forming a new variable called "distributed_houses" that assigns the nonad kee to the house types -- this should be stored in province{} directly.

  • Don't assign houses if you're not in region 0.

  • Also in province.assign_houses(), make sure the maximums for the #/houses in a town and the premade types are respected during distribution.

  • In towngen.gen(), append province.distributed_houses{} to the premade_types via the nonad kee.

    That should ensure that the starting province has one shop of every type.

  • February 1, 2022
    Xhin
    Sky's the limit

    Scouting Loose Ends

    Some are explicitly here -- the rest are actually going to be built out tonight/tomorrow because they'll improve the hell out of the feature and make the update post cooler.

  • Scouting should maybe take real-time. This would help cut back the CPU processing of it a lot and also make more sense anyway.

  • Scout animals should be able to see animal nests if I don't get to this already in the Combat update.

  • In the rendering engine, look up all zoneloader data and any tiles like that should be grayscale static (so basically chimera). Should try to figure out what's actually going to be rendered first, and then assign those datapoints, to optimize it. This will however potentially be tricky with journey and deep scouts. This should happen with the zoom map as well.

  • Cartography Maps always show Nests. Can't do this until after the nest update.

  • Alter gen.color() so you can set gen{} properties like world_type, region and world_floor locally -- hopefully this works. If so, build out a checklist to create cave maps and throw that back in this functionality. -- Too complicated, as the actual variables are set with region{} or biomes{} or something. Will revisit later.

  • With this update, Cartographers should be able to sell maps from other regions, tetrads, etc. Who knows what I'll want to explore when this happens. There needs to be Warp functionality to the specific region as well.

  • Cartographers might be able to sell: province-map stuff, the html5 map thing. Maybe town maps , dungeon maps, aggregating data that'll be in the NPC info framework (and maybe the existing one as well, particularly shop types or expert locations), maybe fishing data. Honestly I should try to aggregate all possible mapping data.

  • Treasure maps should offer something other than just Crystals.

  • Tooltip tercos should work on Nests.

  • June 12, 2022
    Xhin
    Sky's the limit

    Combat Loose Ends

  • Maybe think up additional weapon types now that I have better mouse hovering and the mouse wheel to work with. Terrain-based stuff also makes a lot of sense (I think I have some notes for that here).

  • enemies should also be able to do ranged attacks, status effects, "landmines", etc. Which kinda necessitates armor again, which I have no problem with. Should be waaaay simpler though. Maybe impact stats and health, which moves those functions out. Possibly affect mana regen, which can move that away from altars, which is probably for the best, particularly since altars will probably be used for enchanting too.


  • Mounts have a health system which mimics the player system but tends to be more forgiving. One use of them is that they take damage from enemies rather than you. If a mount animal runs out of health you can't use them anymore -- you must feed them and wait for them to recuperate. They unfortunately can't be Retrieved either, though thankfully your Pets menu lets you know where they are at all times.

  • Enemy naming should be reflective of what the mount animal does and should maybe influence their terrain patterns. I don't really want to get to that in the current update, too complicated as is.

  • An input box next to "Craft" should let you craft an arbitrary amount, and there should be a way of crafting as much as possible as well.

  • I have no idea how to across-the-board fix it, but properties like "iname" aren't being transferred properly, particularly since things like fishing don't reference the itemgen{} directly. Even though they should beause the tercos do, wtf. Idk, I need to look at all of the game's items and how they're generating so they're consistent I guess, and then add things like "iname" so crafting alchemy works across the board.

  • June 28, 2022
    Xhin
    Sky's the limit

    Catalyst Station Loose Ends

  • Look at all systems that work with properties and incorporate catalysts in them wherever it makes sense.

  • Starseeding is probably a good contender (though I forget how that system works exactly).

  • July 15, 2022
    Xhin
    Sky's the limit

    Pinglike Upgrade

  • Add pinglike functionality where when you hover on a pinglike a tooltip appears to the left of the menu screen (but along the same vertical row) that lists its properties, via a .format() function somewhere (Which for now will just list them). Should help with UX early-game but may not be a great permanent solution.

  • Do the same thing with the inventory, listing it on the right but the same vertical axis. Obviously not the best long-term solution but helps a heck of a lot with both development and early game alpha stuff.

  • July 15, 2022
    Xhin
    Sky's the limit

    World Text

  • Create world_text{}.

  • Build a minor framework for it -- give it a string and either a starting coord or a starting coord/xmax or two coords, and also a direction, and it'll place text into the world accordingly.

  • Have a framework also for typing -- a cursor position and bounds. Can't move outside the bounds for any reason.

  • Add a Text mode with a micon that makes sense.

  • This sets a click event that starts typing mode.

  • Typing mode will completely reroute all keyboard events through it.

  • It should also create a blinking cursor timer that'll disappear when not in use.

  • Pressing Escape will stop text mode.

  • Set bounds on the screen size and the cursor position on where you clicked.

  • Arrow keys should move the cursor position.

  • Enter should go to the start of the next line.

  • Typing should stick the character in and advance to the next column or line if you reach the east bound.

  • Add a TODO somewhere about bg colors, symcolors and xcolors with typed text. Or just program it. Use the dye system (and subtract dye appropriately, so probably need to generalize that menu ).

    Civ Houses

  • Use text to show what houses actually are along the wall that makes the most sense.

  • The coloring bug must be because it's pulling the built layer or the gen layer color rather than the top built layer. Would explain why some of them are floors too.

  • Don't have it directly next to the door, have a 1-margin.

  • Cut off the name based on the house size, including the 3 unused spaces. The space thing can still work however.

  • August 17, 2022
    Xhin
    Sky's the limit

    Bases Loose Ends

    Building Dimensional Limits

  • Disallow you from building in caves.

  • Disallow you from building in dungeons.

  • Add a TODO in those codeset about checking extracurricular world types for build permissions at the end of development.

  • Make sure I have a checklist point about not being able to build within a structure's radius (around them is fine). Idk how the system works though, maybe you can build between inactive dungeon structures, will need to check it.

    Base Locking

  • Bug fix: "Attempting to create base" and "Adding to base" functions should turn nat solids that are part of the structure into built solids since I'm here anyway.

  • All tiles in the base should get a "room" key which is stored inside the tile data. Based presumably on the top-left coord which is hit via the magic check-for-room function.

  • Make sure the magic-check-for-room function ignores tiles which already have room keys.

  • The tile data should also store locked: true.

  • Fixtures can only be placed on locked tiles. When this happens, store a datapoint that assigns those fixtures to a certain base room.

  • You can't highlight or perform actions on locked tiles. Probably limiting it to highlighting makes the most sense. Make sure you can't get around it with invert/etc. Basically stick the limit in the highlighting function itself, and make sure all highlighting actions go through it.

  • A button to pick up fixtures on screen. Will be the easiest way to move fixtures from a technical perspective.

  • Add a TODO here about giving you the fixture item back whenever that update happens (probably around the PGCS).

  • Add an "Unlock Room" button. This can only work if there are no fixtures assigned to it.

  • It also can't work if the portal spawn point is inside this base room, so this also has to be moved.

  • Assuming everything checks out, unlock all tiles assigned to it and kick you out of the base. You'll then be able to adjust stuff and reassign the base room.

    Old Bases Checklist

  • Make sure you can only place fixtures in the current room you're in, and not anywhere around the border (solids, doors). Otherwise give an error.

  • August 17, 2022
    Xhin
    Sky's the limit

    Running Misc

  • Very random idea -- towns on the outer edge of the nonad system vertically should be able to connect to towns opposite them vertially (like topmost hits bottommost) and same deal with horizontally. This just makes sense.

  • Lattices should contain additional potential exotics beyond myriads such as sinkcores, etc. They're rare and their chance of extract is low.

  • I have another note for something like it somewhere, but dimensions should occasionally spawn "melange resources" -- basically random colors/syms (or fixed colors and fixed syms that are randomly put togethr) that can be extracted for a variety of stuff. So like the above but not really rare resources. Like with weapon generalization, name them something unique for their type, like something that extracts for feathers, scales and cloth might be a "lembuac", so in this case it would be a "Heartwood Lembuac". Then in some weird altplane you might find a "Sevenking Lembuac", which again extracts for feathers, scales and cloth. These should probably also be on the terco system. And none should exist in the overworld.

  • August 26, 2022
    Xhin
    Sky's the limit

    Misc from the caves update

  • bring back gashroom bombs maybe (idk how the mechanics there would work yet, so am going to wait.)

  • The secondary matching on cave holes feature should instead be a lab unlock -- it's a bit slower so this could be explained away in the lore.

  • August 29, 2022
    Xhin
    Sky's the limit

    Reply to: Loose Ends Checklist

    Username
    Password