Author Topic: New efforts!  (Read 7292023 times)

Nyx Nought Nothing

  • New Efforts # 11,000!
  • Elite Boss
  • *****
  • Posts: 796
  • Ha!
Re: New efforts!
« Reply #28060 on: November 01, 2017, 12:58:22 AM »
Happy Halloween, folks.  People should dress as their characters today.  :)

Granted, I cannot, as I must go get ready to work teaching English and cannot show up in a Santa suit. . . .
i do not possess enough bodies in the varied configurations required to do that. Well, one or two i could come close if i had a bigger budget for various prostheses... Perhaps in a decade or two.
So far so good. Onward and upward!

LateNights

  • Elite Boss
  • *****
  • Posts: 388
Re: New efforts!
« Reply #28061 on: November 01, 2017, 09:23:44 AM »
To clarify...

So while interesting, it isn't really relevant to the current discussion, which seems to be people randomly speculating about why someone else hasn't created something for them.

Facts schmacts!!

 ;D

Tubbius

  • Fun Title
  • Elite Boss
  • *****
  • Posts: 605
Re: New efforts!
« Reply #28062 on: November 01, 2017, 10:57:33 AM »
Tubbius is about to go teach another class on research papers.

Vee

  • Elite Boss
  • *****
  • Posts: 2,376
Re: New efforts!
« Reply #28063 on: November 01, 2017, 11:02:38 AM »
Don't forget the bit about how you should always plagiarize from the first google result.

Brigadine

  • Elite Boss
  • *****
  • Posts: 561
Re: New efforts!
« Reply #28064 on: November 01, 2017, 07:49:48 PM »
Facts schmacts!!

 ;D
I reject your reality and substitute my own!

Angel Phoenix77

  • Elite Boss
  • *****
  • Posts: 1,136
  • I am Phoenix !!
Re: New efforts!
« Reply #28065 on: November 01, 2017, 08:27:16 PM »
I reject your reality and substitute my own!
And with that you activated my trap card.
One day the Phoenix will rise again.

Paragon Avenger

  • Circles and Triangles
  • Elite Boss
  • *
  • Posts: 6,246
Re: New efforts!
« Reply #28066 on: November 02, 2017, 08:39:12 PM »
Tubbius is about to go teach another class on research papers.

So the class is how to read research papers?
So the class is about what research papers are?
Or is the class about what to do when a professor assigns a research paper?

I get it, Tubbius is kind of short, so he stands on research papers to give himself that towering-over-his-students feeling.

Tubbius

  • Fun Title
  • Elite Boss
  • *****
  • Posts: 605
Re: New efforts!
« Reply #28067 on: November 03, 2017, 03:30:21 AM »
So the class is how to read research papers?
So the class is about what research papers are?
Or is the class about what to do when a professor assigns a research paper?

I get it, Tubbius is kind of short, so he stands on research papers to give himself that towering-over-his-students feeling.

Funny, you.  :)

All of the above.

Including that last one!  :)

LateNights

  • Elite Boss
  • *****
  • Posts: 388
Re: New efforts!
« Reply #28068 on: November 03, 2017, 08:36:21 AM »
Funny, you.  :)

All of the above.

Including that last one!  :)

"Sock, Kapow, Biffo!!"
 - Batman : 1960's Tv Series

 :P

Did I pass Sir?

Tubbius

  • Fun Title
  • Elite Boss
  • *****
  • Posts: 605
Re: New efforts!
« Reply #28069 on: November 03, 2017, 01:39:06 PM »
"Sock, Kapow, Biffo!!"
 - Batman : 1960's Tv Series

 :P

Did I pass Sir?

Mmmmmm.  Ok!

:)

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #28070 on: November 03, 2017, 10:29:30 PM »
Well, being that we don't have the server code, it wouldn't matter if it were a mess.  To emulate it, you'd have to start from scratch, basically seeing what the client sends and trying to figure out what needs to be sent in response.  It's still a monumental amount of work.

To amplify what Codewalker said, I need to point out that no amount of C++ classes and working on that thing at work that does that other thing really helps you understand how MMOs work in general and how City of Heroes works in particular.  This should be a mantra.  Once you have that repeating in a loop in the back of your mind, gnaw on this for a while: the CoH client isn't a "dumb" client: Paragon Chat itself demonstrates this.  It would be an oversimplification but an illustrative one to say that the CoH client is 25% client and 75% server, while the game servers were 75% server and 25% metaserver.

If that doesn't make sense, imagine City of Heroes was composed of three components.  One part was the human interface that took input from the users and displayed output in various ways.  One part was the "laws of physics" that controlled how the game world worked.  And one part was the "script" that was like the hand of God putting pieces on the board and telling them what to do.  The game server had the last two pieces.  The game client has the first two pieces.  They share the second piece so that the game client and the game server both have some idea of what is going on in the world, and try to keep them in sync.

The game client knows that there's a wall over there, so you can't run through it.  The game server knows there's a wall over there, so it knows you won't run through it.  The game client knows what the player is trying to do, and predicts what is likely to happen next throughout the world.  The game server knows what is going to happen next throughout the world and predicts what the player is likely to do next.  They try to stay in sync, and when they fall out of sync you get rubberbanding.

This critical overlap part of the software governs a lot of rules about how the world works, and makes it extremely tricky to replace either one with something else.  Both the game client and the game server have a "mental model" of how the world works, and any attempt to replace the game servers with something else the client will work with (or hypothetically to replace the game client with something else that would work with the servers) must be able to exactly replicate that mental model, warts and all, or the whole thing won't work right.

90% of all the issues with Codewalker developing Paragon Chat are likely explicitly attempting to make Paragon Chat "understand" this "mental model" that is built into the client and anything that talks to the client must obey.  This is what I would refer to on the official forums as a "non-trivial problem."

So you do not need to replicate the strangeness in the literal code of the game servers if you are writing them from scratch.  But you must somehow replicate the weirdness they implemented, at least in all of the parts of the game that exist within the "mental model" part of the code.  Like, for example, how to get the client to believe an entity should "con red."  It apparently isn't about setting the "display name in red" flag.  It is about convincing the client's mental model of the world that that entity is something that should show up with a red name so the client does that automatically because it thinks it should.

There's an analogy from the world of biology.  At one time, people thought that the neurons of the brain activated by either triggering a signal or not triggering a signal.  We now know that is not how neurons work.  They work by constantly sending signals and it is the *rate* of firing that determines whether they will trigger a neighboring neuron to fire.  It isn't off/on, it is bang-bang or bang-bang-bang-bang.

My understanding is that some of CoH was static: you set this or you unset that.  But some of it was dynamic: you have to send this every second to make this happen, or constantly set that to prevent this from happening.  And sometimes which way it works depends on the mood of the original programmer when they wrote the code.  You can't just look at what the client sends and try to figure out what the correct response is because the communications between client and server are way more dynamic than that.

nemerle

  • Minion
  • **
  • Posts: 42
Re: New efforts!
« Reply #28071 on: November 03, 2017, 11:20:52 PM »
As a teeny-tiny insight into the Server<->Client binding of logic and state:
This was the story behind resolving grand-grand-grand-...-daddy of the issue CodeWalker mentioned earlier.

Brigadine

  • Elite Boss
  • *****
  • Posts: 561
Re: New efforts!
« Reply #28072 on: November 04, 2017, 12:30:58 AM »
To amplify what Codewalker said, I need to point out that no amount of C++ classes and working on that thing at work that does that other thing really helps you understand how MMOs work in general and how City of Heroes works in particular.  This should be a mantra.  Once you have that repeating in a loop in the back of your mind, gnaw on this for a while: the CoH client isn't a "dumb" client: Paragon Chat itself demonstrates this.  It would be an oversimplification but an illustrative one to say that the CoH client is 25% client and 75% server, while the game servers were 75% server and 25% metaserver.

If that doesn't make sense, imagine City of Heroes was composed of three components.  One part was the human interface that took input from the users and displayed output in various ways.  One part was the "laws of physics" that controlled how the game world worked.  And one part was the "script" that was like the hand of God putting pieces on the board and telling them what to do.  The game server had the last two pieces.  The game client has the first two pieces.  They share the second piece so that the game client and the game server both have some idea of what is going on in the world, and try to keep them in sync.

The game client knows that there's a wall over there, so you can't run through it.  The game server knows there's a wall over there, so it knows you won't run through it.  The game client knows what the player is trying to do, and predicts what is likely to happen next throughout the world.  The game server knows what is going to happen next throughout the world and predicts what the player is likely to do next.  They try to stay in sync, and when they fall out of sync you get rubberbanding.

This critical overlap part of the software governs a lot of rules about how the world works, and makes it extremely tricky to replace either one with something else.  Both the game client and the game server have a "mental model" of how the world works, and any attempt to replace the game servers with something else the client will work with (or hypothetically to replace the game client with something else that would work with the servers) must be able to exactly replicate that mental model, warts and all, or the whole thing won't work right.

90% of all the issues with Codewalker developing Paragon Chat are likely explicitly attempting to make Paragon Chat "understand" this "mental model" that is built into the client and anything that talks to the client must obey.  This is what I would refer to on the official forums as a "non-trivial problem."

So you do not need to replicate the strangeness in the literal code of the game servers if you are writing them from scratch.  But you must somehow replicate the weirdness they implemented, at least in all of the parts of the game that exist within the "mental model" part of the code.  Like, for example, how to get the client to believe an entity should "con red."  It apparently isn't about setting the "display name in red" flag.  It is about convincing the client's mental model of the world that that entity is something that should show up with a red name so the client does that automatically because it thinks it should.

There's an analogy from the world of biology.  At one time, people thought that the neurons of the brain activated by either triggering a signal or not triggering a signal.  We now know that is not how neurons work.  They work by constantly sending signals and it is the *rate* of firing that determines whether they will trigger a neighboring neuron to fire.  It isn't off/on, it is bang-bang or bang-bang-bang-bang.

My understanding is that some of CoH was static: you set this or you unset that.  But some of it was dynamic: you have to send this every second to make this happen, or constantly set that to prevent this from happening.  And sometimes which way it works depends on the mood of the original programmer when they wrote the code.  You can't just look at what the client sends and try to figure out what the correct response is because the communications between client and server are way more dynamic than that.
If you master the 5 Ds of Dodgeball no mound of balls on earth can hit you!

Twisted Toon

  • New Efforts # 13,000!
  • Elite Boss
  • *****
  • Posts: 830
Re: New efforts!
« Reply #28073 on: November 04, 2017, 02:48:51 AM »
If you master the 5 Ds of Dodgeball no mound of balls on earth can hit you!
If you can dodge a wrench, you can dodge a ball.
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

Tahquitz

  • Titan Staff
  • Elite Boss
  • ****
  • Posts: 1,858
Re: New efforts!
« Reply #28074 on: November 04, 2017, 04:49:35 AM »
If you master the 5 Ds of Dodgeball no mound of balls on earth can hit you!

Dodge, Dip, Dive, Duck... and, uh, Dodge?
"Work is love made visible." -- Khalil Gibran

LateNights

  • Elite Boss
  • *****
  • Posts: 388
Re: New efforts!
« Reply #28075 on: November 04, 2017, 06:59:55 AM »
To amplify what Codewalker said..

"Blah, blah, blah - millions of dollars worth of someone elses time & effort...blah, blah, blah"

Half-life 3 Confirmed!?!

 ;D
« Last Edit: November 04, 2017, 07:07:05 AM by LateNights »

cat4hurricane

  • Underling
  • *
  • Posts: 3
Re: New efforts!
« Reply #28076 on: November 04, 2017, 01:47:34 PM »

Goddangit

  • Daisy Duke's
  • Elite Boss
  • *****
  • Posts: 260
Re: New efforts!
« Reply #28077 on: November 04, 2017, 07:59:52 PM »
I was quite good at dodge ball because I discovered when that thing hit you it hurt.  :)

Just checking in.  Doing somewhat better.  I was only unemployed for a week before landing a job managing a medical warehouse that also wanted to utilize my k-k00l laser technician skilz.  Except for some rare memory issues, the secondary symptoms are gone.  (Sometimes I can't find a word, which has made me a human thesaurus.)  I still am missing a lot of sensation on my right side.  Weak shoulder and hip, so maybe I should play a Villain exclusively since I limp.  I made the delightful discovery if I get my fingers positioned properly typing is no chore at all.  The trick seems to be in ignoring tactile feedback and what I am doing.  When you sign your name you don't focus on what each muscle is doing to accomplish the task.  Your hand seems to know how to sign your name all on it's own.  Same deal here.  And I'm becoming pretty adept with the mouse again.  I daresay I could act as healer for a team again.  :)

So, now that I'm physically up to it where's the flippin' game!?  :)

Tubbius

  • Fun Title
  • Elite Boss
  • *****
  • Posts: 605
Re: New efforts!
« Reply #28078 on: November 05, 2017, 01:45:15 PM »
Good morning, Titan.  Tubbius is about to waddle away to get ready for church.

Sinistar

  • Elite Boss
  • *****
  • Posts: 1,045
Re: New efforts!
« Reply #28079 on: November 06, 2017, 01:06:21 PM »
At approx 1 hour 48 to 1 hour 49 minutes into THOR Ragnarok, the action scene made me miss my

electric melee/electric armor character and its lightning strike attack and incarnate powers. 
In fearful COH-less days
In Raging COH-less nights
With Strong Hearts Full, we shall UNITE!
When all seems lost in the effort to bring CoH back to life,
Look to Cyberspace, where HOPE burns bright!