-
Posts
10683 -
Joined
-
Quote:That's technically not true. Technically speaking, Magnitude Resistance decreases magnitude using the Scale * (1 - Res) formula. Duration Resistance decreases duration using the Scale / (1 + Res) formula.I don't see the point here. Status resistance decreases duration, not magnitude (another special case ? Yes, I have to code that)
Which one you use is based on the type of the attribmod. This is another important feature of the game engine. Strength and Resistance all affect the net scale value of the effect. But whether that net scale value is the magnitude or the duration of the effect depends on a type flag. Virtually all mez powers have their mez effects typed "Duration" and that's why slotting enhancements into them increases their duration. Damage effects are typed "Magnitude" and thus enhancements boost the magnitude of those effects, not duration. Its not baked into the attribute type nor the enhancements how this works: its keyed off a type field.
Interestingly, mez protection buffs are often typed magnitude, not duration. That means in theory if you could slot them with mez enhancement, your protection would get higher. You can't do that, so you can't see this effect. But you *can* see this effect if you have someone Benumb you in PvP: that will cause your mez protection magnitude to actually go down, because those debuffs affect mez strength, and that strength reduction in turn makes your mez protection pulses drop in magnitude, because they are typed magnitude.
In any case, this is just an informative tangent. The obvious reason why 10,000% equals confused dev is because someone put "100" into the powers spreadsheet for that resistance, thinking "100% resistance" when the correct thing to do was to put in "1.0" which is 100% resistance. This error was never corrected, because there's no obvious sign of a problem when you make this error: both make you absolutely immune to all (except unresistable) knockback. Because knockback effects are generally typed "Magnitude."
Moreover, at the beginning of time the res cap was 1.0 all around, so even though duration resistance could logically use higher values, higher values were not possible. cf: Hamidon.
The rule is: Strength and Resistance can only affect Magnitude or Duration, not both, and both always affect the same thing. So if slotting enhancements into KB powers increases the mag of the KB, KB resistance reduces the mag of those same powers. They go together because of a fundamental property of the way the game engine handles scale values of powers.
Coincidentally I was just starting to write some code for my attribmod engine and was thinking about that specific issue. Because for efficiency sake, it makes no sense to push around all the data for the attribmods; in a practical sense attribmods are static and all you need is to use pointers to them. That's almost certainly what the actual game engine does. But you do need to pass one piece of information around: the effective scale value of the attribmod when its instantiated. And that's because it will be modified by the entity's tables (usually) and the entity's strength. But you can precompute that because an attribmod's net scale value is immutable upon creation. It can be affected by variable target resistance, but not by variable caster strength.
Thus, you end up with something like this:
Code:def applyAttribmod(attribmodId, powerId, entityId, triggerTime, trueScale): expireTime = triggerTime + AttribmodDB[attribmodId][kduration] nextAct = triggerTime attribmodStack.append([attribmodId, powerId, entityId, triggerTime, trueScale, expireTime, nextAct])
After 1.5 hours of coding, I have a data import routine for archetype tables, some class stuff for entities, and the definitions for basic attribmods. In terms of actual code that does something, here's what I got:
Code:while True: # this increments the clock by 1/30th of a second with alignment if clock % 100 == 0: clock = clock + 34 else: clock = clock + 33 if clock > endtime: break
71 actual lines of code, ~90 minutes. Going to try to tackle Abs, Str, and Res tomorrow. I have an idea on how to manage Cur without having to track a lot of funky exceptions, but that will require more algorithmic thought. -
Except that feature is relatively new, so that had to be arbitrated some other way in the past.
-
I should be available at that time with Aurora's /Rad debuffs and all the inspirations I can carry.
-
Well, I had a hint there were Cur/Abs issues going all the way back to beta when I realized melee had 10,000% resistance to knock.
-
Quote:I would have had at least two separate devs on my side to tackle refactoring this part of canon, sigh.
TS: Being more clear about the way the Well operated in the Ramiel arc. Some players became convinced we were saying that the Well was the ultimate source of all super powers. Nothing could be further from the truth. - All life generates, in small doses, a particular ripple in the fabric of the universe by their existence - you can call this psychic energy, or power, or what have you - but it is generated by their movement through space and time - kind of like static electricity as you run silk over a glass rod. Exceptional life generates an outsized amount of this energy. Over time this energy builds up like a thunderhead, and when the minds of life give it a certain potential way out it rushes outward down that channel. In early days of humanity, this way out was manifested in elemental spirits, gods, titans - to be followed later by great leaders of civilization, generals, tyrants. As each of these great figures passed on, the outsized energy they possessed became part of the Well. (to be continued)
JAH: For me, Origin of Powers. When I played the story arc, I felt like my character with whom Id been familiar for years had been changed out from under him. If that fundamental understanding had been in the game since the beginning, it would have been fine - but I was Miles K. Brown the super-scientist-inventor, not Miles K. Brown the Science Magician. I know the arc wasnt intended to create this feeling - it was meant to give players an added sense of connection with the game world - but I think it needed to leave significantly more leeway for alternative interpretations than it did.
Except, Tim, that doesn't fully explain how its possible to devour or destroy a Well permanently. That would seem to be impossible under that theory. -
The ability to speak and read English is a lot more common overseas than speaking and reading anything but English is in the US. But on the other hand I know someone that speaks pretty good Chinese and can't read it at all.
-
-
Quote:I'm sure it was having a significant effect, but I am unaware of any human beings that react to being bombarded with unwanted emails by seeking out the senders to commiserate with them. Its important to remember that when considering putting NCSoft on the defensive, we have no actual offense. If they decide to dismiss us permanently, its over: we have no actual counter-move that reverses that in seventy days.I'm sorry Tony but I am with the others in this thread. The new email just for us is most likely just a way for them to funnel all our attempts at being noticed into a e-mail account that will either never be looked at, or just automatically sends everything to the delete pile.
I feel what you started this thread for was having the most effect, and that's why they shut you down so quickly, because those were personal e-mail addresses and they couldn't just ignore what we're doinganymore by turning away or having someone else deal with it. We where right there flooding there e-mail.
Did we even know with certainty that the email targets read English?
I'm not as consistently optimistic as Tony appears to be, but I respect the fact that he's riding a very fine line between attracting the attention of the right people, and doing so in a way that pisses them off. Being ignored is bad, piss off the wrong people and its all over, and we will never even know it happened. -
Quote:I would say that is the most likely circumstance. That shouldn't stop people from sending emails anyway, since all player efforts are extreme long shots in the first place; in that respect the long-shot chance that you happen to be the player with the eloquence to get past the mail reviewers and reach an executive is no more of a long shot than anything else.On the other hand, maybe we got their attention and they're curious enough to want to consolidate all the feedback and see just how much there really is and what it's saying. The pessimist in me says "it goes to the trash bin," but if I were guessing optimistically, they might have someone reviewing it and reporting to the senior staff the way Zwill said he reviewed and reported back to the devs on threads here when they're making a decision: "there are this many messages, this percentage say this, this percentage say something else, the general response amounts to this." At any rate, they did feel compelled to acknowledge us and offer an official channel for continuing the campaign, when they could have just bullied Tony with a cease and desist letter and called it a day, and that in itself is a step forward.
What is important to realize is that is the problem you're facing. The problem is not expressing yourself to an executive. The problem is expressing yourself to a screener in such a way they decide to pass your message along. Anything you write that isn't designed to convince a screener to pass your message along directly or indirectly might as well be written on barbeque kindling.
Its the ultimate bank shot: you have to say the right thing to cause a screener to pass your message to a decision maker, such that when the decision maker processes the exact same message causes them to think twice about the shutdown. That's a one in a billion email. On the other hand, expressions of outrage and venting have a zero percent chance of even reaching the targets of that expression, which makes them pointless. -
-
Quote:Zwill, I think you know exactly how I parse this, so let me just say thanks, and seriously, w-t-f. I think you can apply those two sentiments appropriately.But before we get into the details, we want to personally share with you NCsofts sincere thanks to all of our fans that have spent time with us during the past eight years. We cannot reiterate how tough it was to make the final decision to close this wonderful chapter in our history. This has been a very special time for all of us, and we want to ensure we close this chapter with the best possible gaming experiences for everyone. To celebrate during the closing, we will host several of the popular events we have enjoyed in the past. Exact details and timing of these events will be shared shortly, as we are still nailing down specifics.
-
Quote:That's a good question. It seems unavoidable that this requires special handling. Actually, now that I think about it specifically, I wouldn't be surprised if Cur *normally* worked on the range of 0.0 to 1.0 and it was specifically the attributes tied to HitPoints and Endurance that had special handlers. It would explain some of the attribute structure in the attribute tables.Wait, how can that possibly work for defense?
Max for the attack type attribs increase as you level, that much is evident from the class tables. That hard cap seems to apply even though all the buffs are Cur. Or do you think the code that handles defense just reads Cur and clamps it to Max explicitly, ignoring the normal logic? -
-
Quote:No good. If you have an effect on the target that is resistable, and then the *resistance* expires, you have to recalculate all of the resistable effects. In the general case, you have to recalculate the attribmods for every tick of time in which its theoretically possible for resistance to expire, and dealing with this with special cases just makes things more complex. It makes more sense to recalculate attribmods on every tick of the clock. Otherwise, you're just asking for problems. And I haven't really fully thought about whether there are other failure modes besides expiring resistance, because it would never occur to me to take this short cut in the first place, because its already known to be broken.Let's suppose you are right, you in fact do have Cur that sums the duration-based effects and Abs the others. You anyway need to have a timer on hand for each effect in order to know when to cancel them, and what amount to cancel each effect individually, or you need to reconstruct from adding all the remaining effects, which is the same amount of data but plain computationally inefficient. Something that takes as much or less space and calculation is to keep the list of "timer & cancellation value" per applying effect instance, and you don't need store each sum separately, because "Abs+(Cur-Cancellation)" is "Abs+Cur-Cancellation". So it's more effective to store the total in either Cur or Abs as the result, and apply cancellations over it.
Quote:Also, I didn't find any duration-infinite status effect, Regen, Recovery or Recharge buff or debuff. Only damage, health and endurance modification are "infinite" and "absolute" modification (or am I missing something ?). And those don't have duration-finite modification to their Value (Spectral Wound's damage gets couteracted by a heal, not negative damage). In fact, I didn't find any attribute that needs both of them.
Quote:We may be mixing "percentage" with "percents" here, see how this fits: we stopped assuming you even *have* a Cur nor an Abs and go back to the basics. You need a "Current" value for these attributes. But I'm going to call it Abs, but it's the current sum, the "absolute value" of the sums. But you do have the meaning of '1' of Abs, let's say, 1 def is 1% of def, 1 Health is, well, 1 health point. (Just remarked that you say one health point, meaning it's an arbitrary unit that doesn't donvert to anything else). But what does that mean, 1% def ? Actually 45% def means that you get missed by 95% of attacks in mosts cases, it's not exactly a percentage, right ? It's a unit. What's one point of held protection ? well, it nullifies itself with one point of held magnitude ! What's a point of Perception ? A feet ! 1% of def is what nullifies 1% of To-Hit...
Quote:So, what is Cur ? The only thing I find making sense is an old post from Arcanaville about Cur being something like (Abs-Min)/(Max-Min), meaning that with an attribute being in between 0 and a max, it's the normalized value of Abs to the Max.
Quote:Ok, I understand, but do you do realize this is inefficient ?
Quote:the only thing that needs to be time-aware is the thing that sees the powers and effects and keep tracks of the entities. I would never do an engine without *events*, that is, "entity X wants to launch power Y with target Z" from AI and client, and "auto-power launched" from the *clock*, so at least that is tricky. But I did it as time-aware as it needed to be. Attribmods are not, in essence, time-aware, Effects are.
Quote:You've totally seen through me now. But I've not called it complete yet either, the "bulk" of the problem indeed lies here but is similar to making a full power engine, which is going to be done next week-end normally. You do the infrastructure before really coding, you do the data structures before making algorithms and functions that are going to handle them. That is the same here, I made the Entity-Attribute-Aspect, and the (Power)-Effect-Executable hierarchies, what's going to be linking them all is a fully time-Entities-Power-aware engine, which is actually more than just a simple attrib-mod calculator that can calculate modifications at any moment. But it does require that. -
-
-
To be candid, if I ever actually found myself working on another MMO, I don't think you're able to recognize my design signature. You'd only know I was involved if I said so explicitly.
-
Quote:To elaborate, I'm unaware of any attempt to build a CoH2 by any former member of the Paragon team, or any other developer.That almost sound as you are discretely saying "I am aware of private statements addressing that topic specifically that I can't talk about right for obvious reasons"
I said public because I have had a few private conversations with a number of the Paragon team after the shutdown, the contents of which I will not divulge. However, I am not in any way coyly suggesting the team is working on, or has approached me regarding, either continuing the development of City of Heroes or any explicitly stated successor. I have no explicit knowledge of that one way or the other. -
Quote:All of them are. Movement buffs are sometimes Cur. Defense buffs almost always are.Did test with a crabspider, you're right. Great! So the question is, do we need (i.e. is there a power with) duration-limited +-X Cur effects ?
Quote:Just to be sure I understand, so what you meant was "resistable buffs are resisted only by the unresistable resistance buffs". Actually, what I implemented was "resistable resistance buffs and debuffs are resisted only by the unresistable resistance buffs" and "other resistible buffs and debuffs are resisted by the net resistance, whether by resisted or unresisted buffs and debuffs". Maybe that's not true. I think that's what is implemented on the server, but in this case any resistible resist buff is going to be resisted by itself or any other similar effect !
However, one clock later, the server starts over. It does not start with the target having 40% res or even 50% res. It starts from scratch, recomputing the target unresistable resistance: 80% - 30% = 50%, and then applying the resistable resistance (de)buffs 50% - (20% * 0.5) = 40%.
Quote:As I said, it is an attribmod calculator. It's not a power calculator, attribmods are only a part of the power effects (other beings summons, grant powers, etc), so you need this attribmod calculator to make the power calculator, and you need that last one to make the combat engine. In your own previous **words, highlighted for emphase:
So I did end up overtiming this "assignment" (or challenge, we are not in school anymore) since I didn't manage to do it "for the full duration of those attribmods, moment by moment", but that necessitates time-awareness, an "engine" aspect, or at least it's stupid to implement it outside an engine (or loop) because it's going to be rewriting when you have to do the engine, so I prefered to do the engine outright. In any case, I avertised "3 weekends to implement it, 3 more to optimize it" and since I optimized a bit (that's my weakness), the result of this experiment is in the gray area. But even 12 week-ends is a tad less than 3000 hours. But to your defense, these 12 week-ends are just the writing of the implementation I already thought up in my mind, and that is based on your analysis of what the server did or closely did. So in total, that is 3000 hours or even more, but most of the work is already done somewhere.
Quote:if you're refering to your previous quote, you did say at that time that the bold+"moment by moment" part was "like at most 1/6th of a full combat engine". I do realize 1% is less than 16,67% (1/6th) but that is one hell of a margin.
The engine has to be aware of the fact that Abs modifiers are permanent, but Cur modifiers are not and have to be able to be reversed at some moment in time. It has to be aware of activation period for attribmods that have it. That's all part of the attribmod engine, and I don't see how you are rationalizing it as part of the "powers" engine. The only thing that makes any sort of sense is you're thinking of making the attribmod equivalent of micro-ops and breaking down time-dependent attribmods into micro-attribmods and clocking them outside of the micro-attribmod engine. Which is fine, except that doesn't allow you to redefine the scope of the problem to be writing the micro engine, because that eliminates the bulk of the complexity of the problem.
Quote:Someone earlier in this thread posted a link that basically said it's impossible to plan or estimate a plan effectively because there are so many unknowns, either that or you have an all-seeing eye and/or pure luck, or take excessive amounts of margin, and guess what, you and I are just trying to guesstimate the time it would take to code this.
Quote:And I'm the only one to actually work to try to measure that, and you're the only one able, or at the very least the best fit, to evaluate this.
Lets see how long it actually takes. -
Quote:Conceptually no, but in City of Heroes that is a dangerous path to take - completely decoupling effects from powers - because in the general case it can cause balance issues. And it would be very difficult to manage this sort of gameplay option when you have to constantly explain exceptions to players, who will in the general case never accept your explanations for exceptions.Suppose you're a developer and I'm a player. You provide me with a "shadow punch" that looks like a punch but has a shadowy effect, and it's left to my imagination to explain quite what that means. But suppose I said... Well, my character wouldn't punch like that. The punch you gave me is awkward, unwieldy and like something a gorilla would throw. My character is a skilful, athletic fighter who also happens to wield darkness. Please, Mr. Developer, could you give me a punch that looks more like I'm using martial arts, but with a darkness effect? Suppose for a moment that your artist is made of magic pixie dust and he can just make that on the fly.
Has anything been lost? Has the theme of "darkness" been compromised somehow? Am I now doing something that's inconsistent with darkness by punching in a different way? Honest question here.
OK, me being myself, I say "Well, that was nice, but I was thinking... Can that punch actually be a kick?" Well, your artist has run out of magic pixie dust and says no. Because, let's face it, I'm being unreasonably demanding. But your artist wants to please everyone, so in his spare time, he rips the effects of all melee attacks, throws all the animations in a giant pool and lets the player pick an animation first and then an effect and say "this is what I want to use." So now I'm using the crane kick while my leg is bathed in darkness.
Has anything been lost? Has the theme of "darkness" been compromised somehow now that I can pick animations the set didn't originally come with? Again, honest question here.
CO isn't offensively balanced in quite the same way, and is less vulnerable to this type of problem. Even so, there are still strong limits on how much of this sort of thing you're allowed to do. The intrinsic core behavior of the dev-designed attacks tends to remain the primary behavior, and the modifiers tend to be just that, modifiers, at least to the extent I've seen. But you stick Fire's DoT on Claws, or Sonic's res debuff on a fast set like Psychic Blast, and you've created fundamentally different offensive sets in City of Heroes. -
Quote:I am unaware of any public statements addressing that topic specifically.Rather than start a new thread for it I have to ask: Has Matt Miller or the others expressed any opinion either way about doing a spiritual successor to CoH? I mean, I know that final bell hasn't rung here yet but I'm curious and I'm honestly just looking for something to hope for.
I can see how this is something they may want to, but I can also see why they may be burnt out on super heroes and how they may want to move on to something else. Like I said, it's too early to say anything, I just want to know if the desire is there.
. -
Quote:While my idea describes the technology, I hope the presumption is that the way this technology would initially be used is in a way that encourages "cloud play" even if solo. And the intent of the server technology architecture is not intended to imply the game would naturally be run on a blizzard of thousands of tiny servers, but would under normal conditions be run much like any other MMO: with servers operated by the game owners. Alternate servers would be secondary options, and a fallback if the primary servers were temporarily or permanently unavailable.Maybe even take it further; a single player game does not need to have private instances as we know them. Perhaps the game can choose to toss other players into your own instances. Always giving the player a setting to entirely turning off multiplayer mode, though, but turned on by default.
-
Quote:You totally don't see what Aeon is saying. He's not saying he's taking offense at your criticizing that set, he's amplifying a point you also had to stop and realize:I totally see what you are saying Dr Aeon..but..
I did say the set, and this post, was just based on what was on the WIki. I never claimed to have found the info and posted it there. Or have found it on Beta. Or if it was even on Beta.
Also, it is pretty obvious, at least to me, that the info was..as you say..Placeholder, a very ROUGH idea you guys had of how the set might come about...which again..I did say.
As for criticizing this 'content'...well. I am trying to think of a way to say this without seeming like an ***. But.
WHY does it matter? really? It isnt content..its a pile of text that (as I just tested, is NOT linkeable on Beta. So technically..it isn't even placeholding there. I have no idea ta all where the info came from, and if by linking it, and expanding on it, I somehow crossed a line, I am truly sorry.
But be serious...we are all rooting for the game to keep going. If it does, super! If not, again, why would having a discussion about some potential powers, that aren't even in the game, that would almost certainly be changed..matter?
The boards are full of people saying bad things about exisiting powers in the game right now..ones that, being IN game, you guys must have signed off on. Yet..they still make us scratch our heads sometime. If we can do that, without offending you guys (which I'd say is NOT the intention in 99% of those cases..unless the case is Energy Transfer..the dev responsible for that should be horsewhipped)...why would a few ideas based on such a rough draft...matter?
Again, I am really sorry if this stepped on any toes and stuff. I was just excited at the prospect of the set, and felt it sounded promising enough (hardly being a critic) to deserve the small and ultimately pointless amount of extra attention I can give it.
Quote:Doc..these is NOT my ideas, you know that right? Quote:Oh wait..it IS my version of the wiki set..expanded version. But I did keep nearly all the powers the same.
I doubt it 'would have' been the Live version, since it was just an idea it seems.
In other words, its one thing to discuss what might have been, but its another to point out flaws in the design equivalent of a napkin doodle. The Wind Control we would have gotten on beta would have probably been a little different, and the Wind Control we would have gotten on live would have probably been significantly different than the data you're looking at. So the version of Wind Control you're posting is really your version, "loosely based on a true story." -
Playing at 50 is just a crutch for people who can't calculate attribmods in their head. If I want to jump straight to level 50 performance I just design my characters in the costume designer and then play the game in my head before I go to sleep. It takes less time than PLing on Freedom and zoning is faster.
-