FabianK3 Posted Saturday at 23:32 Posted Saturday at 23:32 (edited) Hi! The first step for across-round persistence has been implemented and has been merged: https://github.com/Aurorastation/Aurora.3/pull/21055 What exactly is "persistence"? Persistence is the term used for anything that will be persistent between different game rounds. We no longer only have stories to share between rounds but starting to see the results of your fellow crewmen in the next shift as well. What does the first implementation contain exactly? The newly added subsystem is the heart of the new persistence subsystem and handles things like loading and saving of persistent things. With the core implementation, papers and noticeboards have been added as the first initial test of across-round persistence. From now on, papers you add to notice boards will stay persistent until somebody removes them or they become older then thirty days. When you remove a paper and re-pin it to the board, it will stay persistent, but the 30-day-timer doesn't get reset. When you remove a paper, edit it, re-pin it — or pin-it to a different board, the 30-day-timer resets. Why is there a lifespan for persistent things? Simply: To prevent trashing the ship with different things. Future things don't have to use the 30-day limit. Depending on the type it can be shorter, or longer. What is planned to be made persistent next? This is the questions this thread was primarily made for. Currently, persistent dirt is probably the next thing coming up and already in progress. Details on that are still to be discussed, but I am mentioning it now to prevent people from doing work twice, as some people already started to think about it! Get used to cleaning up your paperwork and stop littering... For any coders, here is some documentation I wrote to make things more accessible: https://github.com/Aurorastation/Aurora.3/wiki/Persistence Share your thoughts about the first implementation and what you think would go well in terms of new stuff to be made persistent. Big thanks to @Arrow768 and @MattAtlas for helping me with the implementation of the persistence subsystem. Edit history: - Big thanks. Edited Saturday at 23:39 by FabianK3 2 Quote
Fyni Posted Saturday at 23:44 Posted Saturday at 23:44 Hello! I'm the one who requested this originally. I assume the notes will have ckeys attached to them, so we can actions griefing notes? Minor persistance (could likely be implemented without much talk) I'd like to see command locked boards as a possibility. Swipe a command ID to access them. This can be good for more important style notes in department lobbys. Sticky notes persist. Vending machines. Janitors can currently refill them but this isn't done very often. By having vending machines linked to persistance, this would make this done mroe often (and make the commissary more important). Muck. The obvious one. Gibs, blood, oil and dirt having a chance to persist as generic dirt. Perhaps have a low percentage chance of each tile getting goop based on what's on it. Possibly have the percentage change depending on the round type (so bloodier antag rounds like merc or cult have less chance of it persisting as muck). Possibly have a canon/none canon switch somewhere which rarely allows oil and blood to persist. Maybe let trash persist too? Finally maint should be excempt. Massive persistance (would require a lot of discussion) Persistant credit accounts (including departments). These could slowly tick up daily, but would make bounty fulfilment and making credits generally more important. Additionally, tie vending sales to service. Maybe make vending refill cartridges order only. 1 Quote
greenjoe Posted Saturday at 23:45 Posted Saturday at 23:45 My thoughts here are On dirt: Blood should normally turn into generic filth, unless it is a canon round (maybe set via a special thing admins do?) Then the blood stays as blood. Certain areas are exempt from dirt persisting (maint, medical, crusher, xenobio) Trash/garbage items also persist alongside the dirt. Other ideas of persistent things I have are: Sticky notes. Write on them like paper, can stick onto walls. Graffiti you can carve into walls and floors with a sharp object. Can be cleared away with a welder. 1 Quote
FabianK3 Posted Saturday at 23:49 Author Posted Saturday at 23:49 1 minute ago, Fyni said: I assume the notes will have ckeys attached to them, so we can actions griefing notes? Correct! The persistence subsystem features a way to add a ckey to a persistent saved data entry. There are some caveats to that at the moment: - When papers are added to a notice board, the user adding the paper will be marked by ckey. - Moderation is currently only possible by looking into the database. There is no admin tool for that just yet. - Depending on the type of persistence (in this case paper) staff should keep in mind, that a user adding a paper might not be the actual author of the contents. 4 minutes ago, Fyni said: Muck. The obvious one. Gibs, blood, oil and dirt having a chance to persist as generic dirt. Perhaps have a low percentage chance of each tile getting goop based on what's on it. Possibly have the percentage change depending on the round type (so bloodier antag rounds like merc or cult have less chance of it persisting as muck). Possibly have a canon/none canon switch somewhere which rarely allows oil and blood to persist. @Arrow768 is already playing around with that. Gibs, blood and antag rounds are something that still need some work as those are special cases. Quote
FabianK3 Posted yesterday at 00:11 Author Posted yesterday at 00:11 23 minutes ago, greenjoe said: Certain areas are exempt from dirt persisting (maint, medical, crusher, xenobio) The great things is: Objects can decide "themselves" when they get persistent. For example, at some point and object (or who ever handles the object) needs to decide when it becomes persistent. In the case of papers on boards, the board makes the paper persistent when it gets added. When it comes to dirt or other scenarios, you can add custom logic to prevent making things persistent in the first place. Quote
Lordnesh Posted yesterday at 00:54 Posted yesterday at 00:54 Please make medical exempt from most forms of persistence. Medical is highly reliant on their vendors being stocked at the beginning of each round to fulfill their duties. Likewise with dirt/filth/gore. While medical does have cleaning supplies they are limited. Alternatively, being back department cleaning supply closets. Could probably shove a mop and bucket in the basement storage area with the air can, radios, and spotlights. Quote
Fyni Posted yesterday at 00:58 Posted yesterday at 00:58 2 minutes ago, Lordnesh said: Please make medical exempt from most forms of persistence. Medical is highly reliant on their vendors being stocked at the beginning of each round to fulfill their duties. Likewise with dirt/filth/gore. While medical does have cleaning supplies they are limited. Alternatively, being back department cleaning supply closets. Could probably shove a mop and bucket in the basement storage area with the air can, radios, and spotlights. By vendors I mean purely food, drink, cigarettes and overloaders. Things like the secvend, medvend, tool etc. should reset on each round. Should have made that clear. Quote
FabianK3 Posted yesterday at 01:01 Author Posted yesterday at 01:01 When it comes to gameplay altering changes like vendor stocking or similar, I'm pretty sure things would require test merges. I don't think those things can be balanced properly without a test-merge. Unrelated to the persistence or where it happens. Quote
rrrrrr Posted yesterday at 02:26 Posted yesterday at 02:26 To briefly play devil's advocate for not having a 30-day limit for papers on notice boards --- disposals and paper shredders exist. Presumably, players can do their due diligence in removing outdated/irrelevant papers on departmental noticeboards and janitors can do it for public ones. Quote
FabianK3 Posted yesterday at 02:30 Author Posted yesterday at 02:30 (edited) 5 minutes ago, rrrrrr said: To briefly play devil's advocate for not having a 30-day limit for papers on notice boards --- disposals and paper shredders exist. Presumably, players can do their due diligence in removing outdated/irrelevant papers on departmental noticeboards and janitors can do it for public ones. You're not wrong. I'm expecting papers to not hit that 30-day limit often, I assume they get cleared before (at least in the future). The primary goal of the expiration system behind it is not to directly force removal of things because they are old, but rather to guarantee there is no unlimited stash of things that might be missed and cause troubles. It's more a technical cleanup then I'm expecting it to be a cleanup ingame. While not necessary for papers it will become necessary for other persistent types in the future. Edited yesterday at 02:32 by FabianK3 Quote
Jasorn Posted yesterday at 06:01 Posted yesterday at 06:01 I like all these ideas, especially the more complicated money tracking. I find people never value their money and will tip crazy amounts or spend their entire savings on an item, this would actually give value to that. As for everything else like grim and leftover notes etc. I think it's another gameplay mechanic that could be fun, as well as RP. You could arrive on the shift and find your department a little dirty and cluttered and spend some time clearing it up, while at the same time bantering with your coworkers about how last shift did a bad job closing up. (This part is very real if you've ever worked opening/closing shifts my god) 1 Quote
OffRoad99 Posted 20 hours ago Posted 20 hours ago 3 hours ago, Jasorn said: I like all these ideas, especially the more complicated money tracking. I find people never value their money and will tip crazy amounts or spend their entire savings on an item, this would actually give value to that. As for everything else like grim and leftover notes etc. I think it's another gameplay mechanic that could be fun, as well as RP. You could arrive on the shift and find your department a little dirty and cluttered and spend some time clearing it up, while at the same time bantering with your coworkers about how last shift did a bad job closing up. (This part is very real if you've ever worked opening/closing shifts my god) Agree with all this! Not to mention this kinda directly reinforces the importance of the janitor role (a role that's often overlooked)! 1 Quote
greenjoe Posted 18 hours ago Posted 18 hours ago Persistent money/economy would need a LOT to think about how it would work, there are many issues there that would need to be solved, one being antags. Say an antag steals money from another crewmember, or a departmental account, that obviously isn't canon and shouldn't be Persistent. Security charges for antags are automatically deleted so something may be able to be done there, but a different issue is if the antag blackmails another crewmember (a non antag) to do it. This crewmember doesn't have any kind of automatic thing to delete antagonistic actions like an actual antag would, and in terms of a security charge, would need to manually delete it. How would something like this work for Persistent money... Quote
FabianK3 Posted 18 hours ago Author Posted 18 hours ago I think the issue with any antag interaction is that is mechanically nearly impossible to catch. Many interactions of that kind are purely RP (Gun at your back in front of your local ATM) and have zero indication mechanically that this is an antag interaction — You could be robbed in an extended round as well, well, technically at least. With mechanically checking if the interaction is antag related out the window, the only feasible approach to that issue I have at the moment is to simply pause the persistence system for some persistent types (money for example, papers on notice boards don't need to be paused) for any round that is not extended (or not canon odyssey). Checking the round type could also be used for persistent dirt: Canon round? Save blood and dirt. Non-canon round? Convert blood into regular dirt. I think generally, the implementation of new persistent things is easier then getting right how they are persistent and how to handle the many edge cases that come along for the different persistent types. Quote
greenjoe Posted 17 hours ago Posted 17 hours ago (edited) 24 minutes ago, FabianK3 said: I think the issue with any antag interaction is that is mechanically nearly impossible to catch. Many interactions of that kind are purely RP (Gun at your back in front of your local ATM) and have zero indication mechanically that this is an antag interaction — You could be robbed in an extended round as well, well, technically at least. That's what I'm saying about money yeah A gun at your back antag situation would be non canon, but how would that work with persistent money... While a robbery on extended would actually be canon, so there it would be okay for the money to be gone. 24 minutes ago, FabianK3 said: the only feasible approach to that issue I have at the moment is to simply pause the persistence system for some persistent types Pausing persistent money for antag rounds would not really work out either however... since there are still plenty of interactions in the round that are still perfectly canon, assuming the antag is not involved. Buying food from the kitchen would still be canon. Being fined for littering would still be canon. Plus, an issue with pausing persistent money on antag rounds would mean it would hardly see use due to a majority of populated rounds on the server being antag one's. Edited 17 hours ago by greenjoe Quote
UltraNumeron Posted 16 hours ago Posted 16 hours ago Also one issue with persistent money, it would mean that generally regardless of character background characters that have been played for a while will be far richer then newer ones. Which considering we have Dominian nobles and golden deep merchants on the same ship as owned IPCs and Dregs does not make much sense. Quote
DatSamTho Posted 15 hours ago Posted 15 hours ago 1 hour ago, UltraNumeron said: Also one issue with persistent money, it would mean that generally regardless of character background characters that have been played for a while will be far richer then newer ones. Which considering we have Dominian nobles and golden deep merchants on the same ship as owned IPCs and Dregs does not make much sense. You could probably just have a cap as to how much money a character of x species, and y financial status can have 1 Quote
DatSamTho Posted 12 hours ago Posted 12 hours ago (edited) With the new persistent notes, I think a public notice board would be nice. (Unless there's already one that I've never noticed.) Personally, I'd say to replace the newscaster next to the stargazer system in the central ring. Edited 12 hours ago by DatSamTho Quote
FabianK3 Posted 12 hours ago Author Posted 12 hours ago 19 minutes ago, DatSamTho said: With the new persistent notes, I think a public notice board would be nice. That's a great idea and already something @Fyni has brought to my attention. Lockable noticeboards, like, glass pane covered boards to present notes to the public. It's one of the next things on my bucket list. Quote
DatSamTho Posted 12 hours ago Posted 12 hours ago 1 minute ago, FabianK3 said: That's a great idea and already something @Fyni has brought to my attention. Lockable noticeboards, like, glass pane covered boards to present notes to the public. It's one of the next things on my bucket list. Honestly, I'd prefer to have ones that are just open to the public. Sort of like the crew-bulletin relay channel. Though we could have a public one, and a command one, in front of the bridge, or something like that. Quote
FabianK3 Posted 10 hours ago Author Posted 10 hours ago 1 hour ago, DatSamTho said: Honestly, I'd prefer to have ones that are just open to the public. Sort of like the crew-bulletin relay channel. One does mean the other isn't possible. When lockable boards are here, it's a question of mapping. 1 Quote
KingOfThePing Posted 10 hours ago Posted 10 hours ago I'll tackle the notice boards from a sprite perspective. 1 Quote
triogenix Posted 10 hours ago Posted 10 hours ago When it comes to persistent money, a solid way to solve this issue is just to have it reset every month or so. I had a design doc somewhere with a general idea on how to implement a persistent money system so lmk via discord DMs if you want that. 2 Quote
FabianK3 Posted 10 hours ago Author Posted 10 hours ago While I think that persistent money is a very cool thought and certainly features a lot of cool mechanics, I think it's currently a little out of reach. Things that would get focus at the moment: - (lockable) Noticeboards - Dirt - Trash - Vendors Those are probably the most feasible things for the near future in terms of implementing them. Quote
maxspells Posted 8 hours ago Posted 8 hours ago 21 hours ago, Fyni said: By vendors I mean purely food, drink, cigarettes and overloaders. Things like the secvend, medvend, tool etc. should reset on each round. Should have made that clear. What if we expand on this instead by porting /tg/s cargo refilling? On TG codebases, cargotechs can order vendor restocking on the cargo shuttles and manually restock vendors and empty out the money contained inside the vendors. I always thought that was a fun little thing you could do as a cargotech, and here it would work even better given our HRP environment and this persistence code. 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.