Author Topic: Something I can do?  (Read 2383 times)

System Bridger

  • Underling
  • *
  • Posts: 6
  • Software Engineer
Something I can do?
« on: August 02, 2016, 10:24:59 AM »
Well, recently, I got hit by nostalgia about City of Heroes. So I decided to go check if there's been any efforts to revive it, and found Paragon Chat. In there, I recreated my very first hero (whoohoo), and logged on a couple of times, although I haven't found a lot of people talking there yet. (Then again, I was never a particularly outgoing person, even in game. Fortunately, the Looking For Team option meant I didn't have to actively contact people myself!)

Anyway, Paragon Chat seems to be pretty good work. But of course, there's still some ways to go...

So, I'm a software engineer, and I've been told I'm a fairly good one. I used to work for TransGaming Technologies (so I guess I know a thing or two about that Cider thing that was used to run CoH on Mac). Thus, I also have a fair bit of experience in reverse engineering.

Given how much I miss CoH right now, I'd probably be willing to spend some time helping out with any CoH community projects that could use someone like me. So, would there be anywhere I could lend a hand?

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Something I can do?
« Reply #1 on: August 02, 2016, 03:52:44 PM »
TL;DR: It depends. That's one helluva loaded question.

I get asked from time to time by people who want to help out with Paragon Chat. And while that's great and I really appreciate it; it's an extremely complex project that demands in-depth knowledge of how the internals of a rather unique design work, plus the low-level programming skills to make use of it. People who haven't been working on it from the start (and in many cases for years before shutdown even) have a hard time adapting and the track record isn't good. I end up spending more time answering questions than getting useful work done. That's doubly bad if they then lose interest or otherwise disappear.

What's really needed are self-starters who can play catch-up on their own, learn the concepts and specifics that took years to decipher, and - when they're ready - be able to integrate those into the whole without a lot of guidance.

I realize that part of that is a chicken and the egg program. There really aren't any community resources detailing how any of this stuff works. Everyone has their own toolset and accumulated knowledge, and there's no clear picture anywhere of how it all fits together except in a few people's heads. Those people can't afford to drop everything for the months or longer it would take to organize it all. Some of the RE stuff is borderline and while it's probably defensible, a number of developers involved with the project are skittish about being targeted by nuisance lawsuits. I don't have an easy way to fix that.

So, just throwing ideas out here, one way a project manager or engineer type who doesn't have any COH-specific experience yet could contribute is by organizing a community project to gather and document all these disparate sources. I'm talking things like file formats and general "this is how the engine works" knowledge, organized in some way. Maybe produce a standard toolset for manipulating game data. That might help other people who want to contribute get up to speed without being a drain on resources.

Make no mistake, that's a huge project. If somebody puts one together I am certainly willing to contribute to it where I can, but it's not something I have the free time to run, or provide easy answers to everything.

While I'm here, I'll just go ahead and point out that there are two open source emulator projects out there that were asking for people to contribute. One of them got as far DB login and a partially working mapserver with an old client, but I haven't heard anything from it in a while. The other seems to have committed some authentication code and then never done anything else.

System Bridger

  • Underling
  • *
  • Posts: 6
  • Software Engineer
Re: Something I can do?
« Reply #2 on: August 02, 2016, 07:56:39 PM »
What's really needed are self-starters who can play catch-up on their own, learn the concepts and specifics that took years to decipher, and - when they're ready - be able to integrate those into the whole without a lot of guidance.
That's fine. I've always been good at figuring things out on my own. (Part of why I'm a good software engineer, I suppose.)

So, just throwing ideas out here, one way a project manager or engineer type who doesn't have any COH-specific experience yet could contribute is by organizing a community project to gather and document all these disparate sources. I'm talking things like file formats and general "this is how the engine works" knowledge, organized in some way. Maybe produce a standard toolset for manipulating game data. That might help other people who want to contribute get up to speed without being a drain on resources.
Documenting stuff? Allright, if that's what you want, I could probably do that.

So, should there be a wiki for this kind of information, or would you prefer the information to be shared some other way?

And do you have a suggestion for where to start digging for this kind of information?

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Something I can do?
« Reply #3 on: August 02, 2016, 09:33:37 PM »
That's fine. I've always been good at figuring things out on my own. (Part of why I'm a good software engineer, I suppose.)

Excellent!

Documenting stuff? Allright, if that's what you want, I could probably do that.

Well, it was just a suggestion, since there really isn't anything like that to point people to. We tried starting a wiki for it once and I think all of one article was created. The wiki no longer exists but I saved a PDF of the page. I tossed the idea out there not solely directed at you, but also at anyone who might see this and be interested in running such an undertaking.

If that's not up your alley, I'd say look around a bit and see if anything comes to mind. The biggest way to help is to figure out a way to help and go for it.

So, should there be a wiki for this kind of information, or would you prefer the information to be shared some other way?

That's something that would be up to the organizer and what they think the best method/tools are.

And do you have a suggestion for where to start digging for this kind of information?

It depends where you want to start. Different people have different areas of specialty. I can probably point you in a general direction if someone doesn't beat me to it.

System Bridger

  • Underling
  • *
  • Posts: 6
  • Software Engineer
Re: Something I can do?
« Reply #4 on: August 03, 2016, 04:42:36 AM »
Well, it was just a suggestion, since there really isn't anything like that to point people to. We tried starting a wiki for it once and I think all of one article was created. The wiki no longer exists but I saved a PDF of the page. I tossed the idea out there not solely directed at you, but also at anyone who might see this and be interested in running such an undertaking.

If that's not up your alley, I'd say look around a bit and see if anything comes to mind. The biggest way to help is to figure out a way to help and go for it.
No, no, documenting stuff is a good idea, especially for a reverse engineering project, and certainly a good start. It's also a low-risk thing, since even if I vanish for some reason, the documentation will still be useful to you. I'm up for it. (And I suppose I might even end up doing some cool stuff in the process.)

But, unless you want me to reverse engineer everything myself, I'll of course need access to whatever information that exists and needs documenting, in whatever form it exists. (I'm guessing it'll mostly be as source code, which is fine.)

I suppose there's the PiggViewer code to study, and perhaps those dead open source projects you mentioned, but I'm sure there's more information than that available in this community. But well, I suppose I can at least start with the Piggs?

That's something that would be up to the organizer and what they think the best method/tools are.
I'm fine with a wiki, I just thought perhaps people might think that would be too risky or something. But if I want a wiki, can it be hosted by the Titan Network, or should I provide my own hosting? Does it need strict access restrictions?

But yeah, if I get that existing page you mentioned, and get pointed at stuff that needs documenting, and I get a wiki I can do it on, I'll be set, I think.

Thanks!