Engines Aether Legend of the Lunar Priest NIFE Roadmap
Shatterloop Game Projects Deprecated Starwright
Saepes Mundi Other Projects Blog  

Game Projects

Alchemist Checklist

Posted September 9, 2024 by Xhin

Cleanup

  • Game saving

  • Pouch journal stuff

  • Fix all the code TODOs.

  • Obviously I should do the same thing to all other resource types that I did to fish -- pull from real world names.

  • Bug: tile movement is no longer working.

  • Cleanup: there should be a Finds map like the scan map that lets you look at finds in other regions you've unlocked so it's easy to figure out where to find something.

  • Cleanup: similarly, items should tell you where they came from. This should probably be done after the constellations update.

  • Cleanup: Hide the debug menu obviously.

  • Cleanup: Improve upgrade/etc descriptions. Probably names as well (don't just assume the slug, which is integrated into the code). Also make sure they all tell you exactly what they do and what the cost is by the time of the code finalization.

  • Cleanup: Various tables should be sortable -- the extraction one comes to mind.

  • Cleanup: All the different playstyles should be heavily emphasized and the deacriptions should accurately represent how they're actually used as much as possible. Maybe some kind of guide if the desc is too long otherwise to give you ideas -- could be a book in the ship or something with tips. Maybe something that costs Wisdom to unlock the tips so it's not all just thrown at new players at once -- experimentation is still valid.

  • Cleanup: You shouldn't be able to fly over handcrafted solids (the ship, other story stuff). Maybe have a story tag on the tile to disable the flying hook.

  • Cleanup: When I get near the end of this project, menus like extraction, potionmaking, upgrades should only appear if you're in the personal realm so you have more of a reason to be there. I think it would be better to leave things how they are for development though.

  • Cleanup: The climbing menu should disable (via the not tag) when you unlock flying. Since the color scanner is always available this won't potentially mess up the hotbar. I should look at the other ones as well.

  • Cleanup: Obviously various tools should only be usable in a region (and never the personal realm). Will need to just fix/test all of these potential bugs all at once at the end of the project.

  • Cleanup: The personal realm shouldn't give you a Finds menu. Look into other realms and other menus as well.

  • Cleanup: need to look at all hotbar actions and whether they should be disabled on the hub or personal realm. Also will need to update the actual code as well, not just the event hook.

  • Cleanup: Upgrades > Research should be called "modules" or "plugins" or something, whatever matches the lore. Needs to be named this externally, the internal code is probably fine.

  • Cleanup -- Make sure all the close triggers for world fixtures are in place -- atm only the hub (and remote farming, as of now) are doing that.

  • Cleanup -- make sure ispan() in particular, but all of the spans are being used as much as possible, where it makes sense. ispan() is currently only looking at inventory data so that's currently a big reason why I'm not adding it everywhere, but I'll get to it in the late game of this project.

  • Cleanup -- automation menus should show something other than a corrupted table if you don't have anything in their category.

  • There are 8 Replies


    Capture Mechanics

  • Collecting that specific resource will update the captured amount.

  • When it reaches 5, take the time (pull it manually, can't trust clocker.stop() when there's multiple hooks to it), divide it by 5 and store this value * amt=16 in saved{} somewhere.

  • Also display the capture time here on the slot.

    Actual Capture Mechanics

  • Should probably import JS/timer{}

  • See: full checkpoint. Add an interval based on that time that (so long as the slot is filled) gives you amt=(farming_yield) of the resource. Make sure it's going through the common farming hook so I (hopefully) don't have to fully debug it. Also ideally there's a single timer that handles all capture events.

    Capture Upgrades

  • The amt saved should be based on a div-stat named "capture_speed" that minns to 1.

  • Add a super called Agnostic Capture.

  • This changes the capture formula so it works with any item pickup, not just the current slot.

  • Allow "recapture", which restarts the process and updates if the adjusted time is lower.

    Misc

  • Leaving the personal realm should stop the clocker timer.
  • Removing the slot should stop the clocker timer.
  • Running capture on a different slot should stop the clocker timer and revert its slot back to normal as well.

  • October 15, 2024
    Xhin
    Sky's the limit

    2D Farming Slots

  • Up at the top of the Farms screen, have a button to add additional loadout slots for the cost of 2 Triads.

  • This creates a submenu, with X selected, and numbers corresponding to additional ones.

  • Submenus fetch information from saved.unused_farming_slots[], which is a 2d array that contains both the menu (0+, which is index++ in appearance because the main is X) and then the slot data beyond that.

  • It should work identically, except it doesn't have to regenerate the world and also it gets saved in saved.unused_farming_slots[]. Also hide capture data since it isn't relevant here.

  • Down at the bottom, have a button that Activates the loadout.

  • This should swap the unused slot and the main one, and then regenerate everything accordingly. And also select the M slot.

  • October 15, 2024
    Xhin
    Sky's the limit

    Triangulation

  • Compound Triangulation and Element Triangulation should be separate unlocks that cost a standard amount of elements. They do require Scanning.

  • Effects Triangulation requires unlocking both + 5 Triads.

    Compound Triangulation

  • Next to each compound in the scanned list, have a Triangulate button, that costs some amount of 1 omni, seeded appropriately.

  • It should save to the same datapoint, with the compound rather than the effect, and also display accordingly.

  • Show (and discover, without wisdom) the terco as well.

    Element Triangulation

  • Have a button up at the top of the elements screen that allows you to triangulate.

  • This tells you to pick an element.

  • The elements should be hoverable and clickable.

  • Clicking it gives you the cost (which is 1 of some omni). You then have to click this new button.

  • It saves to the datapoint, and displays. It should show all items with that element, not just one of them.

  • If you have already unlocked the triangulation, just display the item once clicked and don't show the button.

  • Additionally, triangulated elements should be displayed a little differently.

  • Show (and discover, without wisdom) the terco as well.

    Effects Triangulation

  • On the effects scan screen, have a button next to each effect that appears in the region, with Triangulate (X), where the X is 3 of some type of Omni, seeded appropriately.

  • This should save to saved.triangulated[region_coord:effect] = item_name.

  • Show this data in the effects menu as the deslugged item name.

  • October 15, 2024
    Xhin
    Sky's the limit

    Progress Tab and Potion Count

  • Have a datapoint that stores made potions via {}=true. When you make a potion, store it.

  • Have a thing next to wisdom that displays the amount of potions. The max should be handled via potions.init, while the value changes.

  • Update it on successfully making a new potion type.

  • Add a progress tab to the left, after inventory.

  • List out all potions, indicate the ones you've made in here differently.

  • Make sure that potionmaking ui.refreshes() this area.

  • Add a note to the direct potionmaking feature about using this menu.

  • Add a loose end about potion placement in the ship affecting the display of this menu.

  • Unlocked stuff should appear within a submenu of the Progress infotab. Should have the desc as well.

  • Same deal with unlocked supers.

  • October 15, 2024
    Xhin
    Sky's the limit

    Potion Ingredients Difficulty

  • Make some potion ingredient effects more difficult to source, to drive players into Synthetic Ingredients.

    Synthetic Ingredients

  • Add the unlock. It should cost 5 Triads.

  • On the Progress tab, this unlock will add a "Synthesize" button to potion effects that haven't been discovered. This takes you to a submenu.

  • The effect gets assigned a compound. Down at the bottom, this changes the item name to look like "Synthetic_(effect)_(compound letter)(numbers).

  • You can set a starting range for the numbers (set to 0 by default).

  • You can add a triad to expand the range by an additional 100.

  • Each synthesis will cost 10mg of the compound you selected, whether it's successful or not. Since you can't do this if the range is too high, you should only be able to bump up the range by the amount of compounds you have.

  • I need to take special care to make sure that capture mechanics refresh the amount of triads you can spend (and compound quantities) without compromising triads you've already spent. And honestly that needs to be true in general, so add a UX note about it.

  • In any case, synthesis should begin -- it literally procgens the name to find the effect, adding numbers within the start and the range. This should be visible as it rolls along -- fast but interesting to watch. Show off the ispan and the element as well.

  • If it finds a match, add that ingredient to your inventory and stop there.

  • If it falls out of range, update the starting range so you can try again.

  • Maybe save the ranges here and remove the input box so scanning is more automatic.

  • October 15, 2024
    Xhin
    Sky's the limit

    Scan Map Loose Ends

    I'm tired of working on this project, so I'll finish it up later.

  • The different sections of the scanner should be behind links rather than submenu buttons.

  • The scan map should display scan data along the bottom.

  • All scanner functions should happen within the scanner "frame". So this should work regardless of where it appears -- hub, region or within the scan map.

  • Change the binding on the scan map to something other than .sym. this class should have cursor pointer on it.

  • If a region isn't scanned, lower the opacity to 0.2 and remove that class which should remove both the cursor css and the click function.

  • There should be some way of seeing unlocked tercos within a region, completely independent of normal scan data. Maybe from within a second map as a submenu of Finds. Obviously in this case the available regions would be the ones that have been unlocked, not the ones that have been scanned.

  • Elements scan data should indicate which ones are common (no tercos).

  • October 17, 2024
    Xhin
    Sky's the limit

    Bug Dump

  • WEIRD BUG tilemagic kills mess with the permeability of solids near the killed region. It also messes with placed ones from a single direction (coming from east generally). Super weird bug.

  • Can't climb from solid to solid on built solids. Probably related to the above bug.

  • the hub shouldn't look at built tiles

  • You can manipulate tiles on the edge of the screen with things like mining and tile placement. Maybe not a huge deal, or might be worth something looking into on an individual basis.

  • In the inventory screen, compounds shouldn't be links.

  • Bug: Wisdom is only giving 1 when a potion with 4 ingredients is being used. Seems to happen with 3 ingredient potions as well sometimes. Needs extensive testing to replicate.

  • Bug: Entering a plane is deselecting the inventory tab. The menu is still fine, and not a big deal, so minor bug.

  • Bug: mining should be based on the actual tile, not the nat tile -- you can currently mine the same tile over and over.

  • No idea what happens if you warp onto a resource.

  • Minor bug: gen.tiles[] is storing coords. Not affecting anything as far as I can tell, but shouldn't be happening -- I'm missing a clone operator somewhere.

  • In order to get bind_intputs() working, I need separate keypress events for focused input areas and the map, like how shatterloop has is_typing or whatever.

  • Scanned water is reverting to the region water color, probably because of how the water cycle works.

  • Bug: The farm sym color data is backwards and I have no idea why.

  • Submenus (like omni) aren't refreshing when omni is picked up in farms -- either this is systemic or adding stats just doesn't update menus.

  • On automation > potions, double up Px9 and see what happens if you have identical farms (or just any that match in more than one way). Ideally it would rehighlight it when you go a certain effect route. Need to fix.

  • Also on automation > potions, disallow more than 5 farms to be selected at a time.

  • October 17, 2024
    Xhin
    Sky's the limit

    UX Dump

  • Regions are named randomly after constellations + a greek letter (named in english here). There's going to be overlaps, but that's okay. The scanning screen still shows the region coord for better note-taking.

  • Items should store the region they're from and this should be displayed on the various item menus. Should be the coordinate which you should easily be able to see on the O on the hub. Should also display the constellation name. This makes it easier to automate wisdom -- you gather a ton of resources, find fitting 5x potions then trace them back to grab their farms. This would affect farming -- will want to make sure that tag is in the farming object storage for it.

  • Ingredients should maybe also show the terco, which I can save time with by storing the region_coord inside the item. This will affect farms -- hopefully the above point just gets to it though.

  • should be able to pick up resources on the next screen if you see them on the edge

  • highlight potion effects different random colors so they're more visually distinct. They should all be >#777 though so a black fg works.

  • You should be able to "mark" ingredients or compounds in various ways so you know what to not extract or whatever.

  • UX: Compound burning amounts needed / multipliers aren't really intuitive. Not sure how to fix yet.

  • You should be able to burn all (it assumes the highest multiplier and is after it in any case).

  • Burning should also cost mana. The net is the same, but this prevents just hoarding resources to make use of the higher multipliers.

  • UX: Omni should always be shown on the upgrades screen, not just on the omni submenu.

  • UX: Back buttons on submenus -- should be reasonably easy with prepend() functions.

  • Element amts greater than 1 digit long look like shit.

  • There should maybe be some kind of feature for scanning surrounding screens for a specific resource, or a specific discovered terco even. I'm thinking procedurally generating the locations of resources on a screen by seeding the screen does actually make a lot of sense as I can mess with the types and distribution as well, plus it would make this scanning feature work. Also note that this feature shouldn't exist in the personal realm, and also resource-mapping (the gen{} hook) is going to be different.

  • On the purify screen, indicate els that you already have some of on an item a bit different -- a subtle change that makes it easier to tell all the elements you have available, by running one at a time.

  • A resource should preferentially become whatever it's surrounded by, like water or solid. Otherwise yeah gen.blank is the way to go.

  • UX: In the extraction menu, higher-value compounds should be bolder or bigger or something.

  • I'm thinking maybe that researching one compound's effects researches all effects of that type in the screen as well. And this should be indicated with TD highlighting, also now I don't need to see how many you need of each type.

  • October 17, 2024
    Xhin
    Sky's the limit

    Reply to: Alchemist Checklist

    Username
    Password