Code Monkey home page Code Monkey logo

satisfactoryarchipelagomod's People

Contributors

budak7273 avatar jarno458 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

satisfactoryarchipelagomod's Issues

Customizer unlock/recipe support

The availability of the base game's Customizer recipes (building materials and skins in the AWESOME Shop) are closely tied to specific base-game unlocks that award them, we will have to do some shenanigans with adjusting their dependencies to ensure they still become available at the right timing

Ore Node Shuffling

Can base off of logic from discontinued Configurable Start mod

Shuffle existing nodes, not totally randomly selected, so as to not throw off the total number of resources in the world + scarcity comparisons

Could optionally affect node purity

Progress Tracking

This issue's checklist is being phased out in favor of https://github.com/users/Jarno458/projects/3/views/1 so this will likely be out of date

Server (https://github.com/Jarno458/Archipelago/tree/Satisfactory):

  • Add alumina support to server side (I skipped this entire build chain mostly)
  • Add power infrastructure logic to server
  • Add logic for logistics to server (so the server has a reason to give you access to faster belts)
  • Add Mam locations + logic
  • Add Utility buildings to server / client (e.g. Power poles, logistics, awesome shop, bp designer)
  • Add Recipes for equipment (current only available as item but never unlocked to craft)
  • Add Schematics for grouped items, like all walls\roof, all pipes, all train pieces
  • Redo everything in a performant way
  • Automatic MAM location data export for server from client

Client:

  • Add item output to ApPortal
  • Make ApPortal respect power requirements
  • Disable ApPortal input belt
  • Add update mam tress with randomized researches from server
  • Add hub milestone purchase costs to server and send to client
  • Send final space elevator tier to client, and make client send the completed signal when its reached
  • Free Samples via separate mod
  • Update Energy Link implemenation
  • Optional: implement sending items using ApPortsl input belt
  • Add Utility buildings to server / client (e.g. Power poles, logistics, awesome shop, bp designer)
  • Add Recipes for equipment (current only available as item but never unlocked to craft)
  • Add Schematics for grouped items, like all walls\roof, all pipes, all train pieces
  • Award inventory slots
  • UI for Archipalgo building
  • Continue from existing save

Future Ideas

  • Ore node randomization
  • Spawn enemies as traps
  • Sinksanity - Change AWESOME Sink point values of items, probably suggest having TFIT installed so they can be viewed
  • Add server support for harddrive gacha
  • Supports collectalbles: Summersloop or Mercer sphere
  • Golden Nut statue goal? obsoleted by coupon count goal
  • Trap: Brownout (fuse trip all power networks)
  • Trap: Fake brownout (play the brownout sound and UI, but don't actually shut down any power networks)
  • Trap: Off (randomly turn off N machines)

Changing server connection information stored in the save

AP server connection details are now stored as part of the save file, so how do we allow people to change them if the server later assigns them a different port?

Possible approach: Load into the save file in offline mode then run a chat command to change the port+ip

Force skipping of tutorial on world creation

Current rendition of the mod probably requires that the starting tutorial be skipped to be playable, we should forcibly check this box during world creation and add some sort of warning about it

Enable offline (disconnected from AP server) play

  • Store most data as part of the save
  • Keep track of what has/hasn't been sent in the save file
  • Send/receive when connection is established again later

Problem cases:

  • Should local portals keep working or require connection to server

MAM Tree Support

AP support of nodes in MAM trees.

  • Probably keep the same Tree unlock conditions and Tree shape.
  • Probably done via swapping out the schematics in the nodes of the existing tree (the tree asset controls the dependencies so we don't have to worry about copying those over to our own schematics)
  • Probably keep the node's original unlock costs (these will have to be copied over from the vanilla schematic)

Complications:

  • How to handle "checkpoint nodes" that don't actually unlock anything?

"Combat ability" as a logic factor

At least 2 types of combat ability:

  • Weak
  • Strong

Subtypes:

  • Weak Close Range (Xeno Zapper)
  • Weak Ranged (Rebargun+Stock rebar, Rebargun+Shock rebar)
  • Strong Close Range (Xeno Basher, Rebargun+Scatter Rebar)
  • Strong Ranged (Rebargun+Explosive rebar, Rifle+anything)

Mod support

Add the ability to generate on the AP server side including modded items/recipie/man slots/hub milestones
Add support on the client to unlock this modded content

Dedicated server support

Blocked by #46

Add support to run this off a dedicated server, where the dedicated server will handle the connection to AP, and the clients just connect to the SF server

Handling of local AP commands from chat

We should really use the mod loader's Chat Command system for eventual multiplayer+dediserver support, but that requires the / command prefix, people are likely expecting !! like other games

Custom Hard Drive Scanning System

Include crash sites in logic, all hard drives remain generic hard drive items. As hard drives are scanned, the pool of hard drive checks is scouted by 3 at a time. When scanning a hard drive you can pick your reward check from any of the scouted hard drives.

Requires:

  • Custom MAM UI to display the pool
  • Custom reward selection logic to allow picking from scouted checks instead of random 3
  • Preventing access to the base game's hard drive scanning system
  • Possibly doing something with mod-added hard drive schematics so they don't become inaccessible?

UI for Power Storage (energy link)

Must convey to the user that all Power Storages are connected to the Archipelago energy bridge (if the feature is enabled) because this changes their behavior.

  • One power storage has effectively infinite charge capacity
  • Building more Power Storages increases the rate of charge/deposit
  • Must display the energy link pool (numbers could get arbitrarily large)
  • Explain the tax applied to deposited energy
  • Reminder that Biomass Burners can't fill the Energy Link because they are dynamic producers

Machine Off Trap

Turn some number of machines off in the factory (using the same system as the "switch" in the user interface)

Ore Scanning

Current solution (TODO implement) - unlock all ore+resource scanning out the gates with a blueprint-implemented schematic

Sinksanity - AWESOME point adjustment

Scramble the AWESOME point values of items, particularly relevant for the AWESOME Sink goals. Will encourage setting up factories for stuff that might otherwise be produced in volume

Some randomly selected % multiplier to add/subtract from the original points value of the item so complex resources are still favored

Should probably require/strongly suggest the TFIT mod so the new point values (and per-recipe point profits) can actually be viewed

"Exploration ability" as a logic factor

Used to factor in resource accessibility (for example uranium, oil, quartz, coal, caterium nodes are generally far away from starting locations) and Drop Pod accessibility (manually assigned when assessing crash sites).

Visiting far away places frequently is annoying and time consuming, the game expects some level

  • Weak Verticality (Foundation Ramp, Lookout Tower, Stairs, Walkway/Catwalk)
  • Weak Traversal (Blade Runners, Tractor, Foundation, Factory Cart)
  • Medium Verticality (Zapline, Double Ramp, Ladder)
  • Medium Traversal (Zapline, Hypertube)
  • Strong Verticality (Jetpack+Any Fuel, Hoverpack+Medium Electric Generation)
  • Strong Traversal (Explorer, Blade Runners+Jetpack+Any Fuel)

Where would the Radar Tower go, if anywhere?

Coal/Quartz/Caterium requires Weak Verticality + Weak Traversal
Oil requires Medium Traversal
Uranium requires Strong Traversal + Medium Verticality

Portal Output Filtering

This is a really complicated topic because it raises issues/questions like:

  • What happens when there is no valid output portal for a material? Should the whole system jam or should it sit there forever?
  • How to avoid tanking performance
  • Ensuring that items being sent intended for filtered portals don't end up coming out unfiltered portals because the filtered ones have backed up
  • How do we keep people from using portals for ALL of their logistics, replacing vehicle transport, because you can send to yourself

We will decide how to handle this in the future based on how much usage the portals get and what people want. For now just slap a smart splitter on the output and send back in anything you don't want.

Fake Fuse Break Trap

Play the sound and display notifications from a electric network's fuse being broken, but don't actually trip any fuses

AP Gifting Portal v1

  • Saving of what player is selected as the portal target
  • Gift receiving needs to turn off early in to the game quit process and pause for the game save process to avoid the server thinking items have been delivered when they haven't yet
  • Gifting System needs to save the items that have been received from the server but not yet sent out onto belts

Somersloop/Mercer Sphere checks

Since these items aren't useful in the base game yet they would have to award resource packs or something instead (or in addition) until then

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.