Main Menu

New efforts!

Started by Ironwolf, March 06, 2014, 03:01:32 PM

blacksly

Quote from: Arcana on June 03, 2015, 06:09:55 PM
Theoretically speaking, I know enough to probably be able to hack a powerset into the game. 

Uh, do you mean into the database for the game, or actually into the game including the UI, so that it would be available as a powerset choice when you're creating a character?

Codewalker

Quote from: blacksly on June 04, 2015, 02:39:10 AM
Uh, do you mean into the database for the game, or actually into the game including the UI, so that it would be available as a powerset choice when you're creating a character?

Into the static data files. "database" tends to imply either relational or uniform key-value storage, so the game's hierarchical and highly subject-specific formats shouldn't really be called one. The UI uses those files to decide what powerset choices to offer. A lot of stuff in COH is hardcoded, but it's not bad to that extreme.

Arcana

Quote from: Codewalker on June 04, 2015, 02:46:09 AM
Into the static data files. "database" tends to imply either relational or uniform key-value storage, so the game's hierarchical and highly subject-specific formats shouldn't really be called one. The UI uses those files to decide what powerset choices to offer. A lot of stuff in COH is hardcoded, but it's not bad to that extreme.

Just to amplify, the data for the game content is stored in what most players familiar with the game know as "pigg" files.  Pigg files are compressed virtual file systems.  In effect, a pigg file has a lot in common with an ISO image of a CDROM (technically, its a set of virtual file systems, like a zip containing multiple ISOs).  This virtual file system is just a bunch of files in directories that are mapped to the game client.  Players who used game client mods like map packs know that if you put a bunch of files in the right directories within the game client, the content of those files can "override" the data the game normally uses.  So you could override, for example, what the game shows to players as maps, using player-created maps that have certain interesting things highlighted.

Unwrap those pigg files, and what you really have is a large set of directories with files in them.  Encoded files, but really just files.   All the powers in all the powersets for players and critters are stored as files within a directory structure that roughly matches how they are organized.  These are loaded into the game client at runtime by basically reading them all.  Along with the maps, textures, sounds, graphics, and everything else in the game.  During my, ahem, research into the animation system I was able to override an animation (Eagle's Claw's backflip) with my own, hacked animation (drunken mime with palsy) by simply making the right file and placing it in the right directory.

So, its not a database, its really just directories and files, just in a special form.  And the files themselves are encoded, so it can be like trying to find the lyrics to a Taylor Swift song by reading the binary of an MP3.  But we wouldn't call the MP3 a database containing musical notes and lyrics.  Colloquially, its kind of a database, but not in any technical (computer) sense.

Azrael

#17543
Thank you to Arcana and Codewalker for the insight.

Arcana, I'd always suspected the 'piggs' were compressed assets for the game.  So, if you 'uncompress' them you get a directory of the said assets?  None the less, your explanation made it more clear to me as to their nature.

Your other explanation in the previous couple of pages was an interesting insight into the challenging nature (but not impossible..?) of any reverse engineering efforts.

I found your 'research' efforts noteworthy.  80% along understanding the animation system?  And managed to 'hack' your own 'drunken master' animation into it.  (No demo record of said feat, Arcana? *teases slightly.)

0/1s.  I guess it takes someone who sees the world as 'the Matrix' to really understand CoH.  It's a well loved game.  So I'm sure there are coders out there who 'love' it's arcane nature and delved into how it works.  I'm sure if you were on the 'inside' you'll have a favourable advantage.

As for speculation re: any former CoH developers having source code?  For Paragon and the team's 'programmers' their work must be deeply personal.  *My conclusion?

:)

But yes, having 'source code' (under heavy classified embargo...) would certainly aid any reverse engineering efforts.

Even if we dismiss that.  Any help for engineering efforts could surely be obtained from 'people in the know' on the 'dark' internet...

Keep the technological CoH insights coming Arcana (along with the incisive comments from the enigmatic Codewalker...)  Very insightful and appreciated.

Azrael.

PS.  As for 'tools' to make missions, powers and general community modding...?  In time?  If Infinite Tabula and Star Wars Galaxies and other games (WoW?) can be reverse engineered?  Why not CoH?  I still think Ironwolf's community based idea is the most tantalising.  And honestly?  Considering CoH's unique and singular voice...perhaps the most just outcome.  (Though, obviously, I'd like the current talks to succeed.  Yes.  But what I don't want is the game to be 'taken away' again by an IP squatter.  I'd love to have a micro server so I can play local LAN and peer to peer with no more than a team of 8.  That and some tools to make new missions.  I'd take that.)

PPS.  One other thing to Arcana...was the thing regarding AE vs planting contacts in the game.  You said you may as well hard code the missions in.

Couldn't a 'back door' be created for any new AE missions to be fed into the 'Police radio/scanner' rather than visiting 'planted' contacts around the CoH game world?  Or does it amount to the same problem as trying to integrated AE?

ie.  You'd still need 'developer' style tools to do said job properly.  Ie.  You couldn't 'hack' AE mission content into the police scanner on a random basis from 'pool' of said A.E mission content created by the community?

PPPS.  Anybody know how long it takes to reverse engineer games like Star Wars Galaxies and Tabula Infinite?  Wow?  On average.  (Yes, I know CoH, inexplicably, wasn't as popular as other MMOs...so therefore, maybe it may have less people leading reverse engineering efforts...)  I think we know it wouldn't be over night.  And the game has been gone 3 years in November.  But I'm wondering with another two years on such efforts we may see daylight on such things.

*Looks at City of Titans, Heroes and Villains and Valiance.  You can see created an MMO from scratch is a formidable task.


Waffles

Quote from: Arcana on June 03, 2015, 06:09:55 PM
Theoretically speaking, I know enough to probably be able to hack a powerset into the game.

I'd buy it coming from either you, or Codewalker. Not really anyone else though. >_>

Arcana

Quote from: Azrael on June 04, 2015, 12:18:55 PMPPS.  One other thing to Arcana...was the thing regarding AE vs planting contacts in the game.  You said you may as well hard code the missions in.

Couldn't a 'back door' be created for any new AE missions to be fed into the 'Police radio/scanner' rather than visiting 'planted' contacts around the CoH game world?  Or does it amount to the same problem as trying to integrated AE?

ie.  You'd still need 'developer' style tools to do said job properly.  Ie.  You couldn't 'hack' AE mission content into the police scanner on a random basis from 'pool' of said A.E mission content created by the community?

This is not universally true, but I generally assume that anything that involves the modification of the data files, however time consuming, to be an order of magnitude easier than anything that involves altering the game engine software itself if you do not have the source code.  Icon itself is proof this isn't universally true, but its still a good rule of thumb.  Codewalker can make the game client do things its already programmed to do, and in a sense "wants" to do, but just isn't being told to do.  Without source, its far more difficult for him to get the client to do things it was never designed to do.  Most of the wizardry in Icon, no offense to Codewalker at all, involves Codewalker figuring out how to unlock features, not create them.

Without source code, there are things I think someone like Codewalker could do that wouldn't be radically difficult.  But doing things like changing how architect missions worked would be something I think would be sufficiently difficult so as to not be worth his time to figure out (relative to the other things he could be spending his time figuring out how to do).  Knowing which things you could and could not easily do is something that itself ironically requires significant knowledge of how the game engine works.

Arcana

Quote from: Waffles on June 04, 2015, 02:22:13 PM
I'd buy it coming from either you, or Codewalker. Not really anyone else though. >_>

There's probably a few other people who could do it or could teach themselves how in a relatively short period of time (outside of former devs, of course).  But I'm unaware of anyone else who has publicly demonstrated the requisite knowledge and/or skill.  In some ways, I kind of wish more people would.  That would imply the pool of people willing to spend the time and energy deconstructing and reconstructing the game was higher.

Just for giggles, I went back to my last parser and took a look at some of the stuff it did.  One thing (or rather a set of things) I did was sweep the entire powers database for oddities, which I periodically reported to the devs.  This is a list of (most of) what I checked for in every single build (many because the devs had created a bug related to that exact problem in the past):


Cones with range different from radius
Powers that can slot an enhancement that boosts something the power doesn't do
Powers that can slot an enhancement that boosts something the power explicitly disallows, that isn't a proc
Powers whose combat spam say it does damage type X, when none of its attribmods deal that type
Power is a self buff but isn't flagged for detoggle immunity
Power is not a self buff but is flagged for detoggle immunity
Power has a hit message and duration (which will cause combat chat spamming)
Power has Fiery Embrace damage that is not 45% of base
Power has cast time inconsistent with animation root time
Power uses both Melee and Ranged attrib tables in different attribmods
Power has an arc but is not a cone
Power is a passive but has endurance cost
Power has zero cast time, zero recharge, and is a click activated power but not a modal
Power is a foe-damaging player AoE but has target cap > 16 and is not incarnate
Power is a foe-damaging player AoE but has no target cap
Power is a foe-affecting non-damaging player AoE but has target cap > 255
Power is a foe-affecting non-damaging player AoE but has no target cap
Power buffs friends or teammates but has only positional type buffs
Power buffs friends or teammates but has only non-positional type buffs
Power sets Cur on self with non-zero duration
Power affects attribute on self and is resistable, and not on exception list
Power grants power that doesn't exist
Power grants power with duration X, but granted power has lifetime Y
Mission Maker damage power is using player tables, not temp table
Mission Maker damage power is unresistable
Mission Maker power taunts
Mission Maker power autohits endurance drain
Mission Maker power autohits perception debuff
Mission Maker power autohits damage
Mission Maker power has a crash without flagging for kEndBattle
Power invokes an animation sequence that jumps to non-existent sequence
Power has short name or colloquial name identical to another power but is defined differently


Every single one of those represents a bug the devs created at least once, and sometimes lots of times.  Some of them are pedantic, some violate a design rule, and some are just whack-a-mole crazy (setting Cur on Health with duration causes you to heal as fast as the game engine can heal you).  Most allowed me to help the devs get rid of persistent nastiness (like the combat chat spam, which once I coded for it I could usually help eliminate in beta, so players never saw it again).  I'm kind of surprised that Paragon never wrote their own lint, and in fact it seems obviously to me that most or all other MMOs also don't have regression lints for their content.  Surprising, because they aren't difficult to write and can save dozens or hundreds of hours of testing and debugging.

Aggelakis

Quote from: Arcana on June 04, 2015, 07:22:47 PM
I'm kind of surprised that Paragon never wrote their own lint,
You did it for them, saving manpower/hours/money! lol
Bob Dole!! Bob Dole. Bob Dole! Bob Dole. Bob Dole. Bob Dole... Bob Dole... Bob... Dole...... Bob...


ParagonWiki
OuroPortal

Arcana

Quote from: Aggelakis on June 04, 2015, 07:32:34 PM
You did it for them, saving manpower/hours/money! lol

True, but I'll bet the QA people had a test list a mile long, and I wouldn't be surprised if more than half of what they tested for (or failed to test for in some cases depending on timing) could have been significantly automated.  Spawn points in walls.  Geometry holes.  Unreachable blinkies.  Typos in critter spawning (causing the critter to not spawn).  Its theoretically possible to analyze every single critter in the game to see if its killable by a standard team.  Every time someone whips out a pencil and notepad to calculate an edge case or runs a specific test to see if something is doable, odds are that can be automated or at least significantly tested by automation.  And anything you check once, you'll probably need to check again.  Automated tests could have sped up content creation and deployment by a factor of two or more.  Catching errors quicker and with no real cost means you can develop more content in the same time.  One would think that would be a huge advantage.

And think how much better your devs would get over time if their judgment and intuition was constantly being adjusted or corrected by automation.  Remember when the devs boosted regeneration to AVs to make them a little easier to kill, and instead made them almost impossible to kill.  That was a massive failure of intuition that actually made it to live.  A tool that told them "hey, you just turned an AV that a standard team of three could kill into something that would take about twenty five such players to kill" would have caused them to think twice.  It would teach them a better intuitive rule for what regeneration buffs do.  Pushing the results of testing closer to the devs and more interactive I think doesn't just create a better product, it creates better devs.  In effect, those devs would get more experience quicker, because the tools would allow them to iterate ideas faster.

Its not just about bug catching.  Its a holistic global improvement in how you develop the game.

Vee

But then we'd have missed out on the mag >9000 hold resist mitos on lady grey  :'(

Zerohour

good lord, still no developments?  I'm beginning to fear the worst

Vee

Quote from: Zerohour on June 05, 2015, 12:37:39 AM
good lord, still no developments?  I'm beginning to fear the worst

wow, is it chat loop reset time already? umm, something something nda, blah blah nexon, yadda yadda yadda.

MM3squints

Quote from: Zerohour on June 05, 2015, 12:37:39 AM
good lord, still no developments?  I'm beginning to fear the worst

Well so far in the month of June; X-Com 2 is coming out, Sepp Blatter left FIFA and I get to watch John Oliver wear funny shoes, eat everything on the dollar menu from McDonalds, wash it down with Bud Light Lime, all while looking right into the camera saying it was delicious, and Fallout 4 was just announced. Keep in mind that all happened within 3 days of this month. Something tells me this is going to be a good month. If not, well, I still have the other things.

Surelle

Quote from: Zerohour on June 05, 2015, 12:37:39 AM
good lord, still no developments?  I'm beginning to fear the worst

Well, either way, we are no worse off than before, and at least we had a little glimmer of hope to hang onto for a year and a half.   :D  It's been fun dreaming, hasn't it?

Abraxus

Quote from: MM3squints on June 05, 2015, 12:59:59 AM
Well so far in the month of June; X-Com 2 is coming out, Sepp Blatter left FIFA and I get to watch John Oliver wear funny shoes, eat everything on the dollar menu from McDonalds, wash it down with Bud Light Lime, all while looking right into the camera saying it was delicious, and Fallout 4 was just announced. Keep in mind that all happened within 3 days of this month. Something tells me this is going to be a good month. If not, well, I still have the other things.

This year, John Oliver did a story on FIFA/Seth Blatter, and this titanic organization was rocked to its core.  He did a story on Net Neutrality, and the FCC did a 180 on the subject leading to its approval.  Perhaps if he could be persuaded to do a story on NCSoft, they might be inclined to break the bondage of our game and let the world have it back!  ;) :P 8)
What was no more, is now reborn!

ivanhedgehog

Quote from: Surelle on June 05, 2015, 01:10:02 AM
Well, either way, we are no worse off than before, and at least we had a little glimmer of hope to hang onto for a year and a half.   :D  It's been fun dreaming, hasn't it?
ongoing negotiations could mean anything from intense discussion to an email every other month asking if you are still interested

Azrael

QuoteAutomated tests could have sped up content creation and deployment by a factor of two or more.  Catching errors quicker and with no real cost means you can develop more content in the same time.  One would think that would be a huge advantage.

Was it War Witch that said when CoH was in 'skeleton' mode with a crew of 14-16 they were just ticking over and making new content was difficult.  (I remember a time before the NC Soft buy out where nothing seemed to be happening with CoH and issues were 'lean' and we hadn't had any new power sets in ages...)

So, my point, had NC Soft 'paired down' Paragon Studios down into the pre-buyout crew of about 16(?) then the studios could have automated much of the 'fixing' and focused on content but with a much leaner studio (also not carrying staff for two other undeveloped games.)  And during this 'maintenance' mode holding pattern the investments in CoV and Going Rogue by NC Soft could have been recouped?

*bats the point over to Arcana for further discussion.

Azrael.

PS.  I found this paragraph enlightening.  Considering that rather than 'content' or new powers (for a while...) it seemed we were constantly getting 'fixes.'  Surely automation, where possible, would make good MMO game design whilst obviously setting up progressive design in the first place.  i.e..  Instead of going around mobs one by one (hundreds/thousands of them in quite a few zones...) it would make sense to have global tools.

QuoteEvery single one of those represents a bug the devs created at least once, and sometimes lots of times.  Some of them are pedantic, some violate a design rule, and some are just whack-a-mole crazy (setting Cur on Health with duration causes you to heal as fast as the game engine can heal you).  Most allowed me to help the devs get rid of persistent nastiness (like the combat chat spam, which once I coded for it I could usually help eliminate in beta, so players never saw it again).  I'm kind of surprised that Paragon never wrote their own lint, and in fact it seems obviously to me that most or all other MMOs also don't have regression lints for their content.  Surprising, because they aren't difficult to write and can save dozens or hundreds of hours of testing and debugging.

I suppose pioneers always have arrows in their back.  Coh is unique.  Should have made the ten year mark.  It was a game you could always come back to and 'be there.'  Then it wasn't. :/

Azrael

#17557
http://www.cohtitan.com/forum/index.php?topic=10789.0

Very interesting thread on Star Wars Galaxies, Tabula and the comparison to the CoH 'efforts.'  It gave me more of a 'context' for the CoH 'efforts' relative to the struggles of other communities...and the potential amount of time required for such efforts.  Definitely worth a read.

Noteworthy was that 'Sony' hadn't got the original 'source' for Galaxies or had 'lost' it.  So their server was engineered from the 'ground' up and it took the best part of ten years..?!  And they had more 'notice' of the games shut down or rather, due to some 'combat' adjusting' patch not being to the liking of the community, efforts were undertaken way before said shutdown which means they had more of a head start on that score..?  And it still took ten years and I'm guessing is still an ongoing process?  But despite the 'ominous' amount of time it does show one thing.  Hope.  A dedicated and determined community who wanted 'their' game back.  It was a matter of time.

Time.

It is also interesting in terms of the CoH 'ongoing talks' only having that 'fragile' snapshot of the last night's play...and, NC Soft, 'allegedly', not having the source code(?) or not willing to let the source code being part of the deal(?) 

Azrael.

FloatingFatMan

Quote from: Azrael on June 05, 2015, 09:10:24 AM
http://www.cohtitan.com/form/index.php?topic=10789.0

Very interesting thread on Star Wars Galaxies, Tabula and the comparison to the CoH 'efforts.'  It gave me more of a 'context' for the CoH 'efforts' relative to the struggles of other communities...and the potential amount of time required for such efforts.  Definitely worth a read.

404 Not Found.

Azrael

*Modified link.  Misspelled forum.  It now works.

Azrael.