Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

194 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

shapezipelago

Client mod for the Archipelago multiworld randomizer.

TODO list

Bugs

  • going into settings resyncs all items, even inflation traps, but connection stuff doesn't reset
  • weird level checking after loading save file with saved connection details, maybe because of inflation trap?
  • pinned shapes unpin after receiving upgrades
  • wire layer not showing in vanilla
  • later level requiring less amount than previous
  • king of efficency might softlock if rotating required but only got ccw rotator so far, maybe fix by requiring cw rotator for that location?
  • chaining extractor not progression
  • level reaching achievements do not sync if checked while not connected

Technicalities

  • Build input box in HUD class
  • storing reoccuring strings in global data to prevent errors:
    • "Shapesanity" and its different types, put together with [].join(" ")
  • merge level requirement generation using phases
  • Rework building overrides for future mod compatibility
  • Convert to TypeScript
  • Update archipelago.js to 2.0 (need fix for structuredClone())
  • Rework shapesanity data transfer and processing
  • ability to remove done shapesanity row
  • add level 50/level 100 achievements to list of disabled long playtime achievements if goal == even fasterer or efficiency III

Client QoL

  • meantime offline playing
    • connecting in main menu and loading save overwrites login data, but not gameplay altering data
    • Save all slot data in save file
    • when connected replace ap inventory, else load from save file
  • Text box (read only), received non-progression items only there
  • Achievement description ingame
  • Details when checking Level location, override hud
  • Automatic reconnecting if connection lost
  • make even_fasterer goal collaborytive using datastorage
  • sorting shapesanity rows by completion
  • shapesanity shape signal at hub
  • filtering shapesanity rows
    • color, subshape, type (half/piece/singles/...)
    • and/or/not switch
  • More splash tips
    • something about random yamls and even_fasterer goal
    • something about the bucket

APWorld Qol

  • Make list of compatible utility mods
  • Add cosmetic randomization to game info
  • Option groups for building variants
  • Make being able to build a MAM a requirement for MAM goal
  • Option to make shapesanity logically require building a mam
  • item that gives preview on next level

Gameplay

  • Something with energy link
    • idea: blueprint shape
    • idea: AP logo resembling shape (Dragion)
    • idea: building for sending and receiving energy (Dragion)
    • idea: disable blueprint achievements when energy link active
  • Add bounty goal: collect mcguffins, enough of them reveal bounty (always fully randomized shape with up to 4 layers), checking that sends goal (not without enough mcguffins)
    • idea: mcguffins are called customer requirements (Boo)
  • Add Maximum goal: all other goals combined
    • All levels up to goal_amount
    • All upgrades up to goal_amount
    • If also added: Deliver bounty shape
    • 256 blueprint shapes per second to send goal (not saved if reached earlier)
  • Raid boss goal
    • Level 26 as horrendously large level, scaling with participating player count
    • Players contribute to common boss, bounce packet sends contributed shapes to all players
    • Two variants: sync and async
    • Shapes get drained in certain time intervals (interval length depending on variant + host setting)
  • Need some ideas for expanding upgrade requirements
    • idea: patterns per category (Dragion)
    • Idea: Amount of early phases (1-10, standard 1)
    • Important: Look out for collisions with goal_amount
    • Idea: Amount of shapes in late phase(s) (1-5, standard 3)
    • Idea: Amount of shapes in early phase(s) (1-5, standard 5)
    • Idea: Different modes:
      • Standard (x early phase(s), 1 late phase)
      • Alternate (x <early, late>)
  • producer with 100 "producable shape" items, options: no producer, yes producer, replace extractor
  • Expand shapesanity to 4 layers (blacklist needed!!!)
  • Option for how to unlock building variants, choice: individual, progressive, backwards
  • Add option to automatically complete and skip checked levels and upgrades
  • Mod compatibility and including some features in generation
    • Portable Micro Hub Receiver
    • Quad Stacker
    • SkUpdate
    • Shapez Expanded Buildings/Shapes
      • Flowers and gems generate weirdly
    • Packaging
    • Edge Rotation
    • Lazer Cutting
    • Buy Land
    • Wrexcavator
    • Plantz
    • Hexagonal
    • Diamond shape (original)
    • Non-constant signal (original)
  • Option: additional upgrade categories, needs another datapackage setting
  • Long belt helper hotkey as an item
  • "slow" choice for the randomize_level_logic option: every region contains one third of the remaining levels (i.e. 0 processors 1/3 of levels, 1 proc 2/3 * 1/3, 2 proc 2/3 * 2/3 * 1/3, ...)
  • Time trials
    • trials to build a factory for a random shape in a limited time frame
    • adjustable punishment
    • different difficulties based on available buildings and complexity
    • new tab in AP box with button for each trial to start and reveal the shape
    • New goal requiring all trials to be completed

More mods/implementations

  • Better freeplay shape generator (just copy from this mod)
  • task-based read-only implementation
  • Offline randomizer

More Randomization

  • Randomize blueprint shape
    • option to have it in earlier spheres
    • preset option
  • Buildings functionality randomization, like malfunctioning trap, but permanent
  • Add music tracks to item pool (is that even possible?)
  • Cosmetic randomization (togglable)
    • Shape drawings
    • Tooltips
      • Image
      • Name
      • Description
    • silhouette color
    • building variants
    • sound effects
    • shop order

Gifting API

  • Produce and send products to other games via gifting api
  • Online shop to order gifts as expansion to gifting api, can be disabled
    • Example:
      "Shops;[teamNumber]": {
          "[slotNumber]": {
              "DataVersion": 2, // Same as gift data version
              "ShopVersion": 1, // Increment if shop is updated mid-run
              "ShopName": "Player1's factory",
              "Payment": "Send anything", // Information for customers on how to pay
              "Offers": [
                  {
                      "ItemName": "Copper Plate", // Should be unique within the shop
                      "Traits": [...], // See GiftTrait Specification
                      "Price": 288000 // in AP currency
                  }, {
                      "ItemName": "Coffee",
                      "Traits": [...],
                      "Price": 1500000000
                  }
              ]
          }
      }
      "ShopOrders;[teamNumber];[slotName]": {
          "[unique ID]": {
              "ID": "[unique ID]", // Will also be the id of the delivered gift
              "CustomerSlot": 1,
              "CustomerTeam": 0,
              "ShopVersion": 1, // In case the shop is updated mid-run, so the seller knows the correct price
              "ItemName": "Copper Plate",
              "Amount": 15
          }
      }
      
    • Base price is calculated with amount of operations to create the shape, with mulitplier option ranging 0.0-3.0
    • Make sure item list only contains what is currently producable (=> update shop when receiving more progression items)
    • Shop items can consist of multiple shapes (so they are not restricted by 4 corners)
  • Goal "Customer satisfaction": Deliver certain amount of certain shop orders (minimum 5?), goal shape should be cheap and requiring all buildings, requires other players to take part
  • Add host setting to force disable gift shop (without error, only info in log)

Labels (Deprecated)

  • IMPORTANT: Text
  • GOOD LOOKING: Text
  • FEATURE: Text
  • BEFORE PR: Text
  • TECHNICAL: Text

About

Client mod for the Archipelago multiworld + APWorld download

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages