Author Topic: New efforts!  (Read 7321665 times)

Taceus Jiwede

  • Time Traveler
  • Elite Boss
  • *****
  • Posts: 978
Re: New efforts!
« Reply #24500 on: May 13, 2016, 11:00:51 PM »
Also, adding to what Arcana said about RE'ing: MMO code, especially after years of development is always spaghetti code. That makes reverse-engineering 10x harder than it would be with a standalone piece of software that was written with all of the objectives known beforehand. MMO's are constantly evolving. New content gets added. Entirely new systems get shoehorned into code that was never designed to support it. The capes alone took an insane amount of hacking on the part of the devs. Eventually you end up with layers upon layers of code and what was once pretty streamlined begins to turn into a Frankenstein monster.

Mmmm. Spaghetti:)

Quote
I coded on part of an emulator for a long time. And the part I worked on had thousands of lines of code, and it was ONLY THE ADD-ONS to the real emulator core. The real core had many more thousands of lines, as I saw on occasion when I had unfortunate reason to have to look at the guts/core of the emulator in order to see why it was acting in some particular fashion. I can tell you that it took many coders several years to create that emulator...

... and that was ULTIMA ONLINE. It was SIMPLE compared to CoH. The amount of work in that emulator would scare any knowledgeable programmer, and I doubt that it was a quarter of the size that a CoH emulator would have to be. I think it was at least a tenth, but probably not a quarter. And, as I said, take the 20-40 thousand of lines of code that were in our custom packages, multiply that by several times... and you have the UO emulator (or one of them, at least, as there were several). Then, multiply that again by at least 4 times, and you get the CoH emulator.

Who is going to join into that kind of work, just for kicks? And knowing that they may face legal issues at the end? I mean, there are probably ways around it if you start the project from the beginning with the expectation that you want to try to hide IP addresses and such, but it's still a risk that you're taking. And you know what you could do instead? Just write up a game with the same amount of code, base the concepts on CoH, but use your own design and a more modern engine. And you could even profit from that, maybe, and with no worries about litigation.

Basically, why work on a City of Heroes emulator in the shadows, instead of creating City of Titans without restrictions?

Where you using one of the big ones? I believe they were Sphere and UOX.

Felderburg

  • Ask me how I got this title!
  • Elite Boss
  • *****
  • Posts: 1,615
  • Personal text? What's that?
Re: New efforts!
« Reply #24501 on: May 13, 2016, 11:08:09 PM »
Because when the server gets shut down all my progress would be lost. New server boots up and I start ALL over. My favorite aspects of the game were the long term goals, like collecting badges, saving up for expensive builds, stuff like that. I would never be able to log into one of these servers and take it seriously, or find a way to care, knowing it would all disappear within a few months. That would, at best, be a poor imitation of the game, there only to remind us of what we had lost and rub it in our faces. It would be like reliving the emotions of the shut down over and over and over.

Well, ideally, an emulator with advance knowledge that this would happen would put something like Sentinel into place, to save progress.

Quote from: Noyjitat
Getting a cease and desist doesn't mean you got sued or are going to get sued.
...
second in the event you actually do get a cease and desist (which isn't going to happen, if they really cared the game deal would of been a yes or no by now) you backup and move all the data and progress elsewhere to a new host or mac id and resurrect under a new name. The big emulators usually collapse but the smaller ones (cohemu ---> Segs) unlucky enough to get caught do this until the project is ready.

But if someone gets a cease and desist, it means that the big company with resources like money and lawyers knows that someone's address, and can bring those resources to bear on that someone. Maybe NCsoft doesn't care enough to actually sue someone, as long as they stop hosting the (still nonexistent) emulator. But I think you're one of a very few that would be willing to take that risk.

moderation note:  slight edit made during thread cleanup - eabrace
« Last Edit: May 13, 2016, 11:38:03 PM by eabrace »
I used CIT before they even joined the Titan network! But then I left for a long ol' time, and came back. Now I edit the wiki.

I'm working on sorting the Lore AMAs so that questions are easily found and linked: http://paragonwiki.com/wiki/Lore_AMA/Sorted Tell me what you think!

Pinnacle: The only server that faceplants before a fight! Member of the Pinnacle RP Congress (People's Elf of the CCCP); formerly @The Holy Flame

Tahquitz

  • Titan Staff
  • Elite Boss
  • ****
  • Posts: 1,858
Re: New efforts!
« Reply #24502 on: May 13, 2016, 11:10:20 PM »
Basically, why work on a City of Heroes emulator in the shadows, instead of creating City of Titans without restrictions?

This. Exactly this.  If we can't #SaveCOH above the table, then we can at least try to save ourselves. This is the best way to ensure that the work involved in bringing a game to life isn't lost easily.  "Bring back City of Heroes" at any price means we'll have it taken away again, and possibly lose more.  I'm not going to get behind that sentiment, myself.

And it's okay if folks don't like Plan Z (any of the proposals) because there's nothing wrong with that.  Same goes for people who aren't interested in Champions, Marvel, DC's or other studio's attempts to placate us (actively or passively).  You choose how you move on.  I can't speak for anyone else, but I'm not trying to sell people on any of it.  Do whatever you feel.
"Work is love made visible." -- Khalil Gibran

TimtheEnchanter

  • Elite Boss
  • *****
  • Posts: 1,466
  • There are some who call me... Tim?
Re: New efforts!
« Reply #24503 on: May 13, 2016, 11:50:19 PM »
But if someone gets a cease and desist, it means that the big company with resources like money and lawyers knows that someone's address, and can bring those resources to bear on that someone. Maybe NCsoft doesn't care enough to actually sue someone, as long as they stop hosting the (still nonexistent) emulator. But I think you're one of a very few that would be willing to take that risk.

Also sadly, innocent until proven guilty works in reverse when it comes to lawsuits. Even if you've done nothing wrong, it's entirely dependent upon how thick your wallet is. That is impossible when you're dealing with multi-billion dollar companies who have full-time lawyers on staff. Some businesses actually exist for the sole purpose of threatening individuals with frivolous lawsuits and then collecting money on out-of-court settlements. The very notion of Fair-Use is a joke because it doesn't protect you from the cost of court-proceedings. Even when they have no case to stand on, you can't afford to prove it.

Serena

  • Underling
  • *
  • Posts: 17
Re: New efforts!
« Reply #24504 on: May 14, 2016, 12:24:55 AM »
HOW TO MAKE AN EMULATOR

1) Complain that there's no emulator
2) Demand that someone else make an emulator
3) ????
4) Profit!

A whole lot of people seem to believe that there's some sort of magical, Universal Emulator Toolkit in the world and that "making an emulator" involves little more than wishing for there to be one.

You see this a lot on the Facebook groups.

"Why doesn't someone just make an emulator? It must be that they're afraid of something. Well, I've spent a half-hour googling this and I give you my personal assurance that nothing bad will happen, so somebody make an emulator already.
Tbh if someone had made a plan b from day one and started on emulation we might atleast have dueling in arenas by now. Every mmo Ive played to date has atleast a few private servers yet cox has none because noboby has tried since issue 3. Atleast nobody has made it publically known. Which they will have tonat some point for server stress testing.
You have not, because you try not.

LadyVamp

  • Elite Boss
  • *****
  • Posts: 539
Re: New efforts!
« Reply #24505 on: May 14, 2016, 01:05:02 AM »
It is easy to get distracted into thinking the problem with Iron Man is to protect the suit.  If the suit survives the guy inside also does.  Or to assume the guy inside is like a solid block of wood: as long as the guy inside doesn't move around too much, it will also be fine.


1st.  Glad to hear you survived.  Hope the driver was prosecuted unless it was a genuine accident.  (almost all "accidents" are not)

2nd.  I wasn't offering the solution or even a solution.  Simply this.  Any solution that would keep a person alive would likely involve a complicated setup of multiple, redundant systems unless we're talking very low speed crashes when the 2 masses are significantly different.  Each system itself likely won't keep the person alive but together they do.  Failure of too many such systems would mean death.  But in all honesty, Iron Man is a comic book hero.  Real world physics often do not apply.  I'm sure you don't believe hyperdrive is possible yet likely don't sit in the theatre fuming about the millennium falcon using it for light or faster than light speed travel.  I sure don't let that stop my enjoyment of the movie.

No Surrender!

LadyVamp

  • Elite Boss
  • *****
  • Posts: 539
Re: New efforts!
« Reply #24506 on: May 14, 2016, 01:08:43 AM »
I don't remember that particular episode, but you get bonus points for referencing one of the greatest shows on TV....

I wish they'd bring it back.  It was entertaining and quite informative.  If I remember right, the winning team surrounded their "brain", which was an ostrich egg, with a lot of mayo.  Also, they used small cars as the body of the simulated rams.
No Surrender!

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #24507 on: May 14, 2016, 01:09:00 AM »
Also, adding to what Arcana said about RE'ing: MMO code, especially after years of development is always spaghetti code. That makes reverse-engineering 10x harder than it would be with a standalone piece of software that was written with all of the objectives known beforehand. MMO's are constantly evolving. New content gets added. Entirely new systems get shoehorned into code that was never designed to support it. The capes alone took an insane amount of hacking on the part of the devs. Eventually you end up with layers upon layers of code and what was once pretty streamlined begins to turn into a Frankenstein monster.

I seem to have hallucinated a post again: time to double check my meds.  :p

How badly a project is implemented in software usually does not affect how easy or hard it is to reverse engineer it.  You don't need to replicate bad source code because you are only trying to reproduce its results, not its implementation details.

But what can make life difficult is that City of Heroes' actual feature set, in specific detailed terms, evolved over time.  That means what the engine did, in terms of every single flag and every single bit and every single field and expression, was actually pretty huge.  Powers can have hundreds of little settings that determine how an effect worked, how resistances worked on it, how combat modifiers worked or didn't work, what the area of effect was, how the timing of the effect occurred, etc.  How enhancements and buffs affected the power had flags and override flags and flags the overrode the flags that overrode buffs.  Whether the engine implemented these features with well documented and structured code of a bunch of spaghetti loops isn't particularly problematic, but understanding how each and every bit of game engine features worked, each feature being added to the game over time in a way that affected and interacted with other existing features, can itself be a very complex problem to work out.

eabrace

  • Titan Moderator
  • Elite Boss
  • *****
  • Posts: 4,293
Re: New efforts!
« Reply #24508 on: May 14, 2016, 01:21:43 AM »
I seem to have hallucinated a post again: time to double check my meds.  :p
The forum gnomes ate it.

Titan Twitter broadcasting at 5.000 mWh and growing.
Titan Facebook

Paragon Wiki admin
I was once being interviewed by Barbara Walters...In between two of the segments she asked me..."But what would you do if the doctor gave you only six months to live?" I said, "Type faster." - Isaac Asimov

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #24509 on: May 14, 2016, 01:31:28 AM »
1st.  Glad to hear you survived.  Hope the driver was prosecuted unless it was a genuine accident.  (almost all "accidents" are not)

I think the driver was inattentive, but it was also a genuine accident.  And I learned something that affects my driving today.  To explain, imagine you're at a red light waiting to turn left.  Now look to your left.  In most cars there's an obstruction in your field of view: where the door frame meets the cabin frame at the left edge of your windshield.  Basically there's an inch or two of metal blocking your view.  In most intersections it is actually blocking a spot roughly corresponding to about one third of the way across the crosswalk to your left depending on the location of the driver's seat.  If someone crosses the street walking towards you, they will walk from within your field of view into that obstruction, and then back out to the line of sight corresponding to looking out of the driver's side window.

Now imagine you were not paying attention when the light turned green and someone walked into that blind spot while you were still sitting at the intersection.  Now you notice the light is green and start turning left.  Initially you're going to move forward and then turn to the left.  And while executing that turn, I've discovered that the blind spot can actually continue to cover a person walking across the cross walk.  There's a magic configuration of intersection width, crosswalk location, pedestrian speed, driver's seat location, and turning speed that can cause someone that enters that blind spot to stay invisible until the car gets significantly into the turn, and is moving at appreciable speed.  You then have only about a second and a half to recognize someone is there and either stop or avoid hitting them.

I actually conducted this experiment in my own car in that same intersection over and over again to try to figure out what was going on from the driver's perspective.  From the direction they were traveling the car was heading uphill.  I was walking downhill.  To make the turn you have to gun the engine from a standstill and I noticed that I was moving in excess of 15 miles per hour as I crossed the crosswalk making that turn.  I also watched the ground and noticed that the part of the ground in my blindspot stayed roughly in my blindspot during a significant percentage of the turn.  So I think what happened was that the driver was at the intersection, failed to notice the light turn green, failed to notice me starting to cross the intersection, realized the light was green, looked left, saw no one in the cross walk, gunned the engine, saw me as they were turning, hit the brakes, and plowed through me as they were braking.

I drive differently now.  When I make left turns I shift myself in my seat to "clear" that blind spot every time, whether I am initially stopped at intersections or driving with traffic, even when I am following others through that turn.  It kinda looks funny when passengers see me do it, because it kind of looks like I'm trying to clean the driver's seat with my own ass.  But I will continue to do that until the day I can't drive anymore.  Just because it was his mistake, doesn't mean I can't learn from it.

Yes, even when someone hits me with a car and puts me in the emergency room, one of my first thoughts is "I wonder if this is a reproducible bug."

Ulysses Dare

  • Boss
  • ****
  • Posts: 103
Re: New efforts!
« Reply #24510 on: May 14, 2016, 02:31:34 AM »
Yes, even when someone hits me with a car and puts me in the emergency room, one of my first thoughts is "I wonder if this is a reproducible bug."
Congratulations, you got me to laugh at your misfortune. One of us is clearly a terrible person. ;)

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: New efforts!
« Reply #24511 on: May 14, 2016, 05:12:57 AM »
How badly a project is implemented in software usually does not affect how easy or hard it is to reverse engineer it.  You don't need to replicate bad source code because you are only trying to reproduce its results, not its implementation details.

Unless parts of the design are bad enough that producing the correct results can only be done by replicating the implementation details (or going WAY out of the way to simulate them).

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: New efforts!
« Reply #24512 on: May 14, 2016, 05:28:04 AM »
Atleast nobody has made it publically known.

Just out of curiosity, if people were working on something but it was not yet finished, with no definite ETA, and no guarantee of completion, what would be the benefit of making it publicly known? I can think of a lot of downsides but no real upside.

'Stress testing' isn't something that really needs to be done for in order to make something feature complete; that can always be optimized afterward.

Taceus Jiwede

  • Time Traveler
  • Elite Boss
  • *****
  • Posts: 978
Re: New efforts!
« Reply #24513 on: May 14, 2016, 06:35:59 AM »
Just out of curiosity, if people were working on something but it was not yet finished, with no definite ETA, and no guarantee of completion, what would be the benefit of making it publicly known? I can think of a lot of downsides but no real upside.

'Stress testing' isn't something that really needs to be done for in order to make something feature complete; that can always be optimized afterward.

What you mean you don't want people projecting their expectations of what they want on to you?  Hounding you for news about your personal project, getting angry when you are silent or when you express the wrong thing.  Let's see....oh!  You can also have your worked judged as either inferior or lazy when you fail to reach the exact results people want in the time frame they expect them.  You really want to pass all that up?  That's what being a game developer is all about.  But you can get all that sweet dev luxury minus the income of a steady job and while also facing possible legal repercussions.

Serena

  • Underling
  • *
  • Posts: 17
Re: New efforts!
« Reply #24514 on: May 14, 2016, 07:22:38 AM »
'Stress testing' isn't something that really needs to be done for in order to make something feature complete; that can always be optimized afterward.
The worst bugs and stability don't show up until many players are playing the content and collecting stuff simultaneously. Something you cant properly test with a few people.
You have not, because you try not.

Azrael

  • Elite Boss
  • *****
  • Posts: 666
Re: New efforts!
« Reply #24515 on: May 14, 2016, 11:05:32 AM »
Just out of curiosity, if people were working on something but it was not yet finished, with no definite ETA, and no guarantee of completion, what would be the benefit of making it publicly known? I can think of a lot of downsides but no real upside.

'Stress testing' isn't something that really needs to be done for in order to make something feature complete; that can always be optimized afterward.

Discretion is the better part of valour.  No matter how long it takes.

Or...

'Slowly, slowly catch a monkey.'

Azrael.

slickriptide

  • Elite Boss
  • *****
  • Posts: 356
Re: New efforts!
« Reply #24516 on: May 14, 2016, 11:18:48 AM »
The worst bugs and stability don't show up until many players are playing the content and collecting stuff simultaneously. Something you cant properly test with a few people.

Stress testing is the very last thing you do, when you have basically finished your project in all other respects. Blizzard recently had a "open beta" weekend for Overwatch and reportedly had nine million players. The game is scheduled to launch at the end of the month.

You didn't see them "stress testing" like that a year ago or two years ago. It would have been pointless. They carefully controlled the numbers of closed beta players in the meantime.If they wanted to "stress" a system they did it in a controlled manner and used simulated stress as much as real stress.

"Stress test" is not some synonym for "someone with an emulator in development should let me play with it now no matter what its condition".


Azrael

  • Elite Boss
  • *****
  • Posts: 666
Re: New efforts!
« Reply #24517 on: May 14, 2016, 11:39:26 AM »
Quote
By in large I think we, meaning the quant community of City of Heroes, did a good job with the numbers in general, and I think we were better than average among MMO communities (actually far above average from what I've seen).  But where I think we were still learning, and even I was still evolving my techniques, and where I think the entire rest of the MMO community is basically nowhere on, is what I would call the computational psychology of gameplay.  In other words, the study of how the players perceived and used the numbers of the game, separate from what they were.  I think that's an underappreciated field of video game design.  If the game was still around, I'm pretty sure most of my efforts today would be in building that space.

I was initially 'blind' to the subtleties of the game.  Blasters (or energy blasters...) aren't that subtle.  But getting a 'good' duo of complimentary talents or a team of 5 players (my preference...) 'hi-fi' with some 'tank', some 'control', some 'defender' and some 'scrap' and some 'blast' capability sounds obvious but the fidelity of those arrangements in CoH, to me, far outstripped those in other MMOs I've experienced.

Just on the healing issue.  Teams in the early days, would often get a healer on board ramp up the difficulty and bemoan the healer wasn't doing their job when put in 'edge' case success or collapse opposition mob scenarios.  Often 'we need two(!) healers' just in case...' and it was the same 'insurance.'

...as opposed to 'not getting hit' in the first place.  I remember a dark, dark saying to me.  'See those numbers?'  I said, '...yes...'  'That's how much you're not getting hit...'  My earliest recollection of the subtlety of not 'needing a healer.'

A remember my first obvious team without a 'tank.'  With 'Controller' as 'inverse' tank.  I watched as a mass brawl broke out in a mob..., 'Er...they're attacking (mobs) each other...'  'Yes.  Tanks aren't always necessary...you can get by without one...'

TF with AVs...  I remember being on one too many AV TFs/missions where an 8 man team of testosterone (Tanks, Blasters, scrappers...) would be hammer the (fill in blank...) out of an AV and after half an hour wondering 'why' the AV's health bar hadn't moved.  Despite warnings that 'maybe' a Radiation defender might be useful.  Too subtle I guess...

It wasn't until I got back into defenders with my Dark, Dark or played a Sonic (defender and blaster...) or a dual 'duo' Force Field defender (to L47...) with Radiation (for my Duo partner) and me with Energy that we saw the insidious nature of 'numbers.'  Radiation allowed energy to have more impact from the battles I recall.  So my partner would pull aggro, soften them up...and pull them ('tank-lite' like...) and bring them back to me...our FFs would overlap again and we'd 'jump' them.

Sonic blast.  'Butter.'  Radiation.  Weakening.  Sure.  I looked at the 'numbers' but I was more concerned with the fidelity of the affects.  (Though I did keep a numbers 'patch' on my screen for my Defence capped Brute to see how rage inspires spiked damage...and a few other things...like my def' numbers to see if I'd turned on all my toggles... :P)

It wasn't until I'd done a few IO builds, some elegant, some brute force, some 'defence' some 'resistance' based...that I saw I began to see how numbers worked.  Or in my Dominator defence at 35% defence (couldn't cap it because I didn't want to hack up the power sets.  I wanted all the powers, inc' the patrons...) but I did get perma Hasten (at last) ((and perma Domi(!) ...)) since it was cruelly 'disrobed' from my Energy/Energy blaster in issue 4.

Numbers in CoH created different effects.  In the early days.  It was in terms of the obvious 'need a healer' on my team or '5 slotting' damage on my En/En pre-issue 4.  Healing took time to activate and regen was brittle or 'soft' and when it collapsed on 8 man pivot 'this is how we roll' teams it...sure it.  'Collapse.'  5 slot damage, likewise was a waste of time if you couldn't hit.  Acc and Dam were a waste of time if you couldn't hit anything because you were out of 'gas.'  i.e. on floor with your tongue out waiting for endurance.  So often I would double acc/double dam and double end (on key 'end suckers...') on many builds.  Before I got into 'IO' builds this allowed me to 'hit more often,' 'do most' of my damage potentially and 'keep running' without running out of end.  In the early game, I would even con or blues and green.  I seemed to make more progress than 'knife edge' battles with yellows or oranges with took longer.  (Though I would often try the impossible in Steel.  It wasn't always about as many mobs as fast as I could.  I'd try the + challenges and the x challenges.)

...but...by the end.  Playing a dark/dark Defender (a really unusual and underrated set...even my Duo-buddy never rolled it.  Surprising given his propensity for 'cleverness' or builds...) was so subtle.  Like a spider weaving a web in a dark place.  The art of not getting hit.  Layer upon layer of insidious darkness.  To lock down an 8 mobbish in Bricktown of oranges and some reds.  (...and it took patience.  It worked great until you got mezzed... ;o )

...and then you'd get a scrapper come along and do it much quicker.  Which could be frustrating.  I didn't get my Dark/Dark to L50.  Shame.  It required patience.  (Right along with the Warshade.  Which 'slotting' a tri-build was a...challenge.  And I know which I'd tried to get my PB perma 'unstoppable' with a knock down res.) 

...but then you could have a brute, Dark/Energy that could be the 'eye of the tornado' not getting hit at all...  You Debuff 'their' accuracy so they can't hit you...and...you work up your defence in the energy shields so 'you' ...'can't be hit.'

It was very different from a fire/wp brute who could stand on a burn patch with the 'I win' button.

I remember being vexed that dark/energy was elegant but fire/wp was 'Simpons at the dinner table...'

So, yes.  There was psychology in the numbers and how players perceived them and used them.  From the beginning of CoH until its untimely demise.

Azrael.
« Last Edit: May 14, 2016, 11:50:51 AM by Azrael »

Serena

  • Underling
  • *
  • Posts: 17
Re: New efforts!
« Reply #24518 on: May 14, 2016, 02:28:59 PM »

"Stress test" is not some synonym for "someone with an emulator in development should let me play with it now no matter what its condition".
What exactly is your problem anyway? Are you purposely trying to be confrontational or what? You seem to just explode with rage and sarcasm on anyone even talking about emulators.... Where did I or anyone say let me play your emulator regardless of its condition. I'm looking for it but I don't see it anywhere.
You have not, because you try not.

slickriptide

  • Elite Boss
  • *****
  • Posts: 356
Re: New efforts!
« Reply #24519 on: May 14, 2016, 02:41:17 PM »
What exactly is your problem anyway? Are you purposely trying to be confrontational or what? You seem to just explode with rage and sarcasm on anyone even talking about emulators.... Where did I or anyone say let me play your emulator regardless of its condition. I'm looking for it but I don't see it anywhere.

Explode with rage? I think you're projecting just a bit, unless you can point out to me where this supposed emotion is appearing in anything I've said.

You have my apologies for unfairly characterizing your concern for proper testing of a theoretical  emulator as some kind of plea to make it available to the general public. It's quite true that you didn't actually ask for that.