New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tracking for per-department playtime #7020
Conversation
Tracks how much time players play in each department. E.g: someone might have 10 hours played as Engineering jobs, 15 hours as medical, 5 as Science, 7 as Security, etc. This is helpful because: 1) It provides more detailed stats tracking for admins. We'll be able to tell if someone is new at a department, or experienced at it. We'll be able to tell who the most experienced players are at each department. Etc. 2) It provides a framework we (or downstream servers) could later use to have a department-based progression system. E.g: HoS requires 10 hours played *as security* (not just ten hours in general) to unlock, Captain requires 10 hours played in head jobs to unlock, etc. This PR doesn't implement any new requirements at all, but it does provide the tracking future implementation would require, should we ever decide to go down that path.
Yes <3 |
A part of me finds it unfair to make the gate so steep that you play lock one department behind another. A department should unlock regardless of time played in another department. This includes heads. |
This PR just does tracking. There is no gating in this PR. Back in the day, the idea of department-based playtime was that being the head of a department required you to spend some time in that department, and being Captain required some time spent as heads. That's quite reasonable. It would certainly go a long way towards preventing "I played Assistant for 20 hours, now I can play Captain, right guys?" syndrome. That's just one idea, though. And just speculation at this point. I am not proposing any gating in this PR. I am simply proposing we track what people play as. If it turns out that most of the bad heads are people who've never really played their department, then I'll consider proposing gating then, on the basis of that evidence. If on the other hand, the stats prove me wrong, then so be it. Either way, we'll know based on the data, based on the tracking that this PR gives us, whether it is a good idea or not. |
This was shot down in #5224, because it doesn't track anything you'd actually want it to. Here's a quick rundown of what it doesn't do:
The best example of what's wrong with this is geneticists, who count as time for medical and science, yet perform functions completely unrelated to anything else those departments do. You can have someone with 100 hours of medical "experience" (as a geneticist) who's worse at surgery than someone with 0 hours and some wiki reading. They might not even be any good with genetics. Playtime doesn't guarantee anything.
We'll be able to make rough assumptions about their experience based on their playtime... eventually, since we can't retroactively track it.
If you want to know what experience someone has, you can (and, apparently, do!) ask them. If they play a job horribly wrong, you can dispense warnings and/or job bans. How would someone's playtime change this? Do you intend to use this impersonal data to profile and bwoink players before they
... but you do still really want to add that gating, even though there's still too many problems with this system to make it practical. Getting a foot in the door with just the tracking won't fix those. |
|
Incorrect assumptions about data and what it means are why concepts like "correlation does not imply causation" exist. You can't even make proper correlations when your data only tells half the story, though; you can't objectively measure everyone's competence, so you have to pick out specific examples, and it's all too easy to focus on the ones that match your expectations and miss the ones that don't. On its own, the objective data doesn't actually tell us anything helpful.
I'd like to know what, aside from gating, this tracking would actually be useful for. Knowing what jobs a player picks would be neat, even if only to satisfy curiosity, but this isn't that granular. How will it be used? |
Five examples of how we could use this:
These are just five from the top of my head. |
And with the current system those people would have those roles unlocked anyway. The proposed system is /better/, but largely because the current system is shite. |
You'd end up visualizing which department has the most job slots. If you were to track civilian playtime, it would conveniently end up the most "popular" by a large margin.
This could work... at least, until the data is old enough that finding an active player on the leaderboard is more trouble than just asking whoever seems to play in that department a lot. Since the data is lumped together per-player, and can't be filtered by time (last 30 days, etc.), its usefulness in aggregate drops the longer we're collecting it.
You'd be picking the people with the most single-department playtime. Or trying to pick people with a mixture of department playtimes that looks fairly well balanced. In either case, the data doesn't track whether people are willing and able to actually mentor, so would it really work better than just encouraging everyone to consider mentoring?
See, this is the sort of Big Brother stuff that exemplifies why we don't want this tracking. "Obviously knows better"? Making assumptions about what someone should or shouldn't know based on their playtime is one thing, but letting that taint administrative decisions is terrible. And... we'll have the data to silence complaints on the basis of "put up or shut up"? Geez.
Opinions are easy to write, which is why all opinions must be taken with a grain of salt. But it's insane to even suggest throwing out some peoples' opinions because Big Brother says they don't have enough experience with the subject to know what they're talking about. The data won't even be retroactive, and certainly not representative of meaningful experience.
If we could accurately track this, we'd probably just see a trend towards players trying jobs as they get access to them, since the way we gate access naturally funnels them like that. Regardless, it makes way more sense to adjust the flow of the gating based on which departments are more newbie-friendly (which I'm pretty sure we already do) than to try and redesign departments to match up with it. Anyway, this level of tracking wouldn't be sufficient, since it doesn't leave behind the sort of historical data we'd need. You could manually track the progression of some number of new players, but it would be impractical to track a useful sample size.
Sure there is - the very existence of the data encourages its use, but just about anything you'd actually want to use it for would be a misuse of it. We could attempt to prevent misuse, but it's simply not possible to stop subconscious stuff like, "the data says this guy should know better, so I'll punish him for his mistake". It's more likely to do harm than good. |
The original playtime PR was controversial. It still passed, though, and its changes were helpful. Now, its recognized as a major improvement. But it took a lot of pushing to get there. This one gives me deja vu. I hope it too, can pass, and it too, will be proven helpful when we look back on it. Its a few definitions, no substantial code additions, and it is even trivial to remove if it doesn't prove helpful. The risk of trying it is low. What are you so afraid of? If there's a gating PR later, you can have your day arguing about that, then. This PR is simply stats tracking. Give it a chance. I realize you may be skeptical, but c'mon. It is stats tracking. Stats only admins can even see, anyway. You've spent many more lines arguing about it, than are being changed in the PR (18). There are other PRs which change vastly more stuff, and have a FAR higher chance of breaking things. This isn't worth worrying about. Its stats tracking, for stats only admins can see. |
It was controversial because you were trying to use department playtime to measure experience. It passed because you removed that experience measurement. It is a major improvement over the "account age" gating it replaced, because it requires/allows players to actually play to unlock jobs.
No kidding. You're trying to re-add the exact same per-department tracking that wasn't allowed last time, for the same basic reason (it measures "experience"), with the same flaws.
Reverting this would still leave the data in the database, and "we can just revert it" has never been a good excuse to merge something.
If you think that's bad, you should see some of the one-line balance change PRs... |
I still believe in this idea. With regards to trying it, any playtime type that isn't currently valid is pruned out of someone's record during updates. So, if we tried this, then decided to remove it, everyone with these playtime types would have them removed at next update. Also, database space is incredibly cheap. To worry about slightly more data being stored in the database for a short period of time is... a little silly. |
See all of the reasons you are against it are reasons I am for it krausus, I want there to be data for the admins to see if someone has been playing a lot. Your objection of tracking overall department time could be easily solved by Just having it record total hours played in department divided by staff in department. Other wise? Whats wrong with simple tracking? |
This will allow us to better see what preferences people have in terms of different jobs and (even though this PR doesn't add it) later on implement sensible experience gates for heads of staff. The current system is way worse than this, and while there won't be a perfect solution, this sure as hell is closer to what we should have implemented a long time ago. I don't see why this is a feature argued for and against by non-staff, as this, again, is a purely administrative feature. 馃挴 x 馃憤 from me. I've wanted to see this for a long time. |
NSA/10. |
I am wholly for this, and a good amount of the detracting arguements are making points I'd make as positive statements for it. |
You're making a very very strong bandwagon appeal here. An idea is not going to be approved, necessarily, if it has more supporters than detractors, it doesn't mean it's automatically going to go into the codebase. Stated otherwise, and more directly, PR approval process is not democratic in nature. If the designers and direction-determiners of Paradise feel that and idea is more harmful to Paradise than helpful, it's not going to get merged in. Likewise, if an argument is being leveled against an idea and it has more validity and soundness than other arguments, that's going to weigh in heavily on the decision making process, as well. Such is the case with @Krausus argument here. He has put forth valid and sound criticisms of this PR and has even backed it up with a PR of this same exact type being rejected, before. If you'd like to give more support and credence to your position, I'd suggest you argue against his points rather than appealing to popularity. |
I never said that the PR approval process is democratic in nature. PRs get merged, or not, based on the opinions of only four people: the maintainers, and the heads. Everyone knows this. You two see this as a step towards gating jobs based on department experience, and you're against that, so you'll oppose this PR no matter what. The actual details here don't matter, because you're not judging it based on the details, you're judging it on the basis of "does this go in the direction I want things to go in", and you have decided it doesn't. Krausus has posted reasons, sure, but ultimately those aren't the reasons you take the positions you do. Those are simply justifications for the real position you both hold, which is "any step towards gating jobs based on experience in that department is a bad thing". As long as you hold that position, stated or not, I'm never going to be able to convince you by arguing about details, and I am well aware of this. Using words like "validity" and "soundness" gives the appearance of being objective, but this isn't an objective discussion, and it shouldn't be presented as one. Your opposing this idea isn't based on objective facts, it is based on the subjective belief that gating jobs based on department playtime is a bad idea. Similarly, most of the people who support this idea support it in the hopes of one day getting that gating. Saying that this PR was rejected before isn't accurate, either. Fox was against the department tracking before, in a previous PR, so in the interests of getting something merged, I dropped that part of the PR at the time. There is a difference between "rejected" and "previously removed from another PR in the interests of expediency". Fox saying it was rejected before, so this should count against it now, actually translates to "I opposed this before, therefore I oppose it now, on the grounds that I opposed it before". That isn't "valid" reasoning, either. Neither is Krausus doing the same thing. His "this was rejected before" actually translates to "it did not get merged before, thus it must be a bad idea now" which, too, is a fallacy for multiple reasons. It would be like saying "we never enacted this policy before when it was proposed, so it must be a bad idea to enact it now". The former does not imply the latter. The former doesn't even imply it was a bad idea at the time. It is simply a statement that it did not happen previously. That's all. Arguments of that nature aren't valid at all. Although I don't intend to go through Krausus' points in detail (as I believe it is pointless), most of them have the same answers. |
So this is a conspiracy now, and none of the problems with trying to skew this tracking for some other purpose matter. Great.
Alright then, let's focus on that...
Neither the age-based gating we had before, nor the playtime-based gating we have now, are meant to try and predict when someone is truly ready for a job. You tried to predict that with department tracking before, and were told, in no uncertain terms, to remove it. So, what do those accomplish? They...
... which means, people who have played for a while can jump into jobs they aren't really ready for. And they do! Sometimes they do fine, or at least good enough, and nobody notices. Sometimes they bungle it, and get yelled at, or warned, or even job-banned. And that's okay, because even though they screwed up, they probably learned a thing or two, and probably didn't completely ruin the round. But some people think that's not okay. When someone incompetent plays a job, something should have stopped them. There should have been more hurdles, higher requirements, more specific requirements. But people will still unlock that job, and they'll still suck at it, and something should have stopped them. Something that raises the bar for everyone, even the good ones, just so maybe some bad ones will give up before they become an inconvenience. What it comes down to is, SS13 gives players a lot of freedom to screw up, and generally, we try to avoid attempting to code that freedom away. If something goes really wrong, that's why we have admins to step in.
You know, if you really want to make sure people are experienced... we could whitelist head roles. You can handle interviewing the applicants, and make sure they know everything they'd need to. |
I have some of the concerns fox and krasus have so seeing krasus points addressed might put us all at ease if explained well. |
@Krausus If someone tries a job that's just a little beyond their abilities, that's OK. They'll learn. If someone tries a job that's completely beyond their abilities (like HoS, when they've never even played Security), then they will probably just mess things up for everyone. Department playtime tracking doesn't ensure that everyone is competent at their job. If used to gate head jobs, it simply ensures that they've had enough experience that they have some hope. The rest is up to them. The goal of that gating system isn't to ensure everyone is definitely qualified - its to prevent the worst cases of people playing 10 rounds of assistant and then trying HoS, despite having never played security before. It isn't about ensuring competence, it is simply about ensuring there is some hope of competence. Someone who has never played security, ever, has pretty much no chance of being a successful HoS. |
And we can make sure they meet a minimum level of competence by...
... oh, right, this doesn't measure competence.
So this is only even good for nabbing the really low-hanging fruit - the sort of people so hopelessly clueless that it should be immediately obvious that they need to be demoted and replaced... which is covered by SOP. And the server rules, which can be enforced through job bans. Is this really a common enough problem that it's even worth trying to code away? Or was this just a knee-jerk reaction to seeing two bad captains in a row? "captain comdom, pls nerf"? I do like the example you've provided, though. 10 rounds as an assistant. Did this hypothetical player, who wants to try playing HoS, spend any of those rounds as a job-changed security officer? That's a trick question, of course; the answer is, "doesn't matter, the system doesn't track that". The best part is how completely unintuitive it is that you can be a security officer, yet get no credit for playing security. I'm sure we totally wouldn't see issue reports about that. |
For the Nth time: I don't claim the system is perfect, I am simply saying its better than what we have now. Its an improvement on the current system. The assistant-to-sec transfer example is silly, for many reasons:
We already get adminhelps about the fact playtime gating now doesn't count experience prior to Jan 1st of this year, when it was merged, because we chose not to enable the grandfathering option. That's many, many years of play experience not being counted. Right now. We even get adminhelps about it regularly. Yet, nobody cares. If we don't care about that, its ridiculous to care about job transfers, which are a tiny amount of hours by comparison, and, unlike discounting historical playtime, has a very easy workaround: just sign up as the job you want to play as. As everyone is already encouraged to do. This proposal isn't based on two bad captains in a row. It is based on the countless times I've seen heads of staff who seem completely clueless about how their department works. I don't ask for perfection. I don't even ask for guaranteed competence. All I ask is that, prior to letting someone take a head job, we at least ensure they have a reasonable chance of knowing what they are doing. Which means some hours played in that department. Because that's the best indicator available as to whether they know enough to be competent at a head job. |
It doesn't need to be perfect, but inaccurately tracking vague playtime demographics with the intent of misusing them as meaningful data is a far cry from merely imperfect. It's only better if you consider proactively excluding a narrow band of undesirable players from head roles to be the only consequence that matters.
It's not about a specific example. Job transfers happen. Finding excuses for why they shouldn't happen won't stop that, and won't solve the issue of not accounting for them. |
I could equally say that the current system is more inaccurate, and mistakenly treats all playtime as equally qualifying, when it blatently isn't. That what we have now is a far cry from merely imperfect, and allowing the status quo to continue is only better if you consider proactively excluding a narrow band of edge cases to be the only thing that matters. See? Just because you can phrase something strongly, doesn't make it a good argument. It doesn't make it convincing, or true. Don't reduce this (or any other) feature to the one point you disagree with most. I am not opposed to job transfers happening. Job transfers, while they're mostly a poor solution to the "we do not have enough job slots!" problem, there are cases where they are useful, and this PR isn't aimed at them. It might slightly discourage them, sure, but I don't think that is a bad thing, considering they're largely a band-aid fix in the first place, and if it mattered enough, the job transfer tracking thing is solvable anyway. My point is: job transfers are an edge case. Only a minority of the crew members in any given round get a job transfer, and only a minority of those would fail to get department experience that might actually help them unlock things, under a possible future gating system. That's three levels of IFs. Even then, there's an argument that isn't a bad thing either, as the job playtime requirements would be set low, and we've ignored VASTLY more playtime prior to this (literally all of it before Jan 1st), so seems more than a little silly to make a big deal about department experience relative to job transfers. If it really matters (hint: it doesn't), then there's an easy fix, and its unrelated to playtime tracking. Simply make it so that when your initial, roundstart ID card is changed (ie: you change job), the updates also apply to your mob and mind variables. Currently, they don't, which leads to a roundstart Virologist who becomes an Engineer, for example, showing up as Virologist forever in the Player Panels, and any other job listing based on mob/mind vars rather than ID card vars. The bug isn't really a bug with playtime tracking, its a bug with how ID consoles don't update ALL the variables that track someone's job/assignment. They only update the vars of the specific ID card you put into them. |
On the contrary - it's perfectly accurate. All it tracks is generic play time, nothing more, nothing less. Play time doesn't inherently make you qualified for anything, and the system doesn't make any such assumptions. It doesn't try to track what department or job you're supposed to be playing. You simply play, and it counts.
I reduced it to the point I agree with the most. If it were somehow able to only prevent players from taking head roles they are completely unprepared for, with no other side effects, it would absolutely be better than what we have now. But it doesn't (and, realistically, can't) do that, so that benefit has to be weighed against the other consequences and flaws of extra tracking and gating.
Disregarding edge cases is never a good idea, no matter how unlikely they seem. Missing out on the progress you were hoping to make from a 2-hour shift because you got your job the wrong way would suck, and "whoops, we were pretty sure that wouldn't happen" wouldn't be much consolation.
It's not this simple, though you've heard why by now. You have another plan (basing it on ID, if possible) that would work well in most cases, but would misbehave if someone isn't wearing their own properly-titled ID. Still, that would probably be good enough... but job transfers aren't the only problem. |
The Headmins and Maintainers are not very enthusiastic about a system that would merely track global departmental playtime, and potentially facilitate further gating and department-based playtime unlocks. As a result, this shall be closed. |
Tracks how much time players play in each department.
E.g: someone might have 10 hours played as Engineering jobs, 15 hours as medical, 5 as Science, 7 as Security, etc.
This is helpful because:
馃啈 Kyep
rscadd: Makes playtime tracking more granular. Now, we can tell how much time players spend playing jobs in each department.
/馃啈
This PR was created partly because we had two shifts in a row where the Captain had to be demoted for gross incompetence. I'm interested to know, for incompetent command staff, what jobs they play, prior to trying to play Captain/etc.
In the second of these shifts, the Captain immediately grabbed their space suit, a matter eater gene, and then proceeded to eat EVERYTHING (including both their IDs, their space suit, their SOP book, etc) before being demoted. After this, I PM'ed them, to ask them how much they'd played command jobs before they played Captain this time. Their answer was "none". IE: they went to play Captain without ever playing a head of staff role before.
This PR would give us the tracking to be able to identify cases like this. It would also enable us to, later on, if we decided we want to, require people to play other heads of staff at least a little before being able to play Captain.