diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-01-08.md b/src/en/maintainer-meetings/maintainer-meeting-2022-01-08.md new file mode 100644 index 000000000..86017ccf5 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-01-08.md @@ -0,0 +1,194 @@ +# Maintainer Meeting (8 Jan 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 8 Jan 2022 16:00 UTC + +**Attendees:** +DrSmugleaf +Vera +metalgearsloth +Paul +ElectroSR +PJB +Visne +ShadowCommander + +# Automatic component names | wrexbe, metalgearsloth +- [Current PR link](https://github.com/space-wizards/RobustToolbox/pull/2389) +- Previous PR got some objections which got addressed. +- RenderingTreeComponent gets RenderingTree as name automatically + +ok epin merge + +# Reduce movement speed | metalgearsloth +- Current movement speed: + - Walk = 4 + - Sprint = 7 +- Reduce it to 5 for sprint? +- Change it in code 5 sounds good + +# Comment and changelog typing conventions | ShadowCommander, metalgearsloth +- Capitalization +- Punctuation +- They are very inconsistent at the moment +- Code comment consistency does not matter +- Changelog consistency matters + +# Improving CODEOWNERS | Vera +- Maintainers should actually codeown stuff they're in charge of. +- Make it so nobody gets notified for absolutely everything (like me and PJB currently-) +- Doing this should help with reviews! +- Maybe don't merge PRs if the codeowners haven't approved it? +- Current CODEOWNERS: + - All: PJB, Vera + - Localization files: Remie +- Change it to: + - Atmos: Vera + - Body system: Mirror and Smug + - Clyde/ClydeAudio: PJB + - Construction: Vera + - Database: PJB and Smug + - Integration tests: Smug + - How about just everything except physics in engine: PJB + - thistbhn't, I'd rather not have anyone receive notifs for everything :blobsweat: + - Map renderer: Smug + - Networking/prediction (not pvs): PJB/Acruid? + - Pow3r: PJB + - PVS: Paul + - Resources: PJB + - Physics: Sloth + - Serialization: Paul and Smug + - UI: PJB + - YAML Linter: Paul and Smug + +# Audio attribution | Paul +- Do we enforce it +- Paul says we figured out how to do out but I can't find where + - audiofile.ogg -> audiofile.ogg.yml +- Which metadata should audiofiles have? + - license identifier like rsis, copyrightstring + +# Event naming | Paul +- Unified way to name them +- TWO EVENTS +- Equip attempt event has two viewpoints: + - Equipee (GotEquipped?) + - Equipment (IsBeingEquipped?) + - talk in text chat to decide the funny + - just @ Remie simple + +# Port, protocol and IANA | PJB +- IANA is the list of "which applications use which ports" +- Port 5514 is free. +- Current status: `ss14://` is HTTP port 1212/tcp, `ss14s://` is HTTPS port 443/tcp + - Problem: leaving out URI scheme can make address fail to work + - Most people used to playing on game servers are probably *not* used to URI schemes in their server address. + - Problem: 443 is HTTPS port. This means `ss14s://` servers need to put their stuff behind a subpath or subdomain, which is ugly. Or use a port I guess. +- Do we want an IANA port assignment? + - Yes + - Port: 5514 +- Only HTTP for connections +- Drop the code for connecting over HTTPs + - It makes the code simpler (Launcher, watchdog, hub) + - Figure out a fallback path for the other servers + +# Reverting policy for untested/unreviewed buggy PRs | ShadowCommander +- Should we revert them? + - We did so for rich text +- Revert if server is broken and we can't fix it in one line code change (quickly) +- Objective: For a round to be playable, we can do it case by case. +- If we revert we can reopen the original pr + +# YAML bloat prevention rules | Vera +- What to do about the many useless prototypes? + - Do we clean them? +- Only allow YAML additions that would be immediately useful to mappers, admins or straight up obtainable in-game + - New salvage wreck, new playable station, new chemical that can be mixed and has effects, new food item that can be cooked in-game or is obtainable in some other way, new fun badmin toy... +- Do we want to be a bit more strict with new machines having, for example, construct/deconstruct steps? +- every yaml addition should be either: + - for admins + - for mappers + - obtainable + - with cooking recipe & construction steps +- be more strict in general + +# Full server snapshot/reload | PJB +- The workflow: + - Press a button + - Restart server + - Enter server + - Same state +- What's the current status + - not good +- What can we do (conventions, best practices) to make this more doable + - event serialization + - new save format & logic: gamestatesave + - saves all maps + - entitysystem should get a way to read/write into that +- sidenote: this would be very beneficial for my persistence server fork plans + +# Species | Paul +- This is going to take 30 minutes to talk through +- Do we allow them at roundstart? + - Current stance: + - Q. Will the main SS14 servers have round-start playable races other than humans? + - A. No, but the functionality will be there for other servers. (Click spoiler to see the long answer to this question). + - Thoughts (from PJB) are that it would be too much effort to make them interesting enough. + - See [the FAQ for the full explanation](https://forum.spacestation14.io/index.php?/topic/48-information-faq/) + - Is PJB a furry? + - >looks at own avatar on discord + - ![](https://cdn.discordapp.com/emojis/913187937854832720.webp?size=96&quality=lossless) + - ![](https://c.tenor.com/hZSHM9mDoL4AAAAC/drake-morphin.gif) +- We support species. +- We support species at roundstart (when moony PRs it) +- Review species case by case, same as everything else. + +# Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2021-12-11-meetup) +AKA What do we want to move from playtest to early access + +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic + - mirror pls write the doc for it I will code it I swear on my life + - nuke ops + - the nuke is done, nuke ops isn't yet + - does not work outside dynamic + - lings? + - blob? + - vera loves blob + - cult? + - make it as good as vg for pjb +- EL BODY SYSTEM + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage + - it is done + - upstream moony asteroid/wreck generator for procgen salvage + - https://www.youtube.com/watch?v=H0LPWuTt2o4 +- Teleporters (Beam me up (Scotty)) + - telescience + - its complicated we need to talk about it +- Singularity needs to ACTUALLY WORK +- body system but again +- body system (get smug to code it) + - Species???? +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- Tutorial + - In game guides + - Yes + - Or at least a link to the wiki ingame + - Link it RN JESUS + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + +# Bloons TD 6 | Vera, DrSmugleaf +- Bloons TD 6 gaming + - this diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-01-22.md b/src/en/maintainer-meetings/maintainer-meeting-2022-01-22.md new file mode 100644 index 000000000..43c6b8f40 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-01-22.md @@ -0,0 +1,205 @@ +# Maintainer Meeting (22 Jan 2022) += +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +DrSmugleaf +Vera +Visne +ShadowCommander +PJB +ElectroSR +metalgearsloth +moony +Remie +mirrorcult + +# Do we promote bigger over smaller maps | metalgearsloth +- We have a bunch of tiny maps but no large ones +- Small maps get played regularly +- Should we save mapvote stats? + - **Yes, also track votes against to not skew results.** +- **Don't promote bigger maps, just merge them on a case-by-case quality basis.** + + +# Moving BUI to content | metalgearsloth +- Is this something that would be reused by other games + - **No** +- **Move it** + + +# Proxy methods for is entity terminating / deleted / queued for deletion | metalgearsloth +- **Yes** +- Proxy methods in EntityManager and EntitySystem. + - Maybe have an interface to standardise these? + + +# Standardising EntityManager generic and non-generic methods | metalgearsloth +- Some use the array indexing and some don't so assume there's more of a speed difference now +- **Standardise them (on generics)** + + +# Discord role for musicians | metalgearsloth +- We have a pingable role for spriter already +- **Add the role** + + +# Not raising transform events during initialization | metalgearsloth +- Raising them leads to lifestage checks everywhere +- Ties into DetachParentToNull which would be nice to remove. +- **Sloth looks at it** +- Make events for transform initialize/shutdown? + - Current one can only be subscribed to once. + + +# Ergonomics of async code vs do_after events | metalgearsloth, mirrorcult +- Solution: [single event do-afters](https://github.com/space-wizards/space-station-14/issues/6132) + - Replace the two do after events with one DoAfterEndedEvent with the status on it, and a wrapper for custom data + - Also could put cancel tokens into the do_after system +- Events are more painful than async code to write + - So painful I would rather code in Unity +- It's a necessary evil for full map serialization +- If we don't use it, do we keep async in for forks? + - **No** +- Async do_after made interaction worse internally | metalgearsloth + - If you want to make your tool do after you have to make it all async +- We could serialize member methods with much difficulty, pass in the method to run into the do_after like verbs | Paul + - Needs to be a member method, not a lambda or anonymous +- **Async might be serializable, when PJB codes it** +- **Use single event do after meanwhile** + + +# Removing component start/shutdown events | PJB +- Instead have the few components that actually respect startup/shutdown implement it themselves. +- **Remove and replace it** +- We don't know how much legacy code require the OnAdd/Initialize/Startup functions. + - This won't be trivial. + - Probably nothing uses the Running property, which we can remove. + - The point is to **Remove Running** + + +# Protocol-require UDP and TCP port to be the same | PJB +- Extension from the port assignment topic +- What did PJB mean by this +- It is very complex otherwise +- Querying the server list would be easier +- **Require both ports be the same** + + +# Do we accept translation contributions | Paul +- Can the admins deal with non-english speaking people? + - Servers would still be English only, server hosts could change the locale with us as the upstream being the pool of translations for everyone. + - Paul how do we handle different servers having different content to be translated + - **We will only accept common content between the two repositories** + - Linter when +- Not purely game-translation, also launcher, website, etc. + - Launcher: **Yes** + - Website: **Yes** + - Game: If you can run a client with a different locale to the server **yes** + - **This requires the giant FText refactor** +- There are tools for this ([Discord link](https://discord.com/channels/310555209753690112/675078881425752124/931645419598000238)) +- [Weblate](https://github.com/WeblateOrg/weblate/) + + +# Wallmounts on the floor in front of the wall vs on/in the wall | ShadowCommander +- Interactability is easier if they're in front | PJB +- **They will go on the wall because otherwise you can't place wallmounts facing to space** +- Wall lights are complicated + - **Simply offset the point light** +- PJB implements occlusion and we win + + +# Text input popup design | ShadowCommander +- Should it be a BaseWindow/Eui or pop out of the control like the confirmation pop out for verbs like delete? +- Example: the set-transfer-amount verb should use it. Currently it creates a little popup +- **Multiline text: window** +- **Verbs (Rename, Transfers): input box, with sizes** +- **Commands: box if possible, window if too big** + + +# Why are integration tests slow | mirrorcult +- Because someone broke the ShouldPool method by changing the amount of default cvars on tests or smth + - Be my guest if you want to find a better way to do it + - Also tests are now broken if you enable pooling again + - I'm not fixing it | DrSmugleaf +- Next :clap: topic :clap: +- also 40% of tests is just reloading prototypes (last I profiledTM) + + +# Archive Python rsi.py and rsi-editor | mirrorcult +- **Decision: keep rsi.py because python scripts are convenient, archive rsi-editor** + Old repositories in Python: +- [RSI.py](https://github.com/space-wizards/RSI.py) +- [RSI-editor](https://github.com/space-wizards/RSI-editor) + +New repositories in C#: +- [RSIEdit](https://github.com/space-wizards/RSIEdit) +- [RSI.NET](https://github.com/space-wizards/RSI.NET) + + +# Mapping and adding escape pods | mirrorcult +- We now have multi-grid saving/loading and docking serialization +- **Decision: code it, map it** +- Mapping docking is really annoying right now +- **Add a console command/mapping utility to make this easier, while the map is paused** + + +# Upstreaming ship vs ship combat as a gamemode | moony, mirrorcult +- When mirrorcult upstreams it +- **Sounds good to everyone** + + +# Early Access Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-01-08-meetup) + +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic + - mirror pls write the doc for it I will code it I swear on my life + - nuke ops + - the nuke is done, nuke ops isn't yet + - does not work outside dynamic + - lings? + - blob? + - vera loves blob + - Remie already coding it, but got lazy + - cult? + - make it as good as vg for pjb + - revs +- EL BODY SYSTEM + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage + - it is done + - upstream moony asteroid/wreck generator for procgen salvage!!!!!!!!! + - https://www.youtube.com/watch?v=H0LPWuTt2o4 +- Singularity + - radiation needs to work +- body system but again +- body system (get smug to code it) + - Species + - we need to do non human body parts +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- Client side movement? + - a smidgen +- 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: + +Bugs: +- copy the Subnautica bug reporter for players to report bugs +- automatically log grafana exceptions +- 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 diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-02-05.md b/src/en/maintainer-meetings/maintainer-meeting-2022-02-05.md new file mode 100644 index 000000000..bc86f0ecf --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-02-05.md @@ -0,0 +1,170 @@ +# Maintainer Meeting (5 Feb 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**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](https://www.youtube.com/watch?v=Urx7WQE6NY0) +- **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](https://discord.com/channels/310555209753690112/900426319433728030/934889142431653888) +[GitHub link](https://github.com/bors-ng/bors-ng) +Helps avoid this: +![](https://cdn.discordapp.com/attachments/900426319433728030/934889141789921401/unknown.png) +- 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](https://github.com/bors-ng/bors-ng/issues/1217) +- **No Bors**, try to find another alternative +- **We should not publish releases to servers if CI fails** + + +## Implementing a load balancer | moony +[Discord message](https://discord.com/channels/310555209753690112/900426319433728030/934951024500826142) +- 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 +[Discord message](https://discord.com/channels/310555209753690112/900426319433728030/935176505993089085) +- For example the melee refactor + + +## Early Access Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-01-22-meetup) + +- 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 +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) +- Radiation refactor + - Singularity rebalance +- body system but again +- body system (get smug to code it) + - Species + - we need to do non human body parts +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen +- 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: +- 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](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) +- 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 diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-03-05.md b/src/en/maintainer-meetings/maintainer-meeting-2022-03-05.md new file mode 100644 index 000000000..a41dd63fe --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-03-05.md @@ -0,0 +1,108 @@ +# Maintainer Meeting (5 March 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 5 March 2022 16:00 UTC + +**Attendees:** +Paul +PJB +ShadowCommander +ElectroSr +moony +Silver + +## should we stop storing entity uids inside entity systems to denote entities to update in favor of special components for this? | Vera +for example: basically instead of this field on a system +```csharp +HashSet ActiveWelders +``` +You'd just assign the `ActiveWelderComponent` and use an EntityQuery +- ye this is probably a good idea, but we'd have to take effort to make it efficiently. +- make binary components efficient + +## Deprecate EntitySystem.Get | Vera +it's a shitty static method that does an IoCManager resolve and its misused everywhere +- sgtm + +## benchmark metrics | paul +already decided on, just announcing: action piping data into db, grafana reading db +- YES +- gh actions will produce inconsistent results +- where to run benchmarks + +## docfx | paul +bugging pj or vera to set it up +- silver will do it + +## Soundsystem API revamp | Mirror +the current api leads to easy errors which cause sounds to be played globally, not uid-specific +example: https://github.com/space-wizards/space-station-14/pull/6982/files +- remove overloads + +## Rename Server Role Ban to Role Ban | ShadowCommander +sgtm + +## Early Access Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-01-22-meetup) + +- 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 +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) +- Radiation refactor + - Singularity rebalance +- body system but again +- body system (get smug to code it) + - Species + - we need to do non human body parts +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen +- 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: +- oldchat + ui refactor +- explosion refactor | electrosr +- combat refactor +- ghostrole bans +- pulling refactor +- 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](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) +- change pvs to p/invoke zstd +- Prototype composition | Paul +- Map poll at round end +- Round Statistics + - Log votes, which maps are played the most… + +Crashes / Critical bugs: (when are we moving these to GitHub) +- grid disappears on reconnect + => till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-03-19.md b/src/en/maintainer-meetings/maintainer-meeting-2022-03-19.md new file mode 100644 index 000000000..14eebab54 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-03-19.md @@ -0,0 +1,201 @@ +# Maintainer Meeting (19 March 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 19 March 2022 16:00 UTC + +**Attendees:** +DrSmugleaf +ShadowCommander +ElectroJR +Remie +Moony +Silver +Mirrorcult + +## Weekly bug-sheriff to triage issues that come up | Paul +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/952880631514288148) +- Maybe also include triaging PRs that should/could be included in the progress report + - **Use labels for project reports, is 3 too many?** + - 3 is good, use Major for things that should be added + - Minor for things that may be added/fine to miss +- We can shuffle maintainers around to this role depending on availability + - Have a bot or something that displays how many issues are untagged? + - **Whoever volunteers** + + +## Fixing/refactoring test pooling | DrSmugleaf +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/954006741568344084) +- Restarting the round is not a foolproof solution to reset the instance. +- Integration test client reconnection is faulty which is why pooling never applied for client instances. +- **We need functioning full state serialization, then reset the state.** + + +## How does one move the YAML Linter to engine | DrSmugleaf +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/954006885802049586) +- How do we have content have a way to specify IOC services to use if the YAML Linter is in the engine. + - **Nobody knows** +- Currently all the YAML Linter project does is start up two integration instances and call a prototype manager method. + - **Nobody knows an alternative** + - **PLS HELP PJB** + + +## Where to draw the line on references to non-SS13 media | PJB +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/953952903964549130) + +Examples of references to discuss: +* https://github.com/space-wizards/space-station-14/pull/6037/files many AI names from small names barely anybody knows to SHODAN to Siri. + * I fucking added X.A.N.A. to the AI name list on /vg/ you can damn well bet your ass I'm gonna try to keep it there + * Who added XANA I must know who here stans Code Lyoko + * HERE WE ARE, GOING FAR, TO SAVE ALL THAT WE LOVE +* Kamina glasses & other Gurren Lagann items + * Keep +* Hatsune Miku clothes + * Keep it's CC +* Alien franchise (aliens duh but also Ripley mechs?) + * No (we have replacements thank god) + * RIP smug +* Duck game items on /vg/ + * VG items are direct asset rips, fuck that +* Portal gun on /vg/ (Terraria has one too!) + * It's pixel should be fine. Valve allows a lot of usage from what I know. +* Red telephone + - **This is fine until valve releases their Red Phone AU** + - Yes this is fine + +(Writing out thoroughly since I won't be here) + +Some thoughts: +* Something like Siri or Windows might be ick since those are actively advertised trademarks and stuff. Something like SHODAN isn't as big of a deal? + * **Agree** +* A simple name drop like SHODAN isn't as big of a deal as complete content-take like Aliens. + * **Agree** +* Taking assets is never OK, obviously. + * **Agree** +* Miku clothes are fine only because they allow nonprofit use, prob wouldn't be otherwise? + * **Agree** + +**Case-by-case, check what each owning company has policy-wise** + +* **If the demand is very strict it may want us to remove the content from git hsitory, needing a rewrite, which is painful** + + +## Renaming/editing/hiding old rsi-editor | mirrorcult +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/950509187073470509) +- People are still trying to use it over RSIEdit +- Already archived +- **We are waiting on GitHub to detach the fork** +- **Edit the rsi-editor Readme to lead to RSIEdit** + +RSIEdit +- It doesn't show up on the organization's project list because it's a fork + - Ticket to detach it already open with GitHub Support + + +## Commission lobby art | mirrorcult +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/952756729295274034) +- We have lobby BG support now +- PJB's take: BG should take full screen at ~16:9 aspect ratio. Part will be covered up by lobby UI on the right frequently; art commissioned can put less important stuff there to avoid wasting effort. + - Please no inset image like SS13 lobby. The lobby goes on top of the art. +- **Find an artist, get the price, use Patreon money.** + - Artist for some of the stuff is aspev, steam art is waster of orange. +- **Try to add support for viewing a map through a viewport in the background.** +- **Make a transparent overlay to give to the artists to know what aspect ratio they have to work with** + - **Overcompensate for a long server name** + + +## What extra servers do we want | mirrorcult +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/953039871587520512) +- We have EU West 1, EU West 2, US West and Oceania at the moment +- We can host more instances on our current hardware +- **Poll for MRP** + - Discord poll, but we should implement game polls too +- **US East pls** +- Kill EU West 1 make 2 new 1 + - add US East + + +## Early Access Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-01-22-meetup) + +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - nuke ops + - the nuke is done, but it doesnt explode + - large kaboom required + - does not work outside dynamic + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** +- Radiation refactor +- body system but again +- body system (get smug to code it) + - Species + - we need to do non human body parts + - needed to reenable lizard +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat +- 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 + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr + - we did it +- explosion refactor | ElectroJR + - under review +- combat rework + - hard to hit someone + - wide attacks might be broken + - prediction issue +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- pulling refactor | Sloth +- admin notes | DrSmugleaf +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) +- change pvs to p/invoke zstd + - compression too slow + - we're using (Q's) C# library for zstd +- Prototype composition | Paul +- Server polls + - Map poll at round end +- Round Statistics + - Log votes, which maps are played the most… +- suit storage + +Crashes / Critical bugs: (when are we moving these to GitHub) +- Round restart fails sometimes (may be a physics issue) + => till next time + + +## PJB isn't here so there's no Tetris after-meeting party diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-04-02.md b/src/en/maintainer-meetings/maintainer-meeting-2022-04-02.md new file mode 100644 index 000000000..adc079f25 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-04-02.md @@ -0,0 +1,206 @@ +# Maintainer Meeting (02 April 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 02 April 2022 18:00 UTC + +**Attendees:** +Smug +Silver +Shadow +Paul +moony +Jezithyr +ElectroSR +PJB +metalgearsloth + +## Not pushing to master to make it easier for downstreams | moony +- Using PRs it's easier for downstreams to selectively pick what they want from upstream. +- This would mean making master (and stable if it happens) a protected branch so people can't push to it. +- [Gitflow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) +- We already don't push features to master +- Should we push hotfixes/submodule updates to master? + - We can commit hotfixes to master + - I'm still PRing them + - Push submodule updates directly if we can fix bots +- Current bots don't handle direct commits well, someone needs to fix/create a new bot that does + + +## Getting a CDN and setting up region serving | Silver +- Our resident Argentinian has been getting slow downloads. + - complaints from argentinian resident are through the roof +- silver spinning up free aws instances with s3 and cloudfront with na, sa and eu, maybe au + - we barely push 100gigs a month + - we can use the free plan + - if not, its not very expensive +- apparently we cant use S3, builds arent cached (nono) + + +## Migrating to a point-release model | moony +- To help avoid disrupting our active playerbase and help mitigate download times. + - Delta downloads when. + - Reconnecting automatically without going back to the launcher when. + - background download + - point release +- One update per day? +- Point release is the easiest to do fast + - **Do it** + - 10 am every day +- Delta downloads when PJB codes it + + +## Document and improve content/engine publish workflows and the watchdog | moony +- Open-source content and engine publish workflows. +- Server hosting is painful at the moment, has undocumented error messages. +- The system to publish builds like the main servers isn't public, you need to ask for the powershell scripts. +- **Improve the docs** and the tools god damn + - Specially the watchdog (proper error output) + + +## Engine changelog | ike709 +- Document engine changes so breaking changes are not a surprise. +- This has already been a problem multiple times for Opendream. +- also proper major/minor versions x.y -> major -> .z minor + - X Major Y Minor? +- **GitHub action for changelog**, similar to how content does it +- Show the changelog somewhere + + +## Removing drag and drop interactions | moony +- Uncommon interaction and unintuitive for new players. + - We can assign a keybind instead, like alt+click currently +- How do we do it for dragging others into disposals for example +- **We should write a design doc and decide how interactions work in general** + + +## Multi-Z | Vera +- How does one (sanely) do it +- what needs it + - movement + - atmos + - explosions + - rendering +- Special case maps +- needs more discussion. + + +## Improving dev UX for mappers, maintaining maps | moony +- We need to maintain our soon to be 7 playable maps and other salvage maps. +- Onboarding new mappers to help maintain them +- Automated map maintenance? + - Migrations + - Renaming, replacing and removing + - With YAML +- Seeing pipes through walls / Being able to hide walls + - filter/toggle by walls/floors/doors/windows/wire/pipe/tubes etc. +- Being able to see the color of floors +- Area copy and paste with preview +- Picker copy and paste (middle click to copy what's under your mouse) +- Improving mapping UI in general (spawn windows) +- Improving docking when mapping +- Teleporting to error messages +- Unreal engine retargets +- Placement ghost for salvage that shows where it will spawn, how big the maximum salvage size is + - To know if the salvage will spawn inside the map + + +## Splitting UI code from simulation code, UI hot reloading and framework | Jezithyr +- **Split UI code from simulation code** +- **Splitting into a separate assembly to be decided** +- Apply this to rendering and user input as well. +- This can be done at the engine level without breaking downstreams (Opendream) while we transition SS14. +- Removing UI dependencies from sim makes it possible to run the game without an UI. + - It also makes it possible to develop UI without getting cancer. +- Hot reloading UI + - **Yes when you code it** + - Visual editor? + - **No, visual preview yes** +- Using a established UI framework? + - [Avalonia](https://avaloniaui.net/) + - [qmlnet](https://github.com/qmlnet/qmlnet) + - **Not at the moment** + + +## Early Access Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-01-22-meetup) + +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - nuke ops + - the nuke is done + - does not work outside dynamic + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** +- Radiation refactor +- body system but again +- body system (get smug to code it) +- Grid splitting + - finish when sloth comes out as a furry +- Grid merging +- Diagonal tiles + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- 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 + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr + - we did it +- combat rework + - hard to hit someone + - wide attacks might be broken + - prediction issue +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- pulling refactor +- admin notes | DrSmugleaf +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr +- any% maintainer | Jezithyr +- change pvs to p/invoke zstd + - compression too slow + - we're using (Q's) C# library for zstd +- Prototype composition | Paul +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- suit storage + +Crashes / Critical bugs: (when are we moving these to GitHub) +- Round restart fails sometimes (may be a physics issue) + => till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-04-16.md b/src/en/maintainer-meetings/maintainer-meeting-2022-04-16.md new file mode 100644 index 000000000..abaac3485 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-04-16.md @@ -0,0 +1,122 @@ +# Maintainer Meeting (16 April 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 16 April 2022 18:00 UTC + +**Attendees:** +Acruid +metalgearsloth +DrSmugleaf +moony +Vera +ShadowCommander +Visne +Paul +ElectroSR +PJB + +## We hit 250 players in one server. What's next? | moony +- What is our goal for optimizations + - What can we do better + - What should we do now that the game is very performant +- Is this when we finally code content +- We need to fix stuttering, pvs pop-in, rubberband issues and make network smoothing default to 2 | mirrorcult +- **Server side performance is fine, need to fix client side performance and bugs** + + +## Diagonal tiles | metalgearsloth +- The engine technology is there +- What do about anchoring and stuff on content +- Atmos will just treat them as space, still have diagonal walls be airtight +- **Needs to be fleshed out more** + + +## Make VV read/write by default | mirrorcult +- Everyone forgets to make properties read/write +- We still have to refactor VV for ECS +- **Make all VV properties writable if you have +HOST** +- **The default should be read** +- **Attribute to make all properties on a class VV** + + +## Review and PR guidelines | mirrorcult +- https://docs.spacestation14.io/en/maintainer-info/review-guidelines +- https://docs.spacestation14.io/en/getting-started/pr-guideline +- **We are missing file name conventions on the conventions page** +- **We need better automated tooling** + + +## Early Access Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-01-22-meetup) + +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - nuke ops + - the nuke is done + - does not work outside dynamic + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** +- Radiation refactor +- body system but again +- body system +- Grid splitting + - finish when sloth comes out as a furry +- Grid merging +- Diagonal tiles + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- 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 + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr + - we did it +- combat rework +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- pulling refactor | bobda +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr +- any% maintainer | Jezithyr +- Prototype composition | Paul +- Server polls +- Round Statistics + - Log votes, which maps are played the most… + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-04-30.md b/src/en/maintainer-meetings/maintainer-meeting-2022-04-30.md new file mode 100644 index 000000000..dd844b04c --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-04-30.md @@ -0,0 +1,384 @@ +# Maintainer Meeting (30 April 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 30 April 2022 18:00 UTC + +**Attendees:** +Vera +Silver +ShadowCommander +PJB +Sloth +moony +mirrorcult +Acruid +DrSmugleaf + +## Removing RobustUnitTest or RobustServerSim | metalgearsloth +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/966291335785095239) +- Actual unit tests shouldn't be inheriting, everything else should be an integration test +- If prototype loading was faster we could remove both +- Is Acruid in the meeting + +Answer: +- We have like four ways to start engine and run tests. +- We have NO CLUE what each of these do, we should probably gather some info and list it out so we can make a more informed decision? +- Come back to this after we actually know what each does +- Acruid came: + - Server simulation can spawn entities + - It's the bare minimum required for that, any extras such as prototypes, components and systems need to be added automatically. + + +## Long term map maintenance tools | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/966528422933323866) +- Fixing the mapping merge driver + - Rewrite it atop the testing framework? +- Automated YAML and entity migrations + +Answer: +- when someone codes it +- BYOND is better than us + - BYOND's map editor asks you for new paths (like entity prototype IDs) for missing things + - tbh this goes for a lot of things about mapping rn +- Entity UID consistency system on map is broken right now, needs fixing + - 1 entity getting changed -> ![](https://i.imgur.com/7htfQil.png) ungabunga change go brr SO TRUE BESTEI +- Migrations are like scripts more than like prototypes. Does it make sense to keep them in the prototypes folder? + - For complex C# based ones it'd be necessary for them to remain compiled in? + +## Write down the main purpose of each interaction hotkey | ShadowCommander +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/966591327494086706) +- For contributors to decide on which hotkey to use when implementing a feature. +- Remove overlap between left click/E | PJB + + +Answer: +- Tooltip show alt uses + - Somewhat unusual for 2D games? + - Starbound apparently has it though + - Show icons and +- Remove overlap between left click/E. Force people to learn E + - Give indication that you can use E to click on the thing. Otherwise people will not realize it exists. + - Candidate: https://youtu.be/d6GtGbI-now keyboard spritesheet + - Has no Cyrillic support + - Can add ourselves + - Other links: + - https://thoseawesomeguys.com/prompts/ + - https://www.gameuidatabase.com/index.php?&scrn=907 + - https://kenney.nl/assets/input-prompts-pixel-16 +- Forced Tutorial™ to teach interactions +- Show the thing you're looking at too, optionally. + +### Hotkeys: +- Use(Left click) + - Interaction involving hands +- ActivateItemInWorld(E) + - Open UI + - If there's a secondary activate, then put that in the UI +- AltActivateItemInWorld(Alt) + - Specify which interaction it should run instead of automatically picking the first verb +- ActivateItemInHand(Z) + + +## Guidelines for balance discussions and code of conduct | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/966843069515329586) +- Emag nerf (18291 comments) +- ![](https://i.imgur.com/Vv4d6Ht.gif) + +Results +- GitHub discussions usually get bad. +- They spam the #github channel reee. +- Should we move those discussions to somewhere else? + - The official forums aren't great for that. + - Discord threads are an option, but they're not great for week-long discussions. + - discord community server forums someday + - Some people don't want to join the Discord for these discussions, they might be put off by that. + - Moderate GitHub better? + - Use GitHub discussions? (Although they suck) + + +## Planet maps, should maps be able to be grids | Vera +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/966984856863113217) +- It would allow for tiles to be placed anywhere (needs refactors) +- This would be sane opt-in default grids +- Allows for planet maps if changes are made to: + - Parallax + - Default atmos empty tile behavior (being worked on) + - Adding a component for a map to handle gravity. +- Probably useful for other games, including OpenDream. + +Results +- When sloth codes it +- We are supposed to be able to have maps as grids already but it's broken +- Allows for global grids from Byond +- Causes some crashes if you mix map and grid component + + +## Deprecate GridId and MapId in favor of EntityUid | Vera +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/966986023689129994) + +Results: +- YES +- Ask Acruid, he has *a plan* :focus: + + +## Maps submodule | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/967544877506236437) +- Keep only 4-5 core maps in the main repo +- Lets us introduce new maps without assuming that they will be in forever +- We can give mappers like Emisse write access to the repo +- Allows easier rotation of maps and possibly encouraging people to try out bolder things with map design + +Results: +- Every submodule makes it harder for new people +- Requires keeping the main/map repo in sync with changes + - If an item is changed then the maps need to be changed +- If someone needs map write access give them write access to content +- **No submodule for maps** + + +## Icon for the launcher | mirrorcult +- [Discord message and thread](https://discord.com/channels/310555209753690112/900426319433728030/967667307142860800) +- Probably needs to be different than the SS14 one +- PJB had a think in the thread above + +Results: +- Maybe do it similar to the auth website + https://central.spacestation14.io/web/ + - How does this fit into the icon in the task bar + - Who knows +- When someone inkscapes it +- When one of us uses the Patreon money for it? +- Can be a modified SS14 logo +- YES BUT WE DO NOT KNOW THE DESIGN + + +## Making fake lag the default in local development | metalgearsloth +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/967779103023460352) +- Helps spot prediction issues +- Makes people other than just senior contributors consider it +- Prevents the game feeling like shit to play with high ping +- We can LARP as Australians or Argentinians during local development + +Results: +- Yes +- Make it 150ms + - With 20ms randomness, but the client might not handle it well yet + - 0.01% packet loss +- We need to be able to diff component states + + +## Quickstart script for repo setup | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/967988264818577488) +- Also attempts to open the repo in your IDE of choice +- Probably a Python script targeting only Windows users to allow people that have no interest in fully developing the game (mappers and spriters) to get the game up and running. + +Results: +- Make a script to build without Visual Studio (Saves a few GB of disk space and RAM for mappers) + - Script needs .NET 6 + - msbuild +- We need a tutorial on how to clone and build the project from command line for mappers + - We can provide a script for this, to have an up-to-date build to map with + + +## Species/roles whitelist | metalgearsloth +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/968123789768552468) +- Would we ever actually have it on an official server + - (no) | moony +- Generalize whitelists so it's easy to add new ones | moony + - Specify in YAML which whitelist to use + +Results: +- Implement it +- Generalize whitelists +- We won't have it on an official LRP server + + +## Issue templates and enforcing good issue writing | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/968126891926122547) + +Results: +- We need an issue template on engine +- Improve the content issue template +- Figure out a better template + - Description: + - Reproduction: + - Screenshots: + + +## The identity / entity LOC problem | mirrorcult +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/968642553228460052) +- What did mirror mean by this +- Need to separate metadata name and display name + +Results: +- Don't have it in engine, add a layer in content that gets used +- We can have an analyzer for people to not use EntitySystem.Name(EntityUid) where necessary + + +## What's necessary for MRP | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/968872376370622495) +- [GitHub issue](https://github.com/space-wizards/space-station-14/issues/7809) + +Results: +- BE ABLE TO CHANGE THE RULES + + +## What do we want out of in-game species | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/969305610657087499) +- SS14 has made it a lot easier to add and maintain new playable species + - The biggest hurdle is sprites, but humanoid ones are fine +- What should we do when for example someone wants to add a sentient cloud of bees: + - What's acceptable for a round-start species? + - What's acceptable for a mid-round species? (Events, something you can turn yourself into with enough work) + - Situational/event species (skeletons on roundstart on Halloween) + +Results: +- **Round start:** have them be sufficiently different that you play different than a human + - The goal is to make it different enough that LRP players play them differently. + - Slimes should be made more interesting + - Lizards aren't there + - Make them cold-blooded + - More carnivorous + - Dwarves are a debug species, can be removed + - Vox are good but effort + - ok tbh vox would probably still need a bit more mechanically to set them apart imo + - Can it be too different? (Plasmemes) + - Pain in the ass + - If the rest of the game needs to be designed around it (the map has to change) it is too different +- **Mid-round:** SKELETONS, needs to be unique, well-designed, the bar is lower than for round-start +- **Situational/event species:** Lower bar than mid-round, needs to be funny + - Needs a way to prevent round start species after event + + +- Literally this entire answer has been "it has to be interesting" smh. + +## Should we implement map standard tests | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/969630546550489119) +- Examples: +- Enforcing a maximum light budget within an area. +- Making sure each job in the job list has a spawnpoint. +- Forbidding certain objects from being placed in a map (i.e. finally making sure nobody maps the cursed locker for a laugh) +- Ensuring that no spawnpoints will instantly kill you. +- Potentially abusing the pathfinder a bit to check that it's possible for each job to make it to their spawnpoint from arrivals? This might help avert "whoops you can't exit arrivals/your office" bugs. But I think the pathfinder's ability to understand access isn't functional atm. +- Duplicate structures (pipes, wires, and full-tile structures having more than one of themself on the same tile) +- Power continuity tests (mapper places test points and can either check in-game or have a test yell if there's a break) + +Results: +- We need a better way to review maps. + - Overlay to see wires and what's powered at round-start. + - Access overlay for doors, green for accessible red for not, able to be used as a ghost to audit access + - Or list access levels above doors + - Easy way to change access level for this so you don't need to go back to the lobby +- Yes: + - Enforcing a maximum light budget within an area. + - Making sure each job in the job list has a spawnpoint. + - Forbidding certain objects from being placed in a map (i.e. finally making sure nobody maps the cursed locker for a laugh) + - Don't error, warning for relevant things + - Duplicate structures (pipes, wires, and full-tile structures having more than one of themself on the same tile) + - Seeing how fast power runs out on a map + - Power continuity tests (mapper places test points and can either check in-game or have a test yell if there's a break) + - Makes sure there are no breaks in power lines +- No: + - Ensuring that no spawnpoints will instantly kill you. + - Not automatic, we need to go through spawn points for quality control anyway + - The arrivals shuttle fixes this. + - Draw spawn points over everything + - Potentially abusing the pathfinder a bit to check that it's possible for each job to make it to their spawnpoint from arrivals? This might help avert "whoops you can't exit arrivals/your office" bugs. But I think the pathfinder's ability to understand access isn't functional atm. + - For access + - Do it in manual review instead + +- When you code + +## Map quality control | PJB +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/969677010668507176) +- PJB says a bunch are bad + - tremble + - PJB ASMR (patreon exclusive) + +Results: +- Don't rely on there not being player collisions when mapping +- Porting 1:1 is fine on some maps (Delta) not on others (Atlas) +- Common problems: + - All staff halls were a mess, didn't have visibility into the department or no desks, almost all the offices had a bedroom crammed into the office (waste of space, we don't have enough for that on most maps). + - Medbay lobby (except Pillar, where it was fine) + - Too many lights (Pillar and Bagel specially) +- Make sure there are enough disposal chutes + + +## Do we keep asking question on maintainer meeting that end in "WYCI" | PJB +Results: +- Yes, when there's valuable input to be had, even if the result is WYCI we need to figure out if everyone wants it or if there are any downsides + + +## Early Access Roadmap +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - nuke ops + - the nuke is done + - does not work outside dynamic + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** +- body system but again +- body system +- Grid merging +- Diagonal tiles | sloth + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- 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 + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr + - we did it +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr +- any% maintainer | Jezithyr +- Prototype composition | Paul + - https://github.com/space-wizards/space-station-14/pull/7403 +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- State mandated Xonotic matches + - Please I have severe withdrawal symptoms + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-05-14.md b/src/en/maintainer-meetings/maintainer-meeting-2022-05-14.md new file mode 100644 index 000000000..20c2ce583 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-05-14.md @@ -0,0 +1,176 @@ +# Maintainer Meeting (14 May 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 14 May 2022 18:00 UTC + +**Attendees:** +DrSmugleaf +Remie +Visne +moony +ShadowCommander +PJB +ElectroSR +mirrorcult + +## Launcher server announcements | moony +- The launcher listens to an RSS feed if you opt-in **per server (or server group)**. + - Works for any server that has such a feed setup. + - **It can be transient (truncated)** +- For both automated and manual announcements. + - **Can be categorized.** +- Can announce a new round starting, or mandatory server restarts. +- Separate restart notifications from other notifications? + - **Needs high poll rate** + - **Don't have a websocket per server** + - **Run a news aggregator as part of the hub?** + - What happens to servers off the hub? + - Just keep it simple no websocket stuff for now just RSS all the way baby. + - **Push notifications for restarts** +- **Hook up changelog to RSS updates** + + +## Automerging PRs when approved and CI passes | metalgearsloth +- Refined GitHub supports this but it doesn't work properly. +- Allegedly exists in GitHub by default but the button doesn't exist. + - You can only enable it if you enable only being able to merge PRs when CI passes + - Simply disable push to master --moony +- What if the servers DIDN'T autoupdate to broken builds?? + - check em before we wreck em +- **Use a bot (when you code it)** + - **We can use the `workflow_run` workflow event to do this.** + + +## getFlatIcon() AKA handling capture of appearance data (photography, scoreboard, Remie bait) | PJB +- No BYOND-like server CPU rendering +- Send the visual information to the client (appearance components) + - Move complex stuff like item rendering on mobs to be 100% visualizer data +- Just take a screenshot on the client? (photography) (Remie vindicated) + - Easy to do +- How do we render multi-entity entities? + - e.g. eris walls + - **follow child entities and collect em all?** +- **Replace appearance visualizers with entity systems** + - Already agreed on this in another meeting + - Use component states to send the data? + + +## ABI vs API backwards compatibility on engine | PJB +- ABI: code keeps working dynamic linking against newer versions of the engine +- API: code keeps working if you recompile against newer versions of the engine +- **ABI stability** +- There might be GitHub analyzers to check this + - May or may not be worth setting up +- **Aim for ABI, when you have to break it, increase major version** +```cs +// What you have: +void Foo(int x) => ... + +// What you want: +void Foo(int x, int y = 0) => ... + +// What you need to do to preserve ABI compat: +void Foo(int x) => Foo(x, 0); //method NOT removed +void Foo(int x, int y) => ... +``` + + +## Private playtest/actual QA sessions | mirrorcult +- Making the maintainers, senior contributors and game admins play their game +- (Suspicion on Space Station) +- Whitelisted server on EUW2 or USW? + - Maybe USW for the Australians. + - **Put another server instance on USW ez clap** +- Schedule + - **After the maintainer meeting (afterparty)** +- **The whitelist needs to be per server** + + +## Auto-ignore unknown components on the client and remove client IgnoredComponents | mirrorcult +Cases: +- server side component spelled correctly--ignored by client, no error on server +- server side component spelled incorrectly--ignored by client, server errors +- client side component spelled correctly--no error on client, server needs it in the ignore list +- client side component spelled incorrectly--ignored by client, server errors since it's no longer in the ignore list +- shared component spelled correctly--no error on client, no error on server +- shared component spelled incorrectly--ignored by client, server errors +- **Fund it** + + +## Early Access Roadmap +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - nuke ops | Paul + - the nuke is done + - does not work outside dynamic + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** + - moony's entirely rewriting it anyways so don't do that +- body system but again +- body system +- Grid merging +- Diagonal tiles | sloth + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- 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 + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr, DrSmugleaf + - we did it +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr +- any% maintainer | Jezithyr +- Prototype composition | Paul + - https://github.com/space-wizards/RobustToolbox/pull/2678 + - https://github.com/space-wizards/space-station-14/pull/7403 +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- State mandated Xonotic matches + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Man down +- The game runs like shit how do people play this + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-05-28.md b/src/en/maintainer-meetings/maintainer-meeting-2022-05-28.md new file mode 100644 index 000000000..b709b3bcf --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-05-28.md @@ -0,0 +1,274 @@ +# Maintainer Meeting (28 May 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 28 May 2022 18:00 UTC + +**Attendees:** +- Visne +- Remie +- Wrexbe +- Electro +- ShadowCommander +- PJB +- Sloth +- Vera +- Moony +- Silver +- DrSmugleaf, in spirit, briefly + +## Smug left the meeting for Canada | DrSmugleaf +- a mimir + - Jezlag is no joke +- Jez sends her regards +- :pray: + +## Rethink flat folder structure | Sloth +- a: + 1. Engine still doesn't match + 2. There's no nice place to put sundry components + 3. I have to scroll for like 5 seconds to go from client to shared if I don't know the right term to ctrl-F +- Fuck the netherlands we're moving to belgium + +Result: Jeopardy Music +- **Previous system didn't work** +- **just... nest things more? Put all the engines together** + - Potential ones brought up: + - By department (Science, Engineering, etc.) + - Doesn't seem to work that well. + - By game mechanic (Power, Physics, etc.) + +## Remove maintainer ping | Sloth +- Discord permissions moment +- Do we even need to put this in here + +Results: +- **yes** +- Removed mention from maintainer, +- Gave maintainer @ everyone so they can keep pinging eachother + +## making events directed by default instead of broadcast | Sloth +- For `RaiseLocalEvent` +- (essentially, making broadcast default to false on directed `RaiseLocalEvent`) + +Results: +- **a lot of things would break** +- **Make everything explicitly true at call sites** +- **Make it default to false** + +## remove component reference | PJB +- How do we make it happen +- What about Shared components inherited by client/server ones? + +Result: +- We need to get rid of component inheritance/interfaces anyways. +- Only remaining use left is shared components +- Figure out an alternative for shared components: + - *Maybe* (not decided yet) make them more specific so they can be optimized better. + - Some problems: + - Shared component presence 1:1 tied to client/server component + - EnsureComponent spaghet + +## `EntityUid?` vs `EntityUid.Invalid` | Vera + +- Nullable EntityUid has convenient compile-time checks, and forces you to handle null cases. +- There's a clear distinction between EntityUid? and EntityUid, you can expect the latter to be valid in most cases. +- Nullable EntityUid, however, forces you to write a lot more boilerplate. +- Using EntityUid.Invalid is more convenient and allows you to write less boilerplate in most cases, but you lose compile-time checks and an explicit way to mark something as "possibly being invalid/not having a value". +- We need to decide this ASAP and stick with one. + +Results: + +- Problem with nullables: memory overhead (2x mem usage due to alignment) +- One option: `Option` + - Only difference is no orange squiggle when doing `.Value` instead of `!.Value`. + - No pattern matching: `if (foo is { } ent)` + - goodtbh + - Agreed +- **Use EntityUid? whereever possible. If memory usage is a concern, store as `EntityUid.Invalid` and convert on usage but try to avoid using it.** +- Content-facing APIs should use `EntityUid?`, convert if needed. +- Need to convert existing usages + +## Change XAML file naming scheme | PJB +- `Foo.xaml`/`Foo.xaml.cs` -> `Foo.cs.xaml`/`Foo.cs` +- ![](https://i.imgur.com/iCqMUdA.png) + +Results: +- it's fine as is, the UI aspect is "made more important" by this + +## Rename maintainer meetings to Round Table Meetings | PJB +- El Psy Kongroo +- Rename to Round Buckle Table Meetings + - High Round Buckle Table Meeting + +- smugleaf jumpscare + - holyshit smug is typing from air plane + - spanish airplanes have wifi confirmed + - better wifi than Spain + - how long before you land? + - the trick is i havent even left yet + - amongus or silver moment + - yoooo smug bsaed based based + - !!! + +- Rename maintainers to Labo Members + - tuturu~ +- rename maintainers to mini wizards + +Results: +- uhhhhh all shitposting aside +- alles gekheid op een stokje... +- **Nonissue, can be named whatever** + +## Simplify ResourcePath | PJB +- what do we remove from it + - paths :clown_face: +- PJB was an idiot at the time + - she apologises + - not good enough, a blood sacrifice must be made +- Current status: + - Bunch of filesystem semantics like `/` (rooted path), `.` (current dir), `..` (go up a dir) + - Customizable separators (WHO NEEDS THIS) + - Path stored as segmented array of strings +- It's a class because fuck me + - :face_with_one_eyebrow_raised: + +Results: +- PJB has started this already +- Wrapper struct around string + - Keep division operator combining paths P / P +- Remove `..` support +- Remove `.` support +- `null` path is same as `""` + +## Components: Properties or Fields | Wrexbe +- [Message link since we decided to bikeshed this 3 hours before the meeting](https://discord.com/channels/310555209753690112/900426319433728030/980127305894600704) + +Results: +- We settled this pre-meeting (see message link above) +- Use fields unless you need to debug it, but then turn it back into a field after + +## Require public functions/fields be documented | Moony +- Silver votes that this should be enforced now that we have docfx for content/engine. + +Results: +- **Write a convention page about writing good docs. Link it at people.** +- **Try to care more** +- **Maintainers can block PRs in review if deem more docs needed in med/big systems** +- Don't put an analyzer that enforces it too much (i.e. having to repeat yourself just to satisfy the analyzer) +- Don't assume the reader knows game mechanics/has ever played SS13 + +## Robust IDE Extension | Moony +- ![](https://i.imgur.com/fF3vlMQ.png) +- Examples: + - More complex templates for client/server component boilerplates + - YAML language server + - ez pz + - analyzer for sandbox violations + +Results: +- WYCI + +## The Renderer Sucks | Moony +- How do we make it not +- Specifically: byond beats us in some of the things it can do +- Revive RobustEngine + +Results: +- Make wishlist +- Let PJB do it +- Court mandated graphics programming lessons for all maintainers yes yes + +## ~~what should be done about BaseWindow? | Flipp~~ +~~- it seems to be that things that use BaseWindow in SS14 construct the layout in C# rather than XAML~~ +- Mistakes were made + +## what do about fwiend :relieved: PR funny enum | Vera +- where do I put the enum both the analyzer and robust.shared/content need it AAAAAAAAAA +- (do I just make this a completely separate project and put it on nuget or something it'd be useful for other projects, dunno anyway just some bikeshedding) +- Give the enum its own file: + - Link it in both projects SIMPLE + +## Early Access Roadmap +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - ~~!!nuke ops | Paul~~ + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs | Vera + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - limb damage..... +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** + - moony's entirely rewriting it anyways so **don't do that** +- body system but again +- body system +- Grid merging +- Diagonal tiles | sloth + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- 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 + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr, DrSmugleaf + - we did it + - lost in the canadian wilds +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? + - "Science is still a piece of shit" - Vera 28/05/2022 +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr + - stuck in canada +- any% maintainer | Jezithyr + - Stuck in canada + - soon tm +- Prototype composition | Paul + - https://github.com/space-wizards/RobustToolbox/pull/2678 + - https://github.com/space-wizards/space-station-14/pull/7403 + - paul still not done with his thesis +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- State mandated Xonotic matches + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Man down +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-06-11.md b/src/en/maintainer-meetings/maintainer-meeting-2022-06-11.md new file mode 100644 index 000000000..d65bde562 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-06-11.md @@ -0,0 +1,249 @@ +# Maintainer Meeting (11 June 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 11 June 2022 18:00 UTC + +**Attendees:** +- Electro +- Vera +- Remie +- Visne +- PJB +- Moony + +## I'm stuck in Quebec for 5 more hours | DrSmugleaf +- I'm about to baguettify +- The destination is even worse (Spain) +- Smug gets a Canadian gf character arc (multiple maintainer meetings long, episode 2: Attack of the Quebecoise) + - Jez isn't even awake to help me cope with the French please send help + +Agreement: +- Quebec bad +- "Discord leave lasting damage" - smugleaf + +## Click to wide attack was a mistake | Remie +- [link](https://discord.com/channels/310555209753690112/900426319433728030/980204271385604106) + +Agreement: +- Mirrorcult on break, move it to next meeting + + +## Lobby songs take up half the game download what the fuck | All of us, enranged +- seriously?? +- "enranged" means all of the maintainers are so distant from SS14 +- 16 lobby songs... 40mb total. The resources folder is 133mb total. +- This is probably fucking terrible for git clone, etc + +Agreement: +- Turn the PR icon red +- Should we do on-packaging compression? + - Probably yes but how + +## How do release packaging of assets | PJB monologues in the maintainer meeting +- Most engines work with raw high quality assets in repo, game finalized has compressed and lower qualtiy assets on publish. + - Probably a terrible fit for our development: Git + - Audio compression etc is gonna require dedicated heavy tools like ffmpeg and be slow + - Doing audio compression live means results potentially inconsistent across publishes = + - Too slow performance for ACZ, will require asset cache + - Goes against current engine model where resources have 0 importing/caching/etc... +- Still a good choice we should do this: + - Audio too large + - RSI packing + - more + +Conclusion: +- Generate a good idea +- Audio files too heavy, put sources in separate repo. Main repo contains pre-downsampled assets. +- RSI packing etc is a good idea and should be fine. + - Move packaging logic to C#, expose it to ACZ. + - FINALLY. Also please put it in engine thanks. +- Probably still gonna need an asset processing cache either way, :salute: + - SQLite it up + - Please refrain from fucking this up this could go really bad. + - No commitment only experiment for now + +## Asset Manifests | PJB monologues in the maintainer meeting +- Manifest files (not for delta updates) client can load to pre-load all lengths of audio files etc +- Potentially very useful and avoids expensive loading +- May not be necessary +- Annoying on development builds +- Ick for ACZ again, see above. +- Reasons like async loading probably not good enough? +- Vera just got me activated so sloth could show up, how nice of her. + +## Discord emote for all in-game plushies | Wrexbe +- uhhhh +- Only the good ones +- We already snivy what more do you need + - Slime plushie + - Slushie + - PJB throws BASED ACCUSSATIONS of me being a slime girl... lawsuit ensues + - SS14 in shambles + +## Optional tile movement in SS14 | Vera +- Make mob movement modular +- How much effort +- We have to sucker in SS13 codebases +- How to implement? + +Conclusion: +- Ship it, kind of half-ass it for SS14. +- Keep doing distance measurements for interactions, avoid + - Simpler physics for it? Only hard vs non-hard, no "proper" shapes. + - Have support for things such as windoors, etc. + - This logic is not trivial at all, will require in-depth understanding of how SS13 works. +- Forks can improve it further if they want. + - Perhaps upstream/merge good changes? + - as long as it doesn't diverge the code too much?? +- OpenDream needs more sophisticated implementation. + - Needs separate visual/simulation transform + - Wanted to pass this by sloth but rip + - I talked about this with Acruid once + - Gonna be kinks to work out + - Probably have shared transform system func that gets render position, returns sim pos during sim. +- Sorry, Sloth. (Listen I tried to delay this topic until you showed up ;_;) + +## No more new maps until better tools | Sloth +- [message there's a lot of details](https://discord.com/channels/310555209753690112/900426319433728030/980517246390644777) +- didn't we discuss this last meeting wtf +- drama + +Conclusion: +- Even if we had better tools, more maps isn't a good idea + - Still allow new maps but remove old ones. + - Don't increase the total map count +- Make maps unique + - Don't gimmick with a layout, gimmick with a story/theme + - Maps should have unique assets where possible (Sprites, Objects, Jobs) + - Yes this takes effort, git gud + - Who knew that making a good game requires effort +- Port the fucking map that's like 6 spaceships amalgamated together. + - I don't know what it's called (Ask in coderbus) + +## Update server every commit again | Mirror +- [message](https://discord.com/channels/310555209753690112/900426319433728030/982571963316863038) + - Damn 9 this tbh +- We have deltas + redial +- Moony mentioned still reduction in pop even through redial. + +Conclusion: +- PJB has anxiety, this will kill her +- Just don't shy away from manual publish when :eyes: +- Keep as is + +## can I get maintainer review of my design docs because you guys don't look at ideaguys | Mirror +- Well uhhhh + +Conclusion +- She is not here... +- Sorry mirror +- Easiest maintainer meeting topic of my life + +## RobustGenericAttribution Standard: yay or nay? | Vera +- https://github.com/space-wizards/RobustToolboxSpecifications/pull/3 +- don't bikeshed the name + - RobustGenericAttribution (Name Subject to chance) + - it's the choice of steins;gate + - based ref + +Conclusion +- Good idea + - Reviews left to be handled +- Not sure about the name! + - Hehehehehe + +## Matrix3 -> System.Numerics.Matrix3x2 | Electro +Conclusion: +- Probably wanna switch to System.Numerics in general + - Even if it's not great for hot loop SIMD, it's still a bit of savings. +- Differences in API needs to be evaluated, massive breaking change. + - Can we/should we use extension methods to help with this? + - Misses stuff like my tuple cast so sad + +## Early Access Roadmap +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - ~~!!nuke ops | Paul~~ + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs | Vera + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** + - moony's entirely rewriting it anyways so **don't do that** +- body system but again +- body system +- Grid merging +- Diagonal tiles | sloth + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak + - TILE 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 + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr, DrSmugleaf + - we did it + - lost in the canadian wilds +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements | Veritius + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? + - "Science is still a piece of shit" - Vera 28/05/2022 +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr + - stuck in canada +- any% maintainer | Jezithyr + - Stuck in canada + - soon tm +- Prototype composition | Paul + - https://github.com/space-wizards/RobustToolbox/pull/2678 + - https://github.com/space-wizards/space-station-14/pull/7403 + - paul still not done with his thesis +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- State mandated Xonotic matches + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Man down +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - Slightly better | PJB 11/06/2022 + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-06-25.md b/src/en/maintainer-meetings/maintainer-meeting-2022-06-25.md new file mode 100644 index 000000000..fe36078ea --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-06-25.md @@ -0,0 +1,189 @@ +# Maintainer Meeting (25 June 2022) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 25 June 2022 18:00 UTC + +**Attendees:** +- DrSmugleaf +- PJB +- Wrexbe +- ElectroSR +- Vera +- metalgearsloth (just got nitro) +- Shadowcommander (late) + +## Making wide attack click-based was a mistake | Remie +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/980204271385604106) +- Too much friendly fire with Kudzu + - **Kudzu needs to be fixed separately** +- Most weapons shouldn't have broad-angle wide attacks + - **Spears should have spear-like attacks** +- Make it toggleable to let the user decide? + - Need to pick a sane default + - **Experiment with making it a hold attack, when you release left-mouse button** + - Windup? + - **Experiment with it too** + + +## Disbanding scheduled playtests for now | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/986359940400680980) +- Letting in a select amount of users at a time +- High pop has design and game administration problems +- We set the cap to 65 recently (raised to 130 during playtests) +- Some SS13 servers have such high pop counts +- **We need high pop maps for this** +- **They are important to get players invested and check out new things** +- Turn them into proper feature tests? + - No because features will be broken and it will look bad +- **Decision: Change playtests to be at the same time as progress reports** + + +## Tile damage kinds | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/986384961718353951) +- RobustToolbox's tiles are too limited and don't have enough space +- Do we make a SS14-specific wrapper around tiles? +- Tile controllers? + - **A separate system from normal ECS is not convenient** +- Make them use normal components and ECS? + - **We need to make our ECS not shit and implement transformless entities** + + +## ECS refactor | Jezithyr +- Two-layer ECS, archetypical for perf and sparse for entity glut, similar to the concept of worlds in some ECS +- In archetypical ECS, the problem is that adding more components to an entity at runtime is slow + - **We do this sometimes** + - Iterating and filtering entities is very fast +- With worlds we can have replays with their own world and entities + - Multithreading +- C# binds for FLECS exist + - **Decision: Experiment with it** +- Rewrite our own ECS with the important parts in C# instead? + - NIH my beloved + - Less performance overhead with marshalling + - More work to maintain +- Do we need to cut down on remo +- Flecs fixed my marriage + - Me irl + - Good for containers with child entities +- Is this the next engine rewrite +- Back to Godot +- Try to not cause an API breakage +- A - Vera + + +## Right-click for both entity menu and verb menu on entities is unintuitive | mirrorcult +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/988966819018707004) +- It's unintuitive because you have to right click twice +- There's no indication it's possible to open the verb menu +- How do we solve this + - **Decision: Trigger on hover** + - Properly handle moving diagonally onto submenu (don't make the submenu close instantly on hover leave) + + +## Expanding who can merge PRs | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/988983179262189639) +- Junior maints / trusted reviewers? +- We need more people to get content PRs through +- Expanding triage perms? +- **Need more people to review** +- **Decision: Make review guidelines** + - Add big/breaking code changes to the codebase changes channel + + +## Protect master branch | mirrorcult +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/989048858216636446) +- We are getting 500 PRs a month anyway help +- We need it to make downstreams have an easier time merging changes +- Prevents cringe pushes to master +- Too many commands to update the submodule + - **Solution: make a script, you can make PRs from the CLI too** +- **Decision: protect master branch** + + +## Early Access Roadmap +- emergency shuttle | sloth + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - ~~!!nuke ops | Paul~~ + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** + - moony's entirely rewriting it anyways so **don't do that** +- body system but again +- body system +- Grid merging +- Diagonal tiles + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak + - TILE MOVEMENT [c#5551](https://github.com/space-wizards/space-station-14/issues/5551) +- 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 + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr, DrSmugleaf + - we did it + - lost in the canadian wilds +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole bans + - unify ghost roles prototype +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements | Veritius + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? + - "Science is still a piece of shit" - Vera 28/05/2022 +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr + - stuck in canada +- any% maintainer | Jezithyr + - Stuck in canada + - soon tm +- Prototype composition | Paul + - https://github.com/space-wizards/RobustToolbox/pull/2678 + - https://github.com/space-wizards/space-station-14/pull/7403 + - paul still not done with his thesis +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Man down +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + +Crashes / Critical bugs: (when are we moving these to GitHub) + => till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-07-16.md b/src/en/maintainer-meetings/maintainer-meeting-2022-07-16.md new file mode 100644 index 000000000..d7219643f --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-07-16.md @@ -0,0 +1,142 @@ +# Maintainer Meeting (16 July 2022) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 16 July 2022 18:00 UTC + +**Attendees:** +- DrSmugleaf +- ElectroSR +- Silver +- Vera +- Ike709 +- ShadowCommander +- PJB + +## Replace EffectSystem with client-side entities | Metalgearsloth +- Effects don't have animations +- Can't have layered effects nor do fancy animations +- At the moment we mix the two +- They do the same thing and are legacy +- **Conclusion: Yes** + + +## Labelling EntityUids as "should have a component" | PJB +- Such as EntityUid\ +- Wouldn't really mean anything short of just being implicit cast to/from EntityUid when relevant, just a type hint kinda thing +- Vast majority would expect TransformComponent, would make more sense to explicitly say it doesn't require it +- ![](https://i.imgur.com/KqbK5vi.png) + - ship it +- Generic struct that contains the entity uid and component, keeps it in a field +- **Conclusion: Ship it (When PJB Codes It)** + + +## Engine changelogs | Ike709 +- Do we want them: Yes +- Who codes it: PJB +- When: RN +- With: MoMMI +- **Put the changelog in a markdown file** + + +## Replacing tags with tag components | Mirrorcult +- They often break with prototype inheritance +- Auto ignored comps are now a thing +- The engine needs to be optimized for this (store tag components as a bit flag instead of full components) +- Need proper ECS for this +- **Do it** + + +## Expanding the number of people allowed to merge PRs | Moony +- **Appoint more maintainers (easier now that master is protected)** +- Link docs automatically when a relevant file is changed. + - Example: Link construction docs when a file relating to construction is changed. +- Fix the GitHub workflow to auto-remove "needs review" when the PR gets one review, if more reviews are needed put the tag back on. + - Have it add waiting for review tag as well. +- **Re-read and re-write if necessary the review/PR guidelines.** +- **Show PR guidelines somewhere to the contributor when making a PR.** + + +## Making wide-attack based on click was a huge mistake | Remie +- [From previous notes](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-06-25-meetup) + + +## Early Access Roadmap +- gamemodes/antags + - dynamic | mirror + - lings? + - needs DNA + - blob | Remie + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** + - moony's entirely rewriting it anyways so **don't do that** +- body system but again +- body system +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak + - TILE MOVEMENT [c#5551](https://github.com/space-wizards/space-station-14/issues/5551) +- 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 + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr, DrSmugleaf + - we did it + - lost in the canadian wilds +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole bans + - unify ghost roles prototype +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements | metalgearsloth, Veritius [c#9384](https://github.com/space-wizards/space-station-14/pull/9384) + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? + - "Science is still a piece of shit" - Vera 28/05/2022 +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr + - stuck in canada +- any% maintainer | Jezithyr + - Stuck in canada + - soon tm +- Prototype composition | Paul + - https://github.com/space-wizards/RobustToolbox/pull/2678 + - https://github.com/space-wizards/space-station-14/pull/7403 + - paul still not done with his thesis +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Man down +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + +Crashes / Critical bugs: (when are we moving these to GitHub) + => till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-07-30.md b/src/en/maintainer-meetings/maintainer-meeting-2022-07-30.md new file mode 100644 index 000000000..50665409b --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-07-30.md @@ -0,0 +1,110 @@ +# Maintainer Meeting (30 July 2022) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 30 July 2022 18:00 UTC + +**Attendees:** +- DrSmugleaf +- ShadowCommander +- ElectroSR +- Wrexbe +- moony +- PJB +- Visne + +## Are we The Upstream or our own server | moony +- Will there be a separate repo + - **No** +- Don't hold game design back because we're "upstream" + - If a feature needs to be killed to make the game better, don't keep it because downstreams might want it +- Can we trust project managers with SSH: + - Yes, assuming Silver doesn't object. +- Change server configs in the repo instead of Ansible. + - Is this worse for downstreams + - Downstreams can change it promptly in the config file + - **Put all the default configs in the TOML config file so upstream changes don't change downstream** +- Do we make different CVars changeable by different permission groups? (Game admin, moderator) + - **Yes** + + +## Remove game settings from server config | PJB +- We basically ended up discussing this in the previous point +- "Thank you for the bullet point" - Smugleaf + + +## Hud refactor ready for review | Jezithyr +- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + +## Early Access Roadmap +- gamemodes/antags + - dynamic | mirror + - lings? + - needs DNA + - blob | Remie + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** + - moony's entirely rewriting it anyways so **don't do that** +- body system but again +- body system +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- 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 + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor READY FOR REVIEW | Jezithyr, DrSmugleaf + - we did it + - lost in the canadian wilds + - found in the canadian wilds +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole/antag bans + - unify ghost roles prototype +- Job playtime requirements | metalgearsloth, Veritius [c#9384](https://github.com/space-wizards/space-station-14/pull/9384) + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? + - "Science is still a piece of shit" - Vera 28/05/2022 +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr + - stuck in canada +- any% maintainer | Jezithyr + - Stuck in canada + - soon tm +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Man down +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + - "Please read the last line of that subsection" | PJB 30/07/2022 +- A trailer for Steam + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time