Paragon Chat Development Roadmap and Wishlist

Started by Codewalker, July 13, 2015, 04:14:25 PM

Arcana

Quote from: Codewalker on July 16, 2015, 07:31:10 PM
Pedestrians make much more sense to implement entirely clientside. Using a deterministic algorithm with a seed value that can be reasonably synchronized (UTC perhaps?) is probably the simplest route.

That's another possibility, although it requires Paragon Chat itself setting its own clock with NTP or something (most likely with a calculated offset from the hardware clock).  You can't rely on everyone having properly synchronized clocks.  And my spider-sense is tingling on doing it this way.  I don't know why, but something tells me there's a catch I'm not currently seeing.

Void Huntress

Quote from: Arcana on July 16, 2015, 07:45:29 PM
That's another possibility, although it requires Paragon Chat itself setting its own clock with NTP or something (most likely with a calculated offset from the hardware clock).  You can't rely on everyone having properly synchronized clocks.  And my spider-sense is tingling on doing it this way.  I don't know why, but something tells me there's a catch I'm not currently seeing.

I'm flashing back to some of the adventures we had in Planetside back when SpeedStep was a new thing, and some people would be experiencing a subjective reality in which everyone else was moving in slow motion, and everyone else would see that person moving at hyperspeed.

Not that I think this is necessarily a specific problem we'd need to concern ourselves with (timing mechanisms for games have evolved greatly since then, even in the madness pit that is windows timers), but it's the kind of problem this approach makes me think about.

Even with NTP as a reference point, keeping clocks in sync across an unbounded number of users can be exciting.

Noyjitat

Quote from: Void Huntress on July 16, 2015, 09:23:39 PM
I'm flashing back to some of the adventures we had in Planetside back when SpeedStep was a new thing, and some people would be experiencing a subjective reality in which everyone else was moving in slow motion, and everyone else would see that person moving at hyperspeed.

Not that I think this is necessarily a specific problem we'd need to concern ourselves with (timing mechanisms for games have evolved greatly since then, even in the madness pit that is windows timers), but it's the kind of problem this approach makes me think about.

Even with NTP as a reference point, keeping clocks in sync across an unbounded number of users can be exciting.

surgile instagib tripple jackhammer ftw!


Rejolt

Quote from: Codewalker on July 16, 2015, 07:31:10 PM
Pedestrians make much more sense to implement entirely clientside. Using a deterministic algorithm with a seed value that can be reasonably synchronized (UTC perhaps?) is probably the simplest route. However, pedestrians need to have paths precalculated for them, because some zones could have hundreds of pedestrians in them and running realtime pathfinding algorithms for them all seems like a huge waste of CPU. There's also currently no pathfinding at all, so work needs to be done on algorithms to find walkable paths over arbitrary 3D geometry, which is hardly a trivial task.
Quote from: Arcana on July 16, 2015, 07:45:29 PM
That's another possibility, although it requires Paragon Chat itself setting its own clock with NTP or something (most likely with a calculated offset from the hardware clock).  You can't rely on everyone having properly synchronized clocks.  And my spider-sense is tingling on doing it this way.  I don't know why, but something tells me there's a catch I'm not currently seeing.

I want a coffee talk face off of Arcana vs Codewalker. Just pick a programming or coding topic and let them go. I wouldn't understand 90 percent of it but I'd watch. With aspirin handy.
Rejolt Industries LLC is now a thing. Woo!

Codewalker

Quote from: Void Huntress on July 16, 2015, 09:23:39 PM
Even with NTP as a reference point, keeping clocks in sync across an unbounded number of users can be exciting.

Main reason I brought it up in reference to civillians is that for the most part they are background filler. So long as they aren't wildly different, people are unlikely to notice them being a little out of sync. So a reasonable approximation can work for them.

Azrael

Question.

We know the NPC/A.I/combat and walk paths are the most difficult thing to do from the MMO interview...and shouldn't expect that for some considerable time.  That I understand.

But I have an intriguing thought... 

Would it be possible to spawn the NPCs Mobs at their actual CoH spawn points as a GM (or could it theoretically be a capability...) in Paragon Chat.  eg. Trolls in Hollows, Outcasts in Steel etc.  Sure.  They'd be non combat for some considerable time...but like the Easter Egg NPCs and other NPCs (eg. Ms. Liberty...) they'd add to the zone 'atmosphere.'  They could cycle through their actual or random emotes..?

The spawn points are in the actual developer view mode? 

I'd rather that than the walking civilian NPCs at the moment. 

Just wanted to know if this was a possibility and whether it was resource hungry re: Paragon Chat.  (Which seems to do deal ok with the persistent NPCs and the newly inserted Easter Eggs ok...)

Or whether an idea like this could be inserted into the Paragon Chat development Timeline..?

Azrael.


Arcana

Quote from: Azrael on July 17, 2015, 08:37:52 AM
Question.

We know the NPC/A.I/combat and walk paths are the most difficult thing to do from the MMO interview...and shouldn't expect that for some considerable time.  That I understand.

But I have an intriguing thought... 

Would it be possible to spawn the NPCs Mobs at their actual CoH spawn points as a GM (or could it theoretically be a capability...) in Paragon Chat.  eg. Trolls in Hollows, Outcasts in Steel etc.  Sure.  They'd be non combat for some considerable time...but like the Easter Egg NPCs and other NPCs (eg. Ms. Liberty...) they'd add to the zone 'atmosphere.'  They could cycle through their actual or random emotes..?

The spawn points are in the actual developer view mode? 

I'd rather that than the walking civilian NPCs at the moment. 

Just wanted to know if this was a possibility and whether it was resource hungry re: Paragon Chat.  (Which seems to do deal ok with the persistent NPCs and the newly inserted Easter Eggs ok...)

Or whether an idea like this could be inserted into the Paragon Chat development Timeline..?

Azrael.

There are a number of technical and operational (read: griefing) issues with spawning NPCs.  But Codewalker has already stated his intention to investigate allowing NPC spawning in private maps - i.e. allowing a player to create a map and become the administrator within that map, and within that map that admin would then be granted spawning rights.  That way people could "opt-in" to such maps voluntarily (also, he's expressed some thoughts behind allowing certain kinds of power function in such maps, if and when he actually gets to making powers function in some capacity).

Azrael

Quote from: Arcana on July 17, 2015, 09:13:25 AM
There are a number of technical and operational (read: griefing) issues with spawning NPCs.  But Codewalker has already stated his intention to investigate allowing NPC spawning in private maps - i.e. allowing a player to create a map and become the administrator within that map, and within that map that admin would then be granted spawning rights.  That way people could "opt-in" to such maps voluntarily (also, he's expressed some thoughts behind allowing certain kinds of power function in such maps, if and when he actually gets to making powers function in some capacity).

*nods.  I see, Arcana.  (But, GM spawning aside in private 'chat rooms'...which is on the timeline...)  I was also specifically wondering if the 'spawn points'/mob indicators from the developer view mode could be used to put the mobs where they used to be in each zone? 

...once the technical issues are resolved?  (...and whether this could be made persistent each time you log in?)

Though I'm quite enjoying Paragon Chat and 'wandering around' as it for the moment.

Azrael.

FloatingFatMan

Quote from: Azrael on July 17, 2015, 09:25:32 AM
*nods.  I see, Arcana.  (But, GM spawning aside in private 'chat rooms'...which is on the timeline...)  I was also specifically wondering if the 'spawn points'/mob indicators from the developer view mode could be used to put the mobs where they used to be in each zone? 

...once the technical issues are resolved?  (...and whether this could be made persistent each time you log in?)

Though I'm quite enjoying Paragon Chat and 'wandering around' as it for the moment.

Azrael.

It should be technically possible to do, but feasible only from the client side of things, just like peds and cars.  Sure, it would be great to see the city getting some semblance of life beyond us running around, but we have to be realistic.

We have a -chat- server, that just lets us talk to each other and also, thanks to some extensions, lets us see each other and move about.  We don't want NPC data going through the XMPP chat server as it would just take up valuable player slots in the zones.

We have Paragon Chat itself, which acts essentially as a sort of micro-server to the game. Taking the messages CW and team have managed to decode, sending it to the XMPP server, and reading messages it gets back and feeding them to the game client.  This is where NPC spawning would be best to happen, with maybe occasional timebase synching between clients, though that would likely cause NPC's to rubberband a lot.

The important part here is, have the SCoRE team decoded the messages needed to tell the CoH Client to spawn villain mobs in the zones, and have they decoded the messages needed to spawn peds and cars and setup their pathing to send to the CoH client?  Using in-memory hacks as per ICON is a lot different to reading and responding to client messages.  If you don't understand the language, you just hear gibberish.

The other important part is, does the client PC have the horsepower to run the client AND an emulated mapserver, because that's what we're actually talking about here.


Azrael

Quote from: FloatingFatMan on July 17, 2015, 10:19:58 AM
It should be technically possible to do, but feasible only from the client side of things, just like peds and cars.  Sure, it would be great to see the city getting some semblance of life beyond us running around, but we have to be realistic.

We have a -chat- server, that just lets us talk to each other and also, thanks to some extensions, lets us see each other and move about.  We don't want NPC data going through the XMPP chat server as it would just take up valuable player slots in the zones.

We have Paragon Chat itself, which acts essentially as a sort of micro-server to the game. Taking the messages CW and team have managed to decode, sending it to the XMPP server, and reading messages it gets back and feeding them to the game client.  This is where NPC spawning would be best to happen, with maybe occasional timebase synching between clients, though that would likely cause NPC's to rubberband a lot.

The important part here is, have the SCoRE team decoded the messages needed to tell the CoH Client to spawn villain mobs in the zones, and have they decoded the messages needed to spawn peds and cars and setup their pathing to send to the CoH client?  Using in-memory hacks as per ICON is a lot different to reading and responding to client messages.  If you don't understand the language, you just hear gibberish.

The other important part is, does the client PC have the horsepower to run the client AND an emulated mapserver, because that's what we're actually talking about here.

Thanks for the response.  I'm not technical.  But I am curious and like understanding the technical problems and potential solutions that are discussed.

Yes.  A kind of micro server with the stuff they've managed to decode so far.  At least we have something nice to enjoy.  Rather than waiting until the entire project was complete before being released.

It sums up the state of play.  With the road map we have.  Building bricks.  'Most' things in time.  Lots of quality of life things first.  Travel powers.  Team chat.  GM capabilities.  SG/bases etc.  The PVP and NPC come much later.

I'm looking forward to having the travel powers back.  It will make getting around in zone easier.

It's still a surreal moment logging in and having a chat server.  The famous 'yellow tell' text and the 'beep' upon backspace.  All other things will be a nice bonus.  The development timeline is a nice touch as it gives Paragon Chat users a 'rough idea' of when things will develop.

Azrael.

Codewalker

Quote from: Azrael on July 17, 2015, 09:25:32 AM
I was also specifically wondering if the 'spawn points'/mob indicators from the developer view mode could be used to put the mobs where they used to be in each zone?

Those only indicate locations that mobs can spawn. They don't have any useful information about what can spawn there, which positions in the group different NPCs should spawn at for different team sizes, etc. There is also apparently some kind of grouping algorithm because there are many of those clusters of spawn points that overlap, but the game would never (or very rarely in specific missions) spawn two overlapping groups on top of each other.

FloatingFatMan

I always felt the spawning code in CoH had every other MMO ever, completely beat.  You never had mobs spawn on top of you, when you loaded into a zone, there were never mobs on top of you... Mobs sizes were always manageable...

Shadowe

For me it was the dynamic spawn sizes. Never having to worry about "a huge group of foes" unless I set my difficulty higher to get them. Not to mention the mix of enemies within a particular spawn: you would never know if that group would have a Sapper in it or not, or even if it would be Carnival of Shadows, Malta, Nemesis, or whatever. Brilliant. I'm totally sick to death of other games with fixed spawning.
The wisdom of Shadowe: Ghostraptor: The Shadowe is wise ...; FFM: Shadowe is no longer wise. ; Techbot_Alpha: Also, what Shadowe said. It seems he is still somewhat wise ; Bull Throttle: Shadowe was unwise in this instance...; Rock_Powerfist: in this instance Shadowe is wise.; Techbot_Alpha: Shadowe is very wise *nods*; Zortel: *Quotable line about Shadowe being wise goes here.* FFM: I think you're mostly wise in this instance, apart from one part.

Azrael

Quote from: Codewalker on July 17, 2015, 02:05:07 PM
Those only indicate locations that mobs can spawn. They don't have any useful information about what can spawn there, which positions in the group different NPCs should spawn at for different team sizes, etc. There is also apparently some kind of grouping algorithm because there are many of those clusters of spawn points that overlap, but the game would never (or very rarely in specific missions) spawn two overlapping groups on top of each other.

Thanks for the reply.  ;)

So they only show that mobs *can* spawn there.  I see.  But no what mob type, positions of NPC in the group..?  Hmm.

The mobs used to vary in size of spawn on the same spawn area when Street Sweeping.  It would make sense that there was some kind of grouping algorithm for clusters of NPC spawns that overlapped.  i.e..  to cycle through mob size/mix over time...so it was was 'similar' but relatively different each time when a hero wiped out 'spawns' on a street sweep.  Enough to provide a bit of variety.

QuoteI always felt the spawning code in CoH had every other MMO ever, completely beat.  You never had mobs spawn on top of you, when you loaded into a zone, there were never mobs on top of you... Mobs sizes were always manageable...

That's a good point.  In this regard, Coh was fantastic.  The developers got that fine balance of Mob size down the to the granular level.  It was so finessed...and it took on another level with the difficult slider going wide or higher...with bosses or without..!  (You only have to play A.N Other hero game to see just how good CoH was in regard mob handling.)

QuoteFor me it was the dynamic spawn sizes. Never having to worry about "a huge group of foes" unless I set my difficulty higher to get them. Not to mention the mix of enemies within a particular spawn: you would never know if that group would have a Sapper in it or not, or even if it would be Carnival of Shadows, Malta, Nemesis, or whatever. Brilliant. I'm totally sick to death of other games with fixed spawning.

Yes.  The mix was very dynamic.  Watching out for those Sappers.  Never fixed.  Always varied.  The mobs differently textured with unique style of difficulty.  A rocky outcast in Steel was different to a sapper in P.Island...  This was a large part of what I found so compelling.

I'd often street sweep in Steel and Bricks and level up several levels just finding 'juicy' mobs and pushing how many I could 'take' with a glass cannon, blApping blaster. 

Bags of fun.  Though you'd miss out on mission bonuses...

Azrael.

Felderburg

Quote from: Arcana on July 16, 2015, 07:00:22 PM
The problem is that Codewalker can't really do this in the same way the game's mapservers did, because he doesn't have central mapservers to work with.

Sounds like he just needs to make new mapservers. Problem solved.

:P

Quote from: Rejolt on July 17, 2015, 04:41:26 AM
I want a coffee talk face off of Arcana vs Codewalker. Just pick a programming or coding topic and let them go. I wouldn't understand 90 percent of it but I'd watch. With aspirin handy.

This is why I unsubscribed from the "technical side discussion" thread. It was interesting at first, then became way too much for me.
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

Codewalker

Quote from: Felderburg on July 17, 2015, 08:20:22 PM
Sounds like he just needs to make new mapservers. Problem solved.

Paragon Chat doesn't need central mapservers. It's a deliberate design choice.

Arcana

Quote from: Felderburg on July 17, 2015, 08:20:22 PMThis is why I unsubscribed from the "technical side discussion" thread. It was interesting at first, then became way too much for me.

So you didn't get to see my bot fly backwards then.  Oh well.  I might have something more interesting working this weekend.

Paragon Avenger

Paragon Chat, the paragon of chat in Paragon City and the Rogue Isles and Praetoria near you.
Void where prohibted, use only as directed, and as always, keep out of reach of children.

Eskreema

Will there be any artistic changes in the distant future like pedestrians with robotic arms or business cows?

Any comments on what will never be on the road map, like the old Energy Transfer animation  ;D or other insanity?
Global: Iron Smoke.  Boards: Kractis Sky. Server:  Champion.  Main:  Eskreema

I don't always get sucked into a jet engine and live to talk about it, but when I do I use the new ICD-10 V97.33XD code.  Because things like that need to be trended by your insurance company and your money!