Author Topic: Ridiculous Question  (Read 73246 times)

ivanhedgehog

  • New Efforts # 25,000!
  • Elite Boss
  • *****
  • Posts: 512
Re: Ridiculous Question
« Reply #60 on: April 01, 2015, 07:29:09 PM »
honestly, wildstar was destined to fail from the start. they designed the game for the hardcore gamers. the "nothing is ever difficult enough" crowd. there are not enough of these people to support a game, yet they get their claws into dev staffs by playing on ego. swtor recently did this with an entire closed beta filled with nightmare raiders. the operations are way over tuned and it seems like none of the rest of the game was even tested. 4 months after release it is still a buggy mess that is losing subscriptions.

MWRuger

  • New Efforts # 1,000!
  • Elite Boss
  • *****
  • Posts: 1,117
  • The Devil is in the details! Quick! Get him out!
Re: Ridiculous Question
« Reply #61 on: April 01, 2015, 07:39:42 PM »
I'm afraid this is simply incorrect. 

And as a matter of objective fact, if *all* you had was the source code itself, it would be *impossible* to bring the game back up.  As I said in the previous post, there's a very specific inventory of stuff you need to get the game servers running again, and either the source code or the compiled executables are just one of those things.  And because its possible none of the people who ever got a server running from scratch were NCSoft employees other than the Paragon staff, its also possible exactly no one at NCSoft would even know what those things were, unless they had an exact copy of a server shard to go off of.


I know this is off topic, in your opinion does the snapshot, include that specific inventory of things needed to restart the game?

Also, if they don't have these things, do you think it is possible fudge (create them with arbitrary values or data) them into being?

Is it possible that this is why, even if they have the account, full restoration isn't possible?

I understand that you probably have no concrete knowledge, but in a thread with rampant speculation, please indulge.

AKA TheDevilYouKnow
Return of CoH - Oh My God! It looks like it can happen!

Ironwolf

  • Stubborn as a
  • Elite Boss
  • *****
  • Posts: 1,503
Re: Ridiculous Question
« Reply #62 on: April 01, 2015, 07:39:49 PM »
Hold the course, stay hopeful and not bitter.

Nate from all of my dealings with him is someone who truly still loves the game. If he can't get it done it will be picked up again. The next time if needed we would be able to find out what went wrong and carry on.

Paragon Studios tried to do a buyout and failed. TFHM tried to buy it out and failed. Nate and the new overlords of the game are still working on a deal and without all the personalities that caused the first 2 efforts to fail. I know you aren't aware of the personal issues that arose - but they were real and very nasty. I won't name the parties and who knows once free from the hands of NCSoft it may be possible to reach out to some of those who had experience to help - that can't help right now.

You might like to know all of the dirty secrets but it is best for the supporters to not know how the sausage is made sometimes.

Ironwolf

  • Stubborn as a
  • Elite Boss
  • *****
  • Posts: 1,503
Re: Ridiculous Question
« Reply #63 on: April 01, 2015, 07:48:00 PM »
I'm afraid this is simply incorrect.  The intellectual property value of the source code to the game engine has nothing to do with whether it is even compilable.  For example, if NCSoft was licensing that code to someone else there would be a revenue stream attached to that source code even if NCSoft no longer had a viable copy of it.  At one point Cryptic was licensing the engine to NCSoft, and that means that source code had material value even if Cryptic itself lost its own copies of it.

And as a matter of objective fact, if *all* you had was the source code itself, it would be *impossible* to bring the game back up.  As I said in the previous post, there's a very specific inventory of stuff you need to get the game servers running again, and either the source code or the compiled executables are just one of those things.  And because its possible none of the people who ever got a server running from scratch were NCSoft employees other than the Paragon staff, its also possible exactly no one at NCSoft would even know what those things were, unless they had an exact copy of a server shard to go off of.

This is what I personally think is happening - they are working to get the things necessary to restart the basic game. The game was not stopped with a thought to ever running it again. It was stopped in a manner to protect IP rights. The original source is - somewhere. It may not resurface for many years if ever in the wild. It will take time for the new group to either find the original stuff or where needed to rewrite programs to mess with the disk image. The least thing needed is a new launcher for one. Then the market software and accounting to set up new accounts. It is a big venture.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Ridiculous Question
« Reply #64 on: April 01, 2015, 08:42:55 PM »

I know this is off topic, in your opinion does the snapshot, include that specific inventory of things needed to restart the game?

Also, if they don't have these things, do you think it is possible fudge (create them with arbitrary values or data) them into being?

Is it possible that this is why, even if they have the account, full restoration isn't possible?

I understand that you probably have no concrete knowledge, but in a thread with rampant speculation, please indulge.

In my experience, some of the information you need to make a system function exists within the minds of the people that operated or created it, and isn't ever written down explicitly.  Most of that is easy to reconstruct if you have a functioning system to look at.  Most of it is extremely difficult to reconstruct if you don't.

Most people see source code as comparable to blueprints.  But in actual fact, source code is more like *parts*.  When you open that box of IKEA furniture, the individual pieces of wood and screws?  That's actually the source code.  The instruction booklet itself would in software terms be the make files and the compile instructions and the configuration file templates to make the software work, not all of which are always stored within the source repositories.  Those things are critical.  Without them, all you have is a pile of wood.

Beyond that, all of that combined is the game engine itself.  City of Heroes, like pretty much all MMOs, had (at least) *two* separate data repositories that drove it that were not contained within its engine or its software itself.  There was a set of data that contained the game content.  We saw part of that when players hacked the game clients and went "pigg-diving."  Those "pigg" files contain the data of the game content.  The game client contained part of it, but the servers contained data the clients did not (which is why ultimately Icon can't run missions no matter how crafty Codewalker gets - the game client doesn't contain that information to run).  You'd need that or all you'd have is, well, multiplayer Icon.  Separate from that, there was also a database that contained the server state.  Basically, the player data.  What characters exist on the server and what those characters state is.  Without that data, which is completely separate from the game engine and the game content, you can't restore player characters to their state prior to the shutdown.


Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Ridiculous Question
« Reply #65 on: April 01, 2015, 08:48:12 PM »
This is what I personally think is happening - they are working to get the things necessary to restart the basic game. The game was not stopped with a thought to ever running it again. It was stopped in a manner to protect IP rights. The original source is - somewhere. It may not resurface for many years if ever in the wild. It will take time for the new group to either find the original stuff or where needed to rewrite programs to mess with the disk image. The least thing needed is a new launcher for one. Then the market software and accounting to set up new accounts. It is a big venture.

I have no direct knowledge of what is happening with the buyout team.  But I suspect that two different things are happening.  The first is that the technical details of how to even get everything up and running - and whether they have enough to do that at all - is being worked out.  The second is that I suspect there were conditions to the buyout that the buyout team may have needed time to satisfy.  For example, if I was NCSoft I would not negotiate with a bunch of individuals.  I would only negotiate with an actual corporation, and that corporate entity would need to satisfy a set of basic requirements.  Official incorporation, officers, audited financials or statement of financial viability, etc.  Those things could have taken significant time to materialize.

Plus, if this is something that their contacts at NCSoft are doing unofficially in their spare time, and not as some actual official NCSoft project, its possible *everything* is taking longer just because its no one's top priority.  You might send someone an email and you might get a reply days later.  Something that could be hashed out in a two hour conversation could take three weeks to ping pong back and forth.

Twisted Toon

  • New Efforts # 13,000!
  • Elite Boss
  • *****
  • Posts: 830
Re: Ridiculous Question
« Reply #66 on: April 01, 2015, 08:52:58 PM »
You might like to know all of the dirty secrets but it is best for the supporters to not know how the sausage is made sometimes.

Unfortunately, I know a little of how sausage is made. Needless to say, I don't eat sausage very often.

I, also, will never eat Haggis, because I know some of the things that go into it.
Hope never abandons you, you abandon it. - George Weinberg

Hope ... is not a feeling; it is something you do. - Katherine Paterson

Nobody really cares if you're miserable, so you might as well be happy. - Cynthia Nelms

FloatingFatMan

  • An Offal
  • Elite Boss
  • *****
  • Posts: 1,178
  • Kheldian's Forever!
Re: Ridiculous Question
« Reply #67 on: April 01, 2015, 09:49:07 PM »
Unfortunately, I know a little of how sausage is made. Needless to say, I don't eat sausage very often.

I, also, will never eat Haggis, because I know some of the things that go into it.

Nothing wrong with a bit of offal. It's good for you!

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Ridiculous Question
« Reply #68 on: April 01, 2015, 10:13:31 PM »
Nothing wrong with a bit of offal. It's good for you!

I've had haggis before.  Mostly, I found it peppery, but otherwise inoffensive.  Kinda tasty, actually, except for the fact the one I had was probably a bit overspiced.

Twisted Toon

  • New Efforts # 13,000!
  • Elite Boss
  • *****
  • Posts: 830
Re: Ridiculous Question
« Reply #69 on: April 02, 2015, 12:30:07 AM »
Nothing wrong with a bit of offal. It's good for you!

Kudo it all you want. I still won't have any. I guess that'll just leave more for you.  ;)

By the way, I just got through watching that movie you stared in. Did that worm ever suffer any side effects after eating you?
Hope never abandons you, you abandon it. - George Weinberg

Hope ... is not a feeling; it is something you do. - Katherine Paterson

Nobody really cares if you're miserable, so you might as well be happy. - Cynthia Nelms

JanessaVR

  • New Efforts # 12,000!
  • Elite Boss
  • *****
  • Posts: 815
Re: Ridiculous Question
« Reply #70 on: April 02, 2015, 12:33:34 AM »
By the way, I just got through watching that movie you stared in. Did that worm ever suffer any side effects after eating you?
Nothing wrong with a bit of Harkonnen. It's good for sandworms!  ;)

Noyjitat

  • Elite Boss
  • *****
  • Posts: 717
  • Guess who cares?
Re: Ridiculous Question
« Reply #71 on: April 02, 2015, 03:40:09 AM »
honestly, wildstar was destined to fail from the start. they designed the game for the hardcore gamers. the "nothing is ever difficult enough" crowd. there are not enough of these people to support a game, yet they get their claws into dev staffs by playing on ego. swtor recently did this with an entire closed beta filled with nightmare raiders. the operations are way over tuned and it seems like none of the rest of the game was even tested. 4 months after release it is still a buggy mess that is losing subscriptions.

I think actually having to dodge is better than stat lottery where the game makes you automatically dodge. What I don't like is melee characters including tanks are too squishy where the majority of the stuff to dodge is in melee and that it takes too long to kill when your self buffs like buildup are on cool down. Wildstar also has a huge number of missions while leveling but they don't give enough xp for them so it's kinda bad to skip any of them. Above all I still enjoyed my time there for the most part.

I haven't raided in swtor since the explosive conflict update. The huge increase of difficulty from the games original two raids to what was added on that update was stupidly much harder even in story mode and most of the trash mobs couldn't be skipped. And being that I only raided with my guild we never were able to defeat the final boss on hard mode despite all we had learned. One little mistake and the fight is ruined and it wasn't always the same person.

Karagga's Palace an Eternity Vault were much better raids and had the just right difficulty associated with them in all difficulty modes but sadly they catered to hardcore raiding guilds and made all the difficulties harder than they should of been.

I still feel sad though because my guild basically stopped raiding and I still wanted to run all of the new raids but I was tired of guild hopping so I eventually stopped playing. I started playing again for rise of hutt cartel when it launched but stopped before I reached 55 and haven't touched shadow of revan. Perhaps I'll look for a guild again and start playing soon.

GUGuardian

  • Underling
  • *
  • Posts: 10
Re: Ridiculous Question
« Reply #72 on: April 02, 2015, 03:48:49 AM »
Wow, and here I thought a few people would just flat out tell me I was nuts.  I didn't expect to stir up a hornet's nest.

The only thing I wonder now is what the highest offer made was that they rejected.

TonyV

  • Titan Staff
  • Elite Boss
  • ****
  • Posts: 2,175
    • Paragon Wiki
Re: Ridiculous Question
« Reply #73 on: April 02, 2015, 04:21:26 AM »
Most people see source code as comparable to blueprints.  But in actual fact, source code is more like *parts*.  When you open that box of IKEA furniture, the individual pieces of wood and screws?  That's actually the source code.  The instruction booklet itself would in software terms be the make files and the compile instructions and the configuration file templates to make the software work, not all of which are always stored within the source repositories.  Those things are critical.  Without them, all you have is a pile of wood.

I don't know how to say this tactfully, and I don't intend this in the spirit in which it will probably be taken, but have you ever actually done development?  Because what you're describing simply isn't true.

What you are calling *parts* is akin to what I would call individual source code files.  If all NCsoft had were a bunch of *.c and *.h files, I might agree with you.  But in any modern development system, those files are bound together in a project file; in the case of City of Heroes, those would be Visual Studio project and solution files.  Those files are most definitely akin to blueprints; they contain all of the references and relationships of how the files fit together to build a project.  Now granted, they are probably old VS project/solution files, like 2008 or 2010, but the software really isn't that hard to come by to put it all back together again.

And I also understand a great deal about how databases work, too.  Yes, it would most certainly be helpful to have a functional system up and running to do things like pull the schema so that you don't have to recreate it from scratch from the source code, but it's not that hard to recreate a schema from the source code.  For example, if you see something in the code like:

Code: [Select]
char *sql = sprintf("SELECT acct_id, acct_name, acct_valid FROM accounts WHERE acct_id = %d;", acct_id);
Then you know that there's a table or view named accounts that contains columns acct_id, acct_name, and acct_valid.  You also know that acct_id is almost certainly a numeric column since the select statement refers to it as an integer, and it's a pretty good bet that acct_name is a text column just because of its name.

I'll grant you that this is a very simple example, that real-world examples are much more complicated, but my point is that on a scale of one to ten, I'd only put reverse engineering a database from source code at a difficulty of five or so.  It's not so much hard as it is tedious, and believe me, there are people who are plenty enough motivated to undertake such a task to put it well within the realm of the feasible.

Probably the hardest part of reverse engineering the code to get it running is if they hard-coded things based on specific hardware they're running.  For example, if they wrote in short assembly routines that used CPU features specific to an AMD processor or something crazy like that, it might be kind of tough to port that to an Intel processor, but given that I've been told by several devs that the "physical" servers were actually VMs, I can't imagine that there is code at that low a level.

Look, I'm not trying to imply that it would be easy, I know that there are probably hundreds of source files that would have to be pored over.  And having been a C++ developer in a past life, I know firsthand how much a pain in the ass it is picking up someone else's spaghetti code and trying to make sense of it when that person is gone and inaccessible.  (At one point, I was on a team that developed a space planning solution that interfaced with AutoCAD, and when the former developer got a new job in another city, he picked up and left and we never heard from him again.  My boss came to me and said, "Um... Tony, we need you to take over and finish this project.  Good luck!")

It happens every day, and people deal with the challenges.  Look at any of the innumerable open source projects that are abandoned or forked successfully if you want proof.  Or hell, just look at how well known and picked apart the client is with exactly zero information from the developers and zero lines of source code.  And you think that the server code and configuration would be indecipherable to a competent developer/hacker with the source code?

To be blunt, every developer likes to think that he or she is indispensable, that without him or her, the project would simply fall apart.  Every developer also believes that every code base that he or she didn't personally develop from scratch is just an incomprehensible mess that no one else but him or her could figure out.  I don't think it's disingenuousness on their part, it's just human nature.  That's why when Positron would make comments kind of like what you're making here, my private response was always, I get what you're saying, and I know it would be difficult.  But impossible?  C'mon, man.  I don't doubt his (or your) knowledge or ingenuity, but I do think that he (and you) underestimate the capabilities of a competent developer.

ivanhedgehog

  • New Efforts # 25,000!
  • Elite Boss
  • *****
  • Posts: 512
Re: Ridiculous Question
« Reply #74 on: April 02, 2015, 04:28:28 AM »
I think actually having to dodge is better than stat lottery where the game makes you automatically dodge. What I don't like is melee characters including tanks are too squishy where the majority of the stuff to dodge is in melee and that it takes too long to kill when your self buffs like buildup are on cool down. Wildstar also has a huge number of missions while leveling but they don't give enough xp for them so it's kinda bad to skip any of them. Above all I still enjoyed my time there for the most part.

I haven't raided in swtor since the explosive conflict update. The huge increase of difficulty from the games original two raids to what was added on that update was stupidly much harder even in story mode and most of the trash mobs couldn't be skipped. And being that I only raided with my guild we never were able to defeat the final boss on hard mode despite all we had learned. One little mistake and the fight is ruined and it wasn't always the same person.

Karagga's Palace an Eternity Vault were much better raids and had the just right difficulty associated with them in all difficulty modes but sadly they catered to hardcore raiding guilds and made all the difficulties harder than they should of been.

I still feel sad though because my guild basically stopped raiding and I still wanted to run all of the new raids but I was tired of guild hopping so I eventually stopped playing. I started playing again for rise of hutt cartel when it launched but stopped before I reached 55 and haven't touched shadow of revan. Perhaps I'll look for a guild again and start playing soon.

shadow of revan is a failure/ too many bugs still there 4 months in. the beta was nim guilds only, so the story modes have bosses with hm+ mnechanics. add in the bugs and most pugs dont even start temple of sacrifice. the gear they designed is horrible. every effort was made to extend the gearing path as long as possible, including leaving a bug that only gave 8 man drops for 16 man raids...for months. it isnt that hard to fix yet they left it. there are fewer raiding guilds now and no one does anything but the current 2 ops unless they are going for achievements.

ivanhedgehog

  • New Efforts # 25,000!
  • Elite Boss
  • *****
  • Posts: 512
Re: Ridiculous Question
« Reply #75 on: April 02, 2015, 04:30:02 AM »
I don't know how to say this tactfully, and I don't intend this in the spirit in which it will probably be taken, but have you ever actually done development?  Because what you're describing simply isn't true.

What you are calling *parts* is akin to what I would call individual source code files.  If all NCsoft had were a bunch of *.c and *.h files, I might agree with you.  But in any modern development system, those files are bound together in a project file; in the case of City of Heroes, those would be Visual Studio project and solution files.  Those files are most definitely akin to blueprints; they contain all of the references and relationships of how the files fit together to build a project.  Now granted, they are probably old VS project/solution files, like 2008 or 2010, but the software really isn't that hard to come by to put it all back together again.

And I also understand a great deal about how databases work, too.  Yes, it would most certainly be helpful to have a functional system up and running to do things like pull the schema so that you don't have to recreate it from scratch from the source code, but it's not that hard to recreate a schema from the source code.  For example, if you see something in the code like:

Code: [Select]
char *sql = sprintf("SELECT acct_id, acct_name, acct_valid FROM accounts WHERE acct_id = %d;", acct_id);
Then you know that there's a table or view named accounts that contains columns acct_id, acct_name, and acct_valid.  You also know that acct_id is almost certainly a numeric column since the select statement refers to it as an integer, and it's a pretty good bet that acct_name is a text column just because of its name.

I'll grant you that this is a very simple example, that real-world examples are much more complicated, but my point is that on a scale of one to ten, I'd only put reverse engineering a database from source code at a difficulty of five or so.  It's not so much hard as it is tedious, and believe me, there are people who are plenty enough motivated to undertake such a task to put it well within the realm of the feasible.

Probably the hardest part of reverse engineering the code to get it running is if they hard-coded things based on specific hardware they're running.  For example, if they wrote in short assembly routines that used CPU features specific to an AMD processor or something crazy like that, it might be kind of tough to port that to an Intel processor, but given that I've been told by several devs that the "physical" servers were actually VMs, I can't imagine that there is code at that low a level.

Look, I'm not trying to imply that it would be easy, I know that there are probably hundreds of source files that would have to be pored over.  And having been a C++ developer in a past life, I know firsthand how much a pain in the ass it is picking up someone else's spaghetti code and trying to make sense of it when that person is gone and inaccessible.  (At one point, I was on a team that developed a space planning solution that interfaced with AutoCAD, and when the former developer got a new job in another city, he picked up and left and we never heard from him again.  My boss came to me and said, "Um... Tony, we need you to take over and finish this project.  Good luck!")

It happens every day, and people deal with the challenges.  Look at any of the innumerable open source projects that are abandoned or forked successfully if you want proof.  Or hell, just look at how well known and picked apart the client is with exactly zero information from the developers and zero lines of source code.  And you think that the server code and configuration would be indecipherable to a competent developer/hacker with the source code?

To be blunt, every developer likes to think that he or she is indispensable, that without him or her, the project would simply fall apart.  Every developer also believes that every code base that he or she didn't personally develop from scratch is just an incomprehensible mess that no one else but him or her could figure out.  I don't think it's disingenuousness on their part, it's just human nature.  That's why when Positron would make comments kind of like what you're making here, my private response was always, I get what you're saying, and I know it would be difficult.  But impossible?  C'mon, man.  I don't doubt his (or your) knowledge or ingenuity, but I do think that he (and you) underestimate the capabilities of a competent developer.

im not going to get into that at all hahaha. my last programming project used punched cards

JanessaVR

  • New Efforts # 12,000!
  • Elite Boss
  • *****
  • Posts: 815
Re: Ridiculous Question
« Reply #76 on: April 02, 2015, 04:42:00 AM »
I'm going to have to back Tony on this one.  I'm a SQL Server Developer DBA, and I could reverse engineer all of the tables my stored procedures reference just by going through them.  It would be tedious as hell, but I've actually done it for a few missing/deleted old tables on occasion by looking at the SQL statements that referenced them.

TonyV

  • Titan Staff
  • Elite Boss
  • ****
  • Posts: 2,175
    • Paragon Wiki
Re: Ridiculous Question
« Reply #77 on: April 02, 2015, 04:51:57 AM »
The instruction booklet itself would in software terms be the make files and the compile instructions and the configuration file templates to make the software work, not all of which are always stored within the source repositories.  Those things are critical.  Without them, all you have is a pile of wood.

I'm curious why you would think that the project/solution files aren't stored within the source repositories.  I've never seen a repository especially for a proprietary project that didn't contain the project files, and I literally cannot imagine a circumstance under which one would ever want such a thing, unless the project is specifically created to be portable across platforms, and even then, the repository would contain the makefiles.

...You'd need that or all you'd have is, well, multiplayer Icon.

Yes, and I'm absolutely certain that NCsoft has a copy of that.  If they ever claimed that they don't, I'd call them a liar, because as I think I said above, that would be like Pepsi telling someone that they lost the recipe to Mountain Dew.  I simply don't believe it; such a thing would be too valuable.  If it were written in 1980, it might be plausible, but companies today keep everything that might even hint of being worth something someday, and working source code with 10 years' worth of updates is worth millions.


Separate from that, there was also a database that contained the server state.  Basically, the player data.  What characters exist on the server and what those characters state is.  Without that data, which is completely separate from the game engine and the game content, you can't restore player characters to their state prior to the shutdown.

And I guarantee you that that data is also stored as well.  There's not a company in existence today that doesn't understand the worth of such data.  There are lots of companies whose sole value is such data.  If nothing else, their legal department will force them to keep the data around at least a decade or so purely for legal reasons in case they're sued over something.  There's not a snowball's chance in hell that their corporate lawyers would risk someone else having screenshots, chat logs, or other documented evidence of something that the company itself couldn't provide with additional context.

But aside from that, like I said, the main reason is because data is worth a lot of money.

FloatingFatMan

  • An Offal
  • Elite Boss
  • *****
  • Posts: 1,178
  • Kheldian's Forever!
Re: Ridiculous Question
« Reply #78 on: April 02, 2015, 05:44:44 AM »
Kudo it all you want. I still won't have any. I guess that'll just leave more for you.  ;)

By the way, I just got through watching that movie you stared in. Did that worm ever suffer any side effects after eating you?

Oh man, I tell you. I stopped that bugger up for MONTHS! :p

FloatingFatMan

  • An Offal
  • Elite Boss
  • *****
  • Posts: 1,178
  • Kheldian's Forever!
Re: Ridiculous Question
« Reply #79 on: April 02, 2015, 05:59:10 AM »
I'm going to have to back Tony on this one.  I'm a SQL Server Developer DBA, and I could reverse engineer all of the tables my stored procedures reference just by going through them.  It would be tedious as hell, but I've actually done it for a few missing/deleted old tables on occasion by looking at the SQL statements that referenced them.

I concur too. As professional developer, reverse engineering horribly complex code and DB schema is just a part of your everyday skillset.  Boring as hell, time consuming, but not especially difficult to anyone competent at their job.