-
Posts
10683 -
Joined
-
-
-
-
Quote:Different people mean different things when they say this, but in the literal sense this is not true: critters use endurance just like we do, and in fact use more endurance per attack than we do on a relative basis. They also cannot use a power if they lack sufficient endurance to use it.Which did absolutely nothing since enemies don't use energy the same way we do.
The main difference between critters and players is that critters really only have to attack one thing with their endurance - us - and can use all of it to try to kill us. We have to manage our endurance so we have enough to kill the critters in front of us, and then be able to kill the next set of critters, and then the next set, and then the next.
Edit: I don't know when we would have gotten to the point of doing anything with it, but literally the week of the sunset announcement I was talking to Arbiter Hawk about addressing the issues with drain, and he seemed open to the idea of discussing the subject, pending finding the actual time to do anything about it (the schedule was packed for the next couple of issues). -
Quote:Not exactly walk away, but he did shift focus to STO and even admitted it publicly at some point. And at that point in COs implementation, much of its infrastructure apparently came from MUO which was developed when Cryptic still supported CoX, and much of its gameplay was still in flux in beta.^ Didn't Jack actually walk away from CO before it was finished to go work on STO? I'm sure I remember something about that...
The fact of the matter is that while its easy to invent narratives for people you don't like, the truth is Jack is more of a high level idea guy: as far as I know he simply doesn't know enough about systems design to be capable of "making statements" with an MMO's design. That would be not too different from saying the president of Electronic Arts is making a statement about the evolution of the west coast offense with the stat values of the wide receivers in Madden 12. -
-
Quote:Given CO's developmental history, that's an odd statement to make.You're using the word "wrong" in a strange way there - CO is Jack's "I was right, you were wrong" letter to the CoH players - condemnation is all it deserves.
Doubly, triply odd when you consider how far CO departs from many of Jack's design opinions on CoH.
If CO is a letter to CoH players from Jack, its a letter he wrote while never holding the pen, written in a language he didn't understand, to people he forgot meeting. -
-
-
-
Quote:Ironically, this sounds like a pitch for a movie that a studio exec decided to turn into a game at the last minute. That's pretty meta.The game: Faux MMO Designer
- The concept: Players brainstorm MMO designs based on books, television shows, or that God-King of entertainment, films.
- What we keep: Influence. Lots and lots of influence. Also to include anything that can be bought with Influence. So everything, really.
- What we lose: Creative control, when the studio executives get a hold of it in post-production and castrate it of any discernable emotional or intellectual value.
- What we add: Casting couches with dubious stains, rage-fueled tirades by actors on set, probably some drugs. Publicity. Jerry Bruckheimer.
- Why it would be like City of Heroes: We love to hate adaptions of our favorite things, even more so when they go over budget and past deadlines.
- The Downside: If there were any doubt our society was culturally bankrupt, this removes it.
- Why I would play this: In no other game are players able to so completely realize their vision, while constantly having to overcome obstacle after obstacle.
"My MMO isn't about Vietnam... My MMO is Vietnam."
-
If I'm going to be frank here, I don't think Cryptic knew how to make an MMO at all at the beginning. And to be fair, not many other people did in 2003 either.
-
Quote:Actually, I'm pretty sure it was in there by I10, and positive it was in there by I11, because that's when I took over the Iakona mantle.(the full attribmod/effects data was not included in the client until Real Numbers was added in around I12.5)
It was actually being able to see the powers data in I11 that allowed me to give intelligent feedback to pohsyb on how Real Numbers was shaping up without actually being able to see it. By then I knew what the raw data he was confronted with would look like, and could ask informed questions like "how are you going to deal with that?" -
Quote:And all the newer chaining powers -- from reworked Chain Induction to Electric Control and forward -- use pseudopets that have a single power with a spherical AoE and 1 or 2 target max -- a power that in most cases does damage and summons another psuedopet for the next hop.Quote:Minor nitpick: that is how the original Chain Induction worked and it was a bit buggy, plus was not able to transfer enhancement strength.
I think all chains now are close to that, but they don't grant a power, instead they summon an incorporeal pet at the location of the target that in turn has a damage aura with a max target of 1, that aura in turn does the same, summons another similar pet at it's target, etc etc.
This was one of the first things that changed when Arbiter Hawk (or maybe Synapse but I think hawk is the one with the chain obsession) fixed by re-working the original approach for implementing chains.
I hadn't really looked closely at the "deep data" since I21, honestly, except in certain limited situations. -
I believe that's it, yes. My memory on that was hazy, because I was pushing buttons like a chimp in a ground test space capsule.
Quote:ETA:
I'm not seeing the key posts about how you all have a chieved this so far. Could someone point me at them?>
If you're primarily looking for pointers to the highlights, there's the OP where I describe my basic process: http://boards.cityofheroes.com/showp...50&postcount=1
This post has the specifics of how OGLE works and a link to the actual files: http://boards.cityofheroes.com/showp...5&postcount=27
And this post is where I remember to tell everyone to use the -useTexEnvCombine switch or their client with either not capture right or crash and burn: http://boards.cityofheroes.com/showp...8&postcount=59 -
-
The game: The Muppets Online
- The concept: players try to keep old vaudeville theater operational by completing missions or "acts" assigned by frog, pig, bear.
- What we keep: color palette, furries, giant monsters
- What we lose: dual wielding, the ability to look below the waist
- What we add: boomerang fish, chicken control, pig melee
- Why it would be like City of Heroes: devs hire Venture to play both Statler and Waldorf in-game.
- The Downside: Troy Hickman's guest act would cost us T for Teen rating one week after launch
- Why I would play this: Character creator would suck up most of my day, looking for exploit that would allow me to kill Elmo would suck up the rest.
-
I should also mention that how we conceptualize what powers do as players and what they actually do mechanically are often very different. So if you decide to make a game based on the conceptual nature of the powers you may find yourself recreating the powers from scratch, because the data we have doesn't do what you think it does.
For example, CoH has no "chaining" mechanic. None. Chaining powers grant powers to targets which create an aura around the target which forces the target to grant additional powers to a limited number of the targets around them which themselves damage the target and grant the same aura to those targets and set a flag which prevents the same target from being hit again by the target it hit with its own aura.
All the data says is "give that guy a new power." It takes human comprehension to look at the sum total of what's going on and say "that's a chaining attack." But if you make a game engine with a chaining mechanic, what's going to use it? None of the powers in City of Heroes, until you make them do so by hand. Unless you're smart enough to create an expert system that can deduce developer intent from the data.
A lot of powers work like this. Tanker single target attacks aren't: they are AoEs, all of them. That's so that taunt can hit multiple targets. But the damage in them is restricted to only the targets exactly zero feet from the center of the AoE. Which, in the modern game, is at most one thing. Do you implement that behavior directly, or do you again, by hand, change the definition of all those tanker attacks to be single target and implement a new mechanic for AoE taunt effects as a special case?
Do you directly implement exactly how our game engine deals with buffs that buff themselves? Or do you fudge, again by hand, Combat Training: Offense?
There's actually a set of flags that tell the game engine to treat things like enhancements differently than powers - enhancements actually *are* powers, just powers that work differently. Do you hard code implement that distinction directly, and then have to deal with things like Luck of the Gambler: Def/+GlobalRech as yet another hand-edited special case? This is another case where we think of something as one thing, but the game thinks of it as something completely different, and there are cases where the difference is important. In the above enhancement, the +Def Strength should only affect the power its slotted into. The +Rech Strength should affect the entire player.
There's no "rule of five" except in the devs' head. That's not something the game engine is directly aware of. Its actually just another Requires clause on the passive powers that are granted by the inventions as the set bonuses. Do you implement that in a hard coded fashion or do you implement that specific field in a general purpose manner? Because if you don't, you'll then have to make a special case rule for the "rule of one" used by Bruising, and the "rule of three" for the Might of the Tanker proc.
If you don't implement all of the complexity of the game engine, you'll be left with the actual data being a cloud of special cases, which would probably take more time to implement in the long run. What we see and what the game engine does are often radically different in the details, and the game obscures a lot of funky activity the data contains to make interesting things happen. Skip that complexity in the engine, eat it in the data. There's no way around that.
What's a single target attack, what's a pet, what's a buff, what's an enhancement - these all sound like easy questions to answer. But they aren't, at least not by just looking at the data. -
Quote:Basically, although there's some extra complexity in there that causes some effects players might not care about. My guess is that there's at least three main timing "loops": a 30/sec animation synchronization event loop that synchronizes server events with client activity, an 8/sec impulse action loop that the game engine uses to initiate events and actions, and I have some evidence for a 2/sec decision loop that determines when critters decide to take a course of action.Take 'Arcanatime' for instance. There's no 132ms timer, and if you were to use one, you wouldn't accurately reproduce the timing. There's a frame timer (30hz) and a combat clock (125ms), and it's the sync between the two that results in an average cycle time of 132ms, but it will alternate between being a little higher and a little lower as the two timers drift in and out of phase.
I've actually put more thought than is really useful into how to account for time in CoH. How to deal with things like recharge and regeneration (tick decrementers seems the best approach), event overflow (i.e. Hami lag: global clock tick-based correction seems the best there) stuff like that. -
Quote:That would be highly inefficient. I would make power and attribmod activation period explicitly supported in the primary event loop.In the case of CancelOnMiss of DoTs/HoTs, for instance, these are just chained scripts/effect, where the first application (what's actually listed in the power effects) is queue script2), where scriptN contains (OnHitapply damage and queue scriptN+1)). and ends at scriptM for a DoT with M ticks. In the case of pseudopets, spawn the correct entity.bout this idea, I'd like to be challenged with cases where it doesn't work.
Quote:And also, I want to say that it's how *I* would implement it, and it should be compliant to how the game plays, if it's not *the* way it's implemented. If I'm wrong about this idea, I'd like to be challenged with cases where it doesn't work.
For each effect that a power performs, here an incomplete list of what a game engine would have to understand, not counting superficial things (like floating text and combat spam):
Attribute affected (i.e. Smashing, Melee_Attack, Regeneration)
Aspect affected (i.e. Cur, Abs, Str, Res, MaxMax)
Scale value
Table (i.e. Ranged_Damage, Melee_Buff_Tohit, Melee_Ones)
Attribmod target (i.e. self, target)
Period (i.e. how often the effect occurs)
Duration (i.e. how long the effect lasts)
Chance (i.e. chance the effect will take effect)
Delay (i.e. how long to delay effect after hit before taking effect)
NearGround, AllowStrength, AllowResistance, AllowCombatMods (flags)
Requires (postfix expression which must evaluate true for effect to occur)
AttribmodType (i.e. Magnitude, Duration, Expression)
StackingType (i.e. stack, ignore, replace, extend)
StackLimit (maximum number of times this specific effect can stack)
Duration (used for Magnitude type)
Magnitude (used for Duration type)
MagnitudeExpression (postfix expression used for Expression type attribmods to calculate magnitude scale value)
InnerRadius, OuterRadius (min and max radius allowed for effect used when power is spherical AoE)
SuppressionCodes (codes representing conditions under which effect is temporarily suppressed)
Reward (used to define powers granted with GrantPower effects)
EntityDef (used to define special entities for EntityCreate effects)
Alternatively, if you want to make up your own engine in a couple weeks that doesn't have this complexity, you'll then have to convert all the powers data to that new engine somehow.
How long would it take just to write the expression engine that figures out what to do with:
kMeter,source>,.9,<,kHeld,target>,0,>,kSleep,targe t>,0,>,||,&&,enttype,target>,player,eq,&& (stalker crit)
And how would you make Dual Pistols work: would you properly implement GlobalChanceMod or would you just recreate the powerset by hand? http://tomax.cohtitan.com/data/power...d.Dual_Pistols
Would you write a completely new combo system and redo all the Dual Blades powers by hand, or implement mode setting and use the original data: http://tomax.cohtitan.com/data/power...ee.Dual_Blades
Do you write your own Fury system and redo all Brute attacks, or implement the Rage bar and Brute fury damage buffs within the data?
I think its easy to say "just convert the data to formulas" without actually seeing the data or knowing the mechanics. I would challenge anyone to just *list* the mechanics that would have to be implemented in four weekends much less actually implement them in code. -
Quote:Does he still have the robot?And my dad saves my brain again: Advent!
http://en.wikipedia.org/wiki/Colossal_Cave_Adventure
Played it on his Heathkit back in the early 80s. Text only rules! -
-
Quote:My calculations at the time suggested that 24 Rad defenders range-slotted could do it with stacked AM, EF, and a good ranged attack chain. But they would need to carefully coordinate healing to stay alive long enough to do it.Truth be told, no one had any idea how to make a raid, so we just decided to make something REALLY hard (figuring the players always outperform expectations). After we made it, the question became "Is it theoretically possible?". Thats when when came up with the triangle idea. It was even worse than what Arcana said because I think you needed to be slotted for max range, but the math did work out. Anyways once we concluded it was theoretically possible, that was good enough. I don't think we ever expected people to actually do it that way. (I didn't, at least)