Maintainer Meeting (5 Feb 2022)
===
Time: 5 Feb 2022 16:00 UTC
Attendees:
DrSmugleaf
Vera
PJB
Paul
ElectroSR
ShadowCommander
moony
Silver
Improving the usability of animations in code | metalgearsloth
- For example, an easy way to play a state then go to another.
- Animations big suck
- Hard to play, keep track of and synchronize (need sync with animation timing)
- In most game engines (Godot/Unreal) you have a state machine with the animations, based on some state
- Should be part of visualizers
- Not having a GUI to define them kinda sucks.
Guide for reporting bugs | metalgearsloth
- Subnautica button
- S 👏 u 👏 b 👏 n 👏 a 👏 u 👏 t 👏 i 👏 c 👏 a 👏 👏 b 👏 u 👏 t 👏 t 👏 o 👏 n
- GDC talk
- Have a /vg/-like button to create issues on GitHub on a separate repo, so the main one is not spammed
- In-game window
- Make sure it has feedback so we dont get duplicate bug reports
- What do we grab:
- Round information
- Commit the server is at
- How do we fix it not leaking current-round information?
- Only send at end of round.
- Cache the reports into local SQLite DB (game server) while the round is going on in case the server crashes, then send them through the server, not the watchdog.
Replacing prototype inheritance with composition | Paul
- Fund it
- Conflicts (multiple inheritance/diamond problem)
- based on imported order, like python
- Prototype load ordering
- Push composition on the mapping level, not on the created objects
- Gets rid of deserialization results
- Makes it possible to do it in order
- load all mappings at once, then serialize them in one method call
Start using Bors for PR rollup | moony
Discord message GitHub link Helps avoid this:
- Usage: you write bors r+
- Gives more overhead to merging PRs
- We can use it when we are merging a lot of PRs at once, not for every PR
- Bors can’t squash merge
- No Bors, try to find another alternative
- We should not publish releases to servers if CI fails
Implementing a load balancer | moony
- Opt-in vs opt-out
- If its automatic instead of a prompt sloth dies
- Opt-in
- Doing it with batches of players (so it doesn’t balance 1 at a time)
- Yes
- Have a threshold of players that need to have clicked yes for the autobalance to actually happen.
- Check the other server’s pop, if it’s over an amount transfer anyway.
- Needs inter-server communication.
- What about ping?
- Show the ping to the person, maybe a ping comparison between the current server and the other one?
- Popup midround?
- If we do it, don’t do it for alive players, only ghosts
- Endround popup?
- Yes
- Need to have it be per group of servers
- Control players counts with player caps, tell players they can move
- Prompt on the server full deny screen to connect to another server, indicate this with the launcher
- Have a queue that shows you can join to other servers
- Servers having different versions? Paul issue
- They will usually be the same version + delta updates + ratio
Policy on pushing to master vs PRs | moony
- PRs are better for downstreams specially when conflicts arise. Working directly with PRs is easier (bots that mirror upstream PRs).
- What is easier? Who knows? Where’s moony?
- Simple bug fixes can be committed to master
- PJB vs Paul 2 hour discussion on whether to PR or not
Put changes we are committed to in the roadmap | metalgearsloth
- For example the melee refactor
Early Access Roadmap
- emergency shuttle
- auto shuttle movement
- gamemodes/antags
- dynamic | mirror
- nuke ops
- the nuke is done, nuke ops isn’t yet
- does not work outside dynamic
- lings?
- blob | Remie
- cult?
- make it as good as vg for pjb
- revs
- nuke ops
- dynamic | mirror
- EL BODY SYSTEM | mirror
- some refactors were done by mirror, still some left
- surgery died in the war of 1992
- Salvage proc gen | moony
- Radiation refactor
- Singularity rebalance
- body system but again
- body system (get smug to code it)
- Species
- we need to do non human body parts
- Species
- ENGINE EDITOR
- could benefit from full state reload
- movement refactor
- Client side movement?
- a smidgen
- Client side movement?
- Tutorial
- In game guides
- Yes
- Waiting on pretty labels
- books/ebooks in pda
- ebooks preloaded on pda for selected job
- when rich text gets merged
- :death:
- In game guides
- oldchat + ui refactor
- explosion refactor | electrosr
- combat refactor
- pulling refactor
- role bans | ShadowCommander
- admin notes | drsmugleaf
- Admin traitor/role menu
- Assign people roles
- Job playtime requirements
- Playtime tracking
- Per role playtime tracking
- experimental science
- action ui refactor, like ss13 maybe
- change pvs to p/invoke zstd
Bugs: (when are we moving these to GitHub)
- turn this section into crashes / critical bugs later
- automatically log exceptions shown on grafana
- being able to see inside containers
- Need to change PVS to not send all container contents
- Isn’t this a separate issue anyway
- Seems like PVS queue bugs?
- Imagine if players could give steps to replicate, insanium
- hud disappearing
- cant reproduce yet, status icons keep disappearing
- might be food or thrist related
- Gets fixed when status gets and update (Like buckling or unbuckling)
- Singularity pops in. Needs a PVS override.
- when the station moves or rotates (rotation is reliable) everyone is unbuckled