Jump to content

Can we speed up Linda?


SpaceTimeNow

Recommended Posts

  • Replies 76
  • Created
  • Last Reply

Top Posters In This Topic

 

I haven't checked the code, does Linda just scan the whole station for pressure changes, or does it selectively refresh tiles where higher gradients happened recently?

All i know is that every 2 seconds it processes tiles that have a higher or lower pressure than the neighbouring tiles and tries to equalize with those tiles. Which makes pressure literally jump from one tile to the next and so on. So it spreads or sucks from the point where gas is introduced (vent) or sucked (space, scrubber).

 

Theoretically a good idea, but in practice atmospheric changes are happening in slowmotion while the rest of the game is running with normal speed. Even in those tiny airlock systems at the singularity we had to add a additional vent because LINDA is to slow and it became annoying to wait inside those airlocks. For Linda to work it would have to calculate pressure like a several times a second and not once every two seconds. Which would probably kill the server performance, so we are now stuck with slowmotion atmospherics.

 

This is so sad because the atmospheric simulation we had before was probably the coolest part of SS13. The first time I opened a airlock to space and were instantly sucked outside while the rooms equipment was shooting towards me and air alarm was going off, I instantly fell in love with this very special game. All we have left now are space winds :(

 

Link to comment
Share on other sites

 

Theoretically a good idea, but in practice atmospheric changes are happening in slowmotion while the rest of the game is running with normal speed. Even in those tiny airlock systems at the singularity we had to add a additional vent because LINDA is to slow and it became annoying to wait inside those airlocks. For Linda to work it would have to calculate pressure like a several times a second and not once every two seconds. Which would probably kill the server performance, so we are now stuck with slowmotion atmospherics.

 

 

It's a damn shame, and I feel much the same way you do.

 

With the airlocks, I don't even bother cycling them - takes too long. Just force the doors open. Even if you left them completely open for 10 or 15 minutes, you'll only depressurize engineering to ~50-70kpa. Vacuum just isn't dangerous anymore.

 

TG also doesn't even have cycling airlocks at all, because their station is based around FEA (and thus, LINDA) and players didn't want to wait for the cycles to finish when it wasn't necessary. ZAS made it necessary, and in a cool way.

 

Link to comment
Share on other sites

 

TG also doesn't even have cycling airlocks at all, because their station is based around FEA (and thus, LINDA) and players didn't want to wait for the cycles to finish when it wasn't necessary.

I am so confused right now, doesn't it bother them having a non functional atmos-system?

 

If only i would have known what it meant when there was this conversion to Linda going on. I honestly don't understand how that PR went through, we practically downgraded the sort of working-ish atmos-system we had to something that was fundamentally flawed and basicly proven not to work.

 

Link to comment
Share on other sites

 

I am so confused right now, doesn't it bother them having a non functional atmos-system?

 

If only i would have known what it meant when there was this conversion to Linda going on. I honestly don't understand how that PR went through, we practically downgraded the sort of working-ish atmos-system we had to something that was fundamentally flawed and basicly proven not to work.

 

It's been brought up before on tg when switching to ZAS gets dicussed, some players don't like the idea because "it means a random assistant can break a window in maintenance and space the entire station." Of course, bay had that 'issue' solved literally years ago, by placing emergency airlocks around, and it was never an actual issue in practice.

 

Other players didn't like it because they felt like space was already too deadly - this coming from a time when you could down a cup of coffee and spacewalk even without your internals for a few minutes.

 

And as for the PR going through - I mentioned the reasons why, earlier, when I was ranting. It goes through because a coder hasn't enough good sense to understand what he's actually doing with the changes, and because any feedback from the players is completely ignored and disregarded. Coders know best, and you don't get to disagree.

 

Recall a long time ago, tasers used to require multiple shots to stun someone, with each shot slowing them down progressively further. It worked well, everyone was satisfied with it; fox decided it needed to change. After some voting where the playerbase said they didn't like the change, the coders gave a sort of 'who gives a shit what you think'; fox went back to the drawing board for a month or so while we were stuck with tasers we didn't want, then foisted a slightly new variation of the tasers we didn't want on us.

 

And in playing recently, I've noticed a few other changes - emitter fields are no longer lethal, EMP's no longer damage mechanical limbs, many non-sec/non-antag weapons are extremely unrobust (including the crossbow which takes upwards of 8 shots to kill someone) that just makes the game feel horribly hugbox to me now, and that's in addition to a cowed and timid playerbase too scared of bans to actually have fun.

 

Link to comment
Share on other sites

 

I am so confused right now, doesn't it bother them having a non functional atmos-system?

 

If only i would have known what it meant when there was this conversion to Linda going on. I honestly don't understand how that PR went through, we practically downgraded the sort of working-ish atmos-system we had to something that was fundamentally flawed and basicly proven not to work.

 

It's been brought up before on tg when switching to ZAS gets dicussed, some players don't like the idea because "it means a random assistant can break a window in maintenance and space the entire station." Of course, bay had that 'issue' solved literally years ago, by placing emergency airlocks around, and it was never an actual issue in practice.

 

Other players didn't like it because they felt like space was already too deadly - this coming from a time when you could down a cup of coffee and spacewalk even without your internals for a few minutes.

 

And as for the PR going through - I mentioned the reasons why, earlier, when I was ranting. It goes through because a coder hasn't enough good sense to understand what he's actually doing with the changes, and because any feedback from the players is completely ignored and disregarded. Coders know best, and you don't get to disagree.

 

Recall a long time ago, tasers used to require multiple shots to stun someone, with each shot slowing them down progressively further. It worked well, everyone was satisfied with it; fox decided it needed to change. After some voting where the playerbase said they didn't like the change, the coders gave a sort of 'who gives a shit what you think'; fox went back to the drawing board for a month or so while we were stuck with tasers we didn't want, then foisted a slightly new variation of the tasers we didn't want on us.

 

And in playing recently, I've noticed a few other changes - emitter fields are no longer lethal, EMP's no longer damage mechanical limbs, many non-sec/non-antag weapons are extremely unrobust (including the crossbow which takes upwards of 8 shots to kill someone) that just makes the game feel horribly hugbox to me now, and that's in addition to a cowed and timid playerbase too scared of bans to actually have fun.

 

Excuse me? What the hell are you talking about?

 

LINDA was planned for months; There was a 500$ bounty of donation money out for anyone that ported it. All of the coders at the time, unanimously agreed that we needed and should switch to LINDA. It was priority 1, which was over -tg- mining along with a whole bunch of other things.

 

Emitter fields haven't been touched in months. EMP's definately do damage mechanic limbs, I have no idea what you are talking about with that.

 

Most importantly, this can't be stated enough times: This codebase is not a democracy. It is not on github for players to mob-mentality changes; It is on github for anyone to contribute to.

 

We don't ban for no reason, we have very well established rules, and they are there for a good reason.

 

Link to comment
Share on other sites

 

And in playing recently, I've noticed a few other changes - emitter fields are no longer lethal, EMP's no longer damage mechanical limbs, many non-sec/non-antag weapons are extremely unrobust (including the crossbow which takes upwards of 8 shots to kill someone) that just makes the game feel horribly hugbox to me now, and that's in addition to a cowed and timid playerbase too scared of bans to actually have fun.

 

Emitter fields (I'm assuming you mean containment fields like around the singularity) aren't instant kills, but they do quite a decent amount of damage. This is on top of flinging you away and knocking you down, which (in the case of singularity containment) can result in you being pulled in for round 2.

 

EMPs definitely hurt robotic limbs. I play IPC as my main character, and I can definitely tell you they will mess you up.

 

Non-sec and non-antag weapons aren't meant to be all-powerful kill tools. They are still strong in their own rights, like the large damage of a wielded fire-axe or the under-estimated throwing force of a floor tile. Further, making a crossbow into a POWERED crossbow not only is easy, but also ramps up it's damage by a noticeable amount. Not to mention pinning people to walls is the true strength of the crossbow.

 

While your opinion on the matters discussed are welcome, I do suggest you take some time to fact-check your assertions before hitting submit, as much of what you have put forth is simply misinformation or partial-truths.

 

Link to comment
Share on other sites

 

And as for the PR going through - I mentioned the reasons why, earlier, when I was ranting. It goes through because a coder hasn't enough good sense to understand what he's actually doing with the changes, and because any feedback from the players is completely ignored and disregarded. Coders know best, and you don't get to disagree.

I feel this is only half a reason a PR might go through, not the full. Granted, coders are the only ones that know what's going on and therefore know what is best because no one knows what is worse. If more people understood or paid attention to what things meant then they might be able to make a change to it. Not a good chance mainly because

This codebase is not a democracy. It is not on github for players to mob-mentality changes; It is on github for anyone to contribute to.

You have to be at the same level to fight back against things you don't like. Even then the majority will win out and push what they think is best.

 

I don't know why LINDA replaced ZAS but it was in general not a good choice. And that is a major shame because this server does so many other things great. It's going to be a long time before we get a better atmos system in place that brings back the fear of dying to the void.

 

Link to comment
Share on other sites

 

Well aside from the massive absurdity that was paying $500 to port LINDA to paradise (you guys really did that?)

 

I'm glad to hear the problems with EMP's not damaging mechanical body parts (hearts and eyes in particular) and emitter fields not damaging you, are simply bugs.

 

Link to comment
Share on other sites

 

Well aside from the massive absurdity that was paying $500 to port LINDA to paradise (you guys really did that?)

 

I'm glad to hear the problems with EMP's not damaging mechanical body parts (hearts and eyes in particular) and emitter fields not damaging you, are simply bugs.

 

It was a code bounty, and I will point out that only the head admins get to control where donation money is spent. In the end, it was refused.

 

Link to comment
Share on other sites

 

I'd like to know - who is actually in charge of the admin team and decisions in any case?

 

On most servers it's been a hierarchy of server host - headmins - admins - coders etc. But I understand paradise is different in this respect.

 

Our hierarchy is the 3 head-admins (currently 1.5 since one stepped down and the other is out for medical reasons) control the admin team and server policy, 3 maintainers for the code team and github, and then the host is separate (but roughly on par with a normal admin in terms of policy and code decisions).

 

Link to comment
Share on other sites

I stated in many posts why i dislike Linda. In my oppinion it is growing cancerous ulcer. It digs deeper and deeper into the systems and gets more complicated to remove as time proceeds. It is sure that most of the people think it is a illness to the system, because it removed so many funthings that made space station special.

Link to comment
Share on other sites

 

I agree its turning into a cancer. When it first came out we got excuses about it being improved or sped up or whatever else so they don't want to remove. Now we get excuses that it has been in too long to just remove. Nobody likes it, its buggy, it just gets in the way of repairs and moving things around for no reason long after shit was sealed up, it messes up the air alarm system, not even atmos techs like it, trying to fix pipes in a room that had anything go wrong atmos wise is a nightmare, you have to time between atmos ticks so your pipes don't just flip around or go flying away. Pushes people around from fixing breaches. Mag boots are a requirement for even the fixing the simplest things even after an area has been resealed for 20 minutes. You get pushed away from airlock buttons and the like so you can't open panels and shit in time to close the door.

 

LINDA is a gun shot to your foot and it feels like the staff are trying to claim they prefer having their foot broken and bleeding.

 

Link to comment
Share on other sites

 

I agree its turning into a cancer. When it first came out we got excuses about it being improved or sped up or whatever else so they don't want to remove. Now we get excuses that it has been in too long to just remove. Nobody likes it, its buggy, it just gets in the way of repairs and moving things around for no reason long after shit was sealed up, it messes up the air alarm system, not even atmos techs like it, trying to fix pipes in a room that had anything go wrong atmos wise is a nightmare, you have to time between atmos ticks so your pipes don't just flip around or go flying away. Pushes people around from fixing breaches. Mag boots are a requirement for even the fixing the simplest things even after an area has been resealed for 20 minutes. You get pushed away from airlock buttons and the like so you can't open panels and shit in time to close the door.

 

LINDA is a gun shot to your foot and it feels like the staff are trying to claim they prefer having their foot broken and bleeding.

 

Keep this damn discussion about the bouts of LINDA.

Not everyone hates it. I personally love it, and I know others feel the same.

You think LINDA is bad with pipes flying everywhere? Try dealing with ZAS stunlocking you against a wall and killing you with the pipes being thrown around.

Infact, the entire second half would only get WAY worse with ZAS.

 

And, at this point, yeah, it's tied into way too fucking much to remove. There have been over 1000 PR's in the time between when it was first implemented and now. Sure, it's not going to get easier the longer it stays in, but given that it's absolutely "this is not possible" territory right now, it can't get that much worse.

 

Link to comment
Share on other sites

 

From a coding perspective, probably only about 10% of those PR's remotely touch on atmos.

 

The atmospherics system should not be any harder to remove than it was to put in, as only new atmos related systems that were put in that are reliant on LINDA would be affected. There's not really any of those I can think of off the top of my head save the new pipenet.

 

Therefore this whole "LINDA is harder to remove now" argument is moot.

 

I didn't mind ZAS stunlocking, it was part of ze fun.

 

Link to comment
Share on other sites

 

From a coding perspective, probably only about 10% of those PR's remotely touch on atmos.

 

The atmospherics system should not be any harder to remove than it was to put in, as only new atmos related systems that were put in that are reliant on LINDA would be affected. There's not really any of those I can think of off the top of my head save the new pipenet.

 

Therefore this whole "LINDA is harder to remove now" argument is moot.

 

I didn't mind ZAS stunlocking, it was part of ze fun.

 

Easily said when you're not the one who coded it.I hate to sound like a jackass with that statement, but it's a bit irritating given the situation. Essentially, you're trying to tell coders how hard/easy something is, when you're not a coder yourself, you didn't touch the system, and haven't submitted a single PR to the codebase.. It's akin to a patient trying to tell his own doctor how difficult/easy it is to treat something despite not having medical experience themselves.

 

As for LINDA--it ties in with gas datums, pipes, pipenets, atmospherics machinery, air alarms, scrubbers, firelocks, fire alarms, chemistry, some projectiles, turfs, and flamethrowers. I'm sure I'm missing a couple more....either case, it touches a LOT; it's not just initial LINDA PR that would have to be changed; it would have to be every single PR that is even related to LINDA--you'd have to yank out features and mold a lot of others to work specifically without LINDA existing.

 

Link to comment
Share on other sites

 

Essentially, you're trying to tell coders how hard/easy something is, when you're not a coder yourself

 

I am in fact proficient with C, C++, VB/Basic and have dabbled with LUA.

 

I am a coder.

 

I get the whole efficiency motivation behind installing LINDA, but I'm just looking at it from a features perspective.

 

I feel like it would been worth the effort and resources to buy some professional, stress-testing software and put ZAS through as many hurdles as you can and find it's weaknesses and where any potential memory leaks or other such nonsense might be occurring, rather than culling the features in favour of efficiency.

 

What I get caught up on with this whole "LINDA is tied into everything" thing is, either that means the Atmos code isn't wholly contained within one area (which it should be), or you're simply stating that it has a lot of function calls. To me, if it's written all over the place it's sloppy, and if it's just function calling that's not difficult to change (But is certainly time consuming). In the instance of function calling, you can simply refrain from changing the name of the functions, and just tweak or thoroughly modify the programming contained within to implement changes.

 

My statement was, "Yes, there's been 1000PR's since then, but not all of them touch on atmos, in fact most of them probably don't.".

 

I didn't mean to make the task sound any less daunting than it was, I'm just thoroughly of the camp that sometimes it's better to toss your work and start from scratch if it's not turning out in your favour. I ultimately feel like if LINDA was such a monumental effort to install, such efforts may have been better used in building an atmos system from the ground up - this would have provided a modular and easily understood framework that could be tweaked, changed and bugfixed without losing a large amount of sanity.

 

This could also be a bit of "Lost in translation". For instance, if BYOND doesn't allow function calling on certain levels for god knows why, and rewriting code in segments is a requirement.

 

Link to comment
Share on other sites

 

SS13 coding just issn't modular enough, you would think that no other system would care how the atmospherics are calculated. Other systems should just care about the result, aka what gases are on the tile and where does the tile currently push stuff.

 

But if we don't undo Linda now then we probably won't do it ever, unless tg would present a easy to use solution to just port over again. From all what i heard about tg (which is not much) they seem to have accepted Linda and it's unlikely that they will present us with a solution.

 

So we need to decide now on if we want to keep it long term or not. Simple as that, yes or no. Most of the coders and admins that i have spoken up about this issue seem to be in favor of keeping Linda. Their resoning seems to boil down to this three statements:

 

It's a lot of work to undo Linda

This is not a good reason to continue with Linda, because it will only get more difficult to remove it.

 

ZAS was more buggy

Point two is very vague and linda has it's issues too.

 

Linda makes plasma griff harmless

This is an administration issue and hardly reason enough to butcher the entirety of one of the most important parts of the game.

 

All in all this does not seem like solid resasoning to me, but more like trying to defend a bad decision at all costs and basicly just giving up and accepting it. Shit happens, i am sure it looked like a good decision at the time, but be real with me. You can't seriously think that from a gameplay standpoint that we are better of with linda instead of zas.

 

Link to comment
Share on other sites

 

Essentially, you're trying to tell coders how hard/easy something is, when you're not a coder yourself

 

I am in fact proficient with C, C++, VB/Basic and have dabbled with LUA.

 

I am a coder.

 

I get the whole efficiency motivation behind installing LINDA, but I'm just looking at it from a features perspective.

 

I feel like it would been worth the effort and resources to buy some professional, stress-testing software and put ZAS through as many hurdles as you can and find it's weaknesses and where any potential memory leaks or other such nonsense might be occurring, rather than culling the features in favour of efficiency.

 

What I get caught up on with this whole "LINDA is tied into everything" thing is, either that means the Atmos code isn't wholly contained within one area (which it should be), or you're simply stating that it has a lot of function calls. To me, if it's written all over the place it's sloppy, and if it's just function calling that's not difficult to change (But is certainly time consuming). In the instance of function calling, you can simply refrain from changing the name of the functions, and just tweak or thoroughly modify the programming contained within to implement changes.

 

My statement was, "Yes, there's been 1000PR's since then, but not all of them touch on atmos, in fact most of them probably don't.".

 

I didn't mean to make the task sound any less daunting than it was, I'm just thoroughly of the camp that sometimes it's better to toss your work and start from scratch if it's not turning out in your favour. I ultimately feel like if LINDA was such a monumental effort to install, such efforts may have been better used in building an atmos system from the ground up - this would have provided a modular and easily understood framework that could be tweaked, changed and bugfixed without losing a large amount of sanity.

 

This could also be a bit of "Lost in translation". For instance, if BYOND doesn't allow function calling on certain levels for god knows why, and rewriting code in segments is a requirement.

 

I'm so glad you know other languages, but that doesn't change that you aren't the one that has to deal with SS13's insane mess of code every day.

 

It would be absolutely fucking insanely difficult to yank out LINDA now. You couldn't just revert the commit, that's not how git works, you would have to revert every single little thing that touches anywhere near atmos, and that would ABSOLUTELY create merge conflicts. A lot of shit has been added; This new shit has ties to LINDA where appropriate, whether it's from the different use of CanPass or the new procs for creating fire.

 

Yeah, LINDA was a pain in the ass to get working, because -tg-'s code is so so so much different than ours. It was still 1000 times easier than writing an atmos system from the ground up, which would involve having to understand how atmospheric models work, as well as months of testing, when LINDA is already tested and we know exactly how it is supposed to function.

 

And, no, LINDA isn't contained to it's one file. It's original PR, which was just a barely-working implementation of it, touched 126 files, with 8000 line changes. Actually getting it to function properly touches more than that. Atmospherics is tied into everything; Mob movement, turfs, objects, collision detection, fire, chemistry, space, EVERYTHING.

Should it be like that? Probably not. But you have to work within the bounds of an absolutely horrible engine which can barely support such a huge game.

At this point in time, yeah, no, we aren't going to fucking remove it, and if you want it gone, I absolutely welcome you to spend months trying to get ZAS to work again. Even our entire pipe system no longer is compatible with ZAS.

 

It's a lot of work to undo Linda

This is not a good reason to continue with Linda, because it will only get more difficult to remove it.

It's absolutely a good reason, none of the coders want it gone, and definitely don't want to put in a huge effort to get rid of it.

 

ZAS was more buggy

Point two is very vague and linda has it's issues too.

 

Linda makes plasma griff harmless

This is an administration issue and hardly reason enough to butcher the entirety of one of the most important parts of the game.

Because having literally no easy way to stop a plasma fire as admins is definately better. If LINDA has bugs, report them.

 

SS13 coding just issn't modular enough, you would think that no other system would care how the atmospherics are calculated. Other systems should just care about the result, aka what gases are on the tile and where does the tile currently push stuff.

 

But if we don't undo Linda now then we probably won't do it ever, unless tg would present a easy to use solution to just port over again. From all what i heard about tg (which is not much) they seem to have accepted Linda and it's unlikely that they will present us with a solution.

 

So we need to decide now on if we want to keep it long term or not. Simple as that, yes or no. Most of the coders and admins that i have spoken up about this issue seem to be in favor of keeping Linda. Their resoning seems to boil down to this three statements:

 

All in all this does not seem like solid resasoning to me, but more like trying to defend a bad decision at all costs and basicly just giving up and accepting it. Shit happens, i am sure it looked like a good decision at the time, but be real with me. You can't seriously think that from a gameplay standpoint that we are better of with linda instead of zas.

I absolutely do. ZAS was bullshit on every level. Even small fires damn near crashed the server.

And, there is no "we don't undo LINDA now", would you like to put in the effort to revert it, make sure every single little thing is functional, then reimplement the latest ZAS on top? If you do, please, I welcome you to try it.

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use