1
0
mirror of https://github.com/Oarcinae/FactorioScenarioMultiplayerSpawn.git synced 2024-12-14 10:23:17 +02:00
FactorioScenarioMultiplayer.../devplan.txt

114 lines
6.7 KiB
Plaintext

ACTIVE ITEMS:
- Change main_force_name to a startup setting! New players in spawn area should stay on default "player" force to avoid mod conflicts on player init?
------------------------------------------------------------------------------------------------------------------------
BACKLOG:
- Lots of localizations!
- Add rich text map location links for new spawns (print to chat)
- Test multiple enemy forces to provide a way to scale evolution locally
- Custom tips and tricks??
- List all TODOs in code here.
- Add refresh chunks around spidertrons based on their vision
- Convert regrowth to a proper mod
- Refresh players in admin controls when dropdown is clicked
- Think through player flow for Space Age for creating new unique spawns on other surfaces and respawning:
- Create a function to create secondary uniqueSpawns for the same player
- Move "buddy" info to unique_spawns as well.
- Default to selecting SELF in admin controls player dropdown?
- In spawn controls, add a note if spawn is full (and maybe disable the shared spawn checkbox?)
- TEST resizing spawn areas and moat sizes!
- If dead when resetting spawn... possibly delay the opening of the welcome GUI or block spawning until character is spawned?
------------------------------------------------------------------------------------------------------------------------
Other Ideas, Not Committed:
- Add option to spawn on existing chunks (look for chunks with any entities in them, or use regrowth logic)
- Add option for spawn pen to be on a specified surface
- Change "search for ungenerated spawn point" to be a "roll" button that the player can re-roll? Maybe it shows on the map in an icon where they might go first?
- Make players join a "holding_pen" force instead of the main force? Might cause issues with chat and vision?
- Separate chest sharing and electricity ()
- Consider scrapping any overlapping mod settings from the config. ONLY keep the part that can't easily be done in the mod settings menu... NOT SURE about this.
- Change enable_shared_team_vision to allow players to change this per player (like BNO)
- Change enable_friendly_fire to be per team?
- Allow players to spawn "near" an existing player (by request)
- Allow players to restart at anytime via GUI button (configurable setting by admin)
- Change regrowth to be list of surfaces indexed by surface name?
- Add regrowth settings GUI tab? Not sure how the other settings fit in with a dedicated regrowth tab? Need to be able to enable/disable other surfaces during runtime?
- Add a show current respawn location button/feature
- Figure out how to reset player inventory on player reset to avoid extra items? (save and load items?)
- Work on space ex support?
- Profile regrowth and try to improve performance ?
------------------------------------------------------SPACE AGE---------------------------------------------------------
- Map Settings changes?
- Pollution changes (regrowth)?
- Enemy changes?
- Rocket silo locations per player? (Only allowed to build 1)?
- Surface names for space ships?
- Spawner health tied to evolution?
- Respawn position is surface specific? Each surface needs a separate respawn point? Default respawn behavior?
--------------------------------------------------------DONE------------------------------------------------------------
- First setup the mod settings and lua global settings.
- Test out removing the creation of a custom surface and ensure map settings can be set as needed. Possibly create a separate surface, or just a separate area away from the origin, for starting players.
- Start copying in the core pieces required for the primary spawning mechanic.
- Document config and mod settings using Lua annotation as a custom class
- Document global ocore as a custom class (with subclasses/types as needed)
- Add multiple surfaces to options/settings [As a single boolean.]
- Convert scenario to a mod.
- Add multiple surfaces to Spawn GUI (Drop down selection?)
- Configurable welcome/server messages in mod settings.
- Check and update all functions using surfaces to clearly use either the LuaSurface obj OR a string name.
- Create server settings admin GUI tab
- Figure out how to define custom lua table/data structs to make syntax/linting work?
- Setup multiplayer testing using multiple instances and some batch files.
- Change Near/Far buttons to radio selection w/ text explanation and have a single Spawn button.
- Refactor the spawn menu GUI (don't destroy the menu unless we need to, refresh only the elements we need to, save data to a global using tags?)
- Remove separate buddy spawn menu?
- Remove the shared spawn separate GUI window?
- Redo DisplayBuddySpawnRequestMenu and DisplayBuddySpawnWaitMenu and move their events to the new event handlers
- Refresh the spawn controls GUI when player accepts/rejects
- Redo FindUngeneratedCoordinates to pick a random direction, and use the distance to get a starting point, instead of multiple tries.
- Fix all GUI styling (buttons outside of content)
- Force enable_world_eater to require enable_regrowth
- Add warning for modifying surface settings after gameplay has started
- Tooltips for GUI elements in spawn menu options!
- Check all settings to see which CAN'T be changed during runtime. Possibly move these to startup.
- FIGURE OUT CHUNK NOT IN MAP REGROWTH ISSUE!
- Add validation for default starting surface name
- Make server info headings consistent / Add heading for spawn controls (change button?)
- Confirm regrowth should add new chunks when found (not only on chunk generate?)
- Make disable main team setting work (hide radio button)
- Support run time toggling of enable_shared_team_vision
- Support run time toggling of enable_friendly_fire
- Watch for chunks being generated to be able to move the player to their spawn as soon as it is done with the last chunk.
- If this is their first spawn, give them items. Otherwise don't give new items and don't clear items either?
- Change enable_spawning_on_other_surfaces to a start up setting?
- Test out space expansion
- Compare GUI mod button icons to space ex (looks better??)
- Create surface blacklist setting.
- Enable/Disable and show information about shared spawn based on shared spawn dropdown interactions.
- Ensure updates to regrowth surfaces don't cause errors (update indexes)
- Confirm regrowth does or does not delete chunks with robots in them?
- Show the surface name in shared spawn join GUI
- Show the surface name in the share spawn controls tab
- Add rich text map location in spawn controls tab for current home location
- Move sharedspawns data under unique spawns
- "uniqueSpawns" should have a "primary" flag and be indexed by surface FIRST
- Make respawn locations first be indexed by player, then surface
- Offline protection re-implement!