Skip to content

Commit

Permalink
Add 2023 maintainer meeting notes
Browse files Browse the repository at this point in the history
  • Loading branch information
DrSmugleaf committed Sep 30, 2023
1 parent af73a92 commit e886acb
Show file tree
Hide file tree
Showing 10 changed files with 1,384 additions and 0 deletions.
165 changes: 165 additions & 0 deletions src/en/maintainer-meetings/maintainer-meeting-2023-01-07.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
# Maintainer Meeting (07 January 2023)
```admonish info
Any decisions taken in these notes may no longer be applicable.
```

**Time:** 07 January 2023 19:00 UTC

**Attendees:**
- Moony
- Visne
- ElectroSR
- Remie
- Flipp
- ShadowCommander
- DrSmugleaf
- Vera
- PJB

## Using source generators for (de)serialization | DrSmugleaf
- Expression trees were a mistake
- **sounds good**


## Enforce AccessAttribute and better documentation on new PRs | metalgearsloth
- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1060739900758044792)
- **yes**
- may not work for shared components
- check if it works with implementations of the whitelisted type for shared systems
- If it doesn't, make [Access] take an optional list of strings for types in server/client
- ping Vera if something goes terribly wrong


## Minify meta.json files | metalgearsloth
- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1060432256092618753)
- [GitHub PR](https://github.com/space-wizards/space-station-14/pull/13035)
- Do we minify them
- **no**
- If not change the editorconfig to match the current style (2 space indents)
- **yes**
- Apparently some people copypaste existing meta.jsons to create new ones, which has caused many errors in multiple RSIs
- Reasons not to:
- harder to edit
- harder to review
- ?
- Reasons to:
- there's editor plugins that minify and unminify automatically for you
- this isnt a reason
- ~~saves 1.5 MB~~ not important? it's compressed when game is packaged, etc
- ?


## Require all public fields and methods to include xmldoc comments | moony
- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1055341182248558623)
- Make sure every method is documented
- Document every field
- **Put this in the PR guidelines**
- https://docs.spacestation14.io/en/getting-started/pr-guideline


## Rename entityquery to componentquery | metalgearsloth
- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1030122281462136862)
- **Yes**
- Wait for archetypes to rename them


## Should Helpers and Extensions be moved to EntitySystems | ShadowCommander
- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1018323213517856838)
- **Yes, if it refers to any manager, system or entity**
- **If it's a random helper to save code it doesn't need to be**


## Resolve pattern | DrSmugleaf
- **Add call site to arguments of resolve with the new .NET 6 arguments so it can log the file and line if a warning happens.**


## Turn IPlayerSession into an entity | moony
- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1015187820752683021)
- **Yes**
- This would let us modularize the entire thing and allow us to use events on players directly, letting us get rid of many player-indexed dicts in favor of storing it on the player
- Should this be done at an engine level, or at a content level?
- **Engine**
- **Keep player session, then have an entity field on the session for its data**
- **Mind would still be separate since player session is transient**
- **You can have multiple minds for the lifetime of a single player session**


## Replace BUI state handling with normal component state handling for BUI prediction | ElectroSR
- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1012164293816483870)
- Laggy interfaces suck
- Everyone is actively avoiding BUI atm
- **Prefer component states to BUI states**
- **Someone refactor BUI please**
- **Have the client manage the UI, the server needs to know if its open**


## Component references | PJB
- **Try to remove them**
- How do we have client-only or server-only data on a component without it
- Use different components for that data?


## Archetypes | DrSmugleaf
- B O N U S T O P I C
- Need to be made faster before we implement them outside of Robust.Benchmarks
- Do archetype chunking to optimize for CPU cache hits
- Check startup time specially for the JIT when creating all the archetypes
- [Flecs benchmarks](https://github.com/SanderMertens/ecs_benchmark)


## Early Access Roadmap
- gamemodes/antags
- dynamic | mirror
- lings?
- needs DNA
- blob | Remie
- revolutionaries
- we want a generic antag overlay system
- loyalty implant
- faction system
- EL BODY SYSTEM | mirror ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x)
- 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
- she did it go port it https://github.com/Citadel-Station-13/space-station-14/tree/master/Content.Server/_Citadel/Worldgen
- 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
- we have a pr open
- combat rework (needs to be bikeshedded)
- https://github.com/space-wizards/space-station-14/issues/3378
- ghostrole/antag bans
- unify ghost roles prototype (mind refactor)
- experimental science
- "Science is still a piece of shit" - Vera 28/05/2022
- "I haven't played the game in 2 years" - Vera 07/01/2023
- any% maintainer | Jezithyr
- Stuck in canada
- soon tm
- State mandated Xonotic matches | PJB
- Please I have severe withdrawal symptoms
- Replaced by private SS14 playtests
- Woman 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
- "Please unread the last line of the previous subsection" | PJB 07/01/2023
- A trailer for Steam

Crashes / Critical bugs: (when are we moving these to GitHub)
- role timers not counting properly
=> till next time
161 changes: 161 additions & 0 deletions src/en/maintainer-meetings/maintainer-meeting-2023-01-21.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
# Maintainer Meeting (21 January 2023)
```admonish info
Any decisions taken in these notes may no longer be applicable.
```

**Time:** 21 January 2023 19:00 UTC

**Attendees:**
- moony
- AJCM
- Zoldorf
- Visne
- ElectroSR
- Remie
- Wrexbe
- DrSmugleaf
- Vera
- mirrorcult
- PJB

## Bumping map count to 15 | metalgearsloth
- Most of [c#10595](https://github.com/space-wizards/space-station-14/issues/10595) is done
- 15 is too many
- **Bump it up to 12**
- **1 more low pop map, 1 more high pop map**

## What to do about RSI licensing | metalgearsloth
- Do we use RGA outside of the folder
- No, RGAs are for other resources
- Do we use something else entirely
- **Make the license field a list of licenses interpreted by a script**
- **Copyright is freeform interpreted by a human**
- **Don't use RGAs for RSIs**

## Do we explicitly block Windows 7 | PJB
- **Make the pop-up always show up, not only once**
- **Change the text and make closing the pop-up close the launcher too**
- **Localize the pop-up message to Russian if the OS is in Russian**

## Do we mandate guidebook entries for new large features | mirrorcult
- **Yes**

## How do we distribute replay recordings & clients, and should we hide some data | ElectroSR
- Should we hide data such as admin aghost positions?
- No
- How do we distribute it
- Tie replays to a version (game/engine), metadata and a link
- Download the replay and its data should launch the sandboxed client with a specific version
- Include the commit number in the replay file (any data can be appended to the replay file from content)
- Content versioning scheme (commit number), download link (if it doesn't work you download it yourself)

## Can we do another stress test trace | mirrorcult
- Try and say that 10 times fast "stress test trace"
- Stresst
- Run it from time to time (ping PJB)
- Ping tester for it
- Having links that connect you to a server would be useful

## PJB's renderer ASMR for Jez | PJB
- Problems with the renderer:
- We can't do what Byond can with planes, complex filtering
- We don't want planes (they are a bad idea)
- The alternative is a GOOD API (difficult)
- We can't have multiple post-shaders
- The hard part of a renderer is integrating it into the rest of the game engine (we are 2D)
- There are no existing rendering APIs we can just take
- We need a rendering API to:
- Draw textures, polygons at locations
- The game's code:
- Puts sprites at locations
- People do funny things (shaders, render targets)
- Our API has some of this but is unperformant, not very flexible
- Going from "draw sprite" to "opengl arrays" is just a lot of glue-code, not complicated
- Clyde is divided internally, only one file takes the sprites and actually draws them with the rest of the API
- Using a different rendering API to replace Clyde because of the maintenance burden requires it doing everything that Clyde already does
- We can't build Clyde on top of another incomplete rendering API because it would be spaghetti
- When we tried to use Godot we had our own sprite component and tried to build it on top
- Godot was too high level, too unperformant to integrate with nicely
- Need something that's lower level
- Godot 4 nonwithstanding
- Maybe something like Monogame but we would need a lot of glue code (replacing all of Clyde and refactoring anything that uses Clyde)
- PJB transferred from the Clyde mines and into the Monogame mines (we would need to fork it)
- Any other libraries unknown that don't need us to half-ass it
- Not worth the complexity
- PART 2: Even if you can find a good rendering API
- There are some good libraries (e.g. BGFX) that make you not need to write separate OpenGL/DirectX/Vulkan backends
- You would still have your own "Clyde" on top of it
- We still support very old hardware up to 10 years old, even if you raised this number WebGPU/etc require more modern APIs which would drop older hardware
- We don't want to expose the graphics library on Robust
- PROBLEM 2 (It's actually 3):
- We need to support Veldrid
- PROBLEM 3 (4):
- Older hardware
- this is still all just problem 2: "older hardware" she's just talking in a very roundabout funny manner
- Don't worry about it
- Maybe (maybe) use (maybe) WebGPU which uses the browser which reduces a lot of things you would need to create
- DirectX 10.1 hardware is what we target
- Visne left to go party, he is uncool
- Writing multiple backends: not good
- PJB is lost and confused, sad
- Just use Clyde :+1:
- Clyde2.0 When
- **If you want it easy drop OpenGL support**
- Less ass to maintain
- There are no plug-in rendering APIs
- Maybe get WebGPU or Vulkan-based, code against that, OpenGL is a fuck


## Early Access Roadmap
- gamemodes/antags
- dynamic | mirror
- lings?
- needs DNA
- blob | Remie
- revolutionaries
- we want a generic antag overlay system
- loyalty implant
- faction system
- EL BODY SYSTEM | jez ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x)
- 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
- she did it go port it https://github.com/Citadel-Station-13/space-station-14/tree/master/Content.Server/_Citadel/Worldgen
- 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
- Add more shit to the guidebook
- combat rework (needs to be bikeshedded)
- https://github.com/space-wizards/space-station-14/issues/3378
- ghostrole/antag bans
- unify ghost roles prototype (mind refactor)
- experimental science
- "Science is still a piece of shit" - Vera 28/05/2022
- "I haven't played the game in 2 years" - Vera 07/01/2023
- State mandated Xonotic matches | PJB
- Please I have severe withdrawal symptoms
- Replaced by private SS14 playtests
- Woman down
- She added Miku to her server (real) now you can play as miku pls play with her
- 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
- "Please unread the last line of the previous subsection" | PJB 07/01/2023
- "I spent the last two weeks coding Rain World" | PJB 21/01/2023
- A trailer for Steam

Crashes / Critical bugs: (when are we moving these to GitHub)
- role timers not counting properly
=> till next time
Loading

0 comments on commit e886acb

Please sign in to comment.