Author Topic: Paragon Chat 0.99i Beta!  (Read 209915 times)

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Paragon Chat 0.99 Beta!
« Reply #320 on: August 25, 2015, 12:09:34 AM »
I'm curious as to what exactly makes it so difficult to add Teleportation in...
I mean, I keep hearing/reading about how Teleportation is the one Travel Power that is the most difficult to add in, but why?

Teleportation is fundamentally different from the other travel powers for (what technically knowledgeable players probably find) obvious reasons.  Sprint and Walk are only different in animation played and speed of motion.  Otherwise, they are essentially identical movement powers.  Flight is not much more different than sprint: the main difference is turning off gravity.  Super jumping is different because of the way it works: it has a horizontal (sort of) component that is like sprinting, and a vertical component involving the jumping upward and falling downward part.  Superleap and ninja run are, in effect, identical movement modes with small differences in animation sequence and movement/velocity/altitude caps.  They are different from simple running, but not by a huge amount.

Teleportation is fundamentally different from all of those.  Teleportation involves setting a teleportation target, which uses different controls than movement which just uses directional inputs.  Teleportation then requires a sequence of actions to take place: a teleport-out animation, followed by setting a flag that allows instant change in location without "warping" followed by reseting location to the targeted area, followed by playing a teleport-in animation, followed by setting the residual "hover" that teleport used to prevent instant gravitational acceleration (i.e. plummeting from the sky), followed by expiring that residual hover.  Teleportation is so different from all the other forms of movement, its better to not even think of teleportation as a form of movement.  Its actually a form of power activation that happens to cause movement.  In some ways it would be easier to get Power Bolt working (visually) than teleportation.

nataliaofvirtues

  • Minion
  • **
  • Posts: 28
Re: Paragon Chat 0.99 Beta!
« Reply #321 on: August 25, 2015, 01:06:33 AM »
I know I am not the first, probably more like the 100,000th to say this, but Codewalker and team, you have done an amazing job at bringing all of this community of super heroes back home. I can't even begin to find the words to express my gratitude to you all for what you have accomplished this far. I pray for great health for you all as you continue this labor of love.  Thank you.
I read somewhere that there is no donations being accepted and something about server...I am not sure I understand enough about how to do that, but would be willing to possibly share the Monthly fee.

Aggelakis

  • Elite Boss
  • *****
  • Posts: 3,001
Re: Paragon Chat 0.99 Beta!
« Reply #322 on: August 25, 2015, 01:07:53 AM »
I read somewhere that there is no donations being accepted and something about server...I am not sure I understand enough about how to do that, but would be willing to possibly share the Monthly fee.
If you want to donate to Tony's hosting fees, there is a "Buy us coffee?" link on the homepage: http://cohtitan.com

But yes, we are not taking money for this project, as that turns it into a gray area we don't want to tread in.
Bob Dole!! Bob Dole. Bob Dole! Bob Dole. Bob Dole. Bob Dole... Bob Dole... Bob... Dole...... Bob...


ParagonWiki
OuroPortal

Hellgeist

  • Underling
  • *
  • Posts: 17
Re: Paragon Chat 0.99 Beta!
« Reply #323 on: August 25, 2015, 03:23:18 AM »
You guys are a credit to humanity, THANK YOU for doing this. Seriously, I never thought I'd fly in Paragon again.

Pearl Dragon

  • Lieutenant
  • ***
  • Posts: 74
Re: Paragon Chat 0.99 Beta!
« Reply #324 on: August 25, 2015, 03:50:45 AM »

Thank you so much for the travel powers!

Azrael

  • Elite Boss
  • *****
  • Posts: 666
Re: Paragon Chat 0.99 Beta!
« Reply #325 on: August 25, 2015, 10:28:10 AM »
Teleportation is fundamentally different from the other travel powers for (what technically knowledgeable players probably find) obvious reasons.  Sprint and Walk are only different in animation played and speed of motion.  Otherwise, they are essentially identical movement powers.  Flight is not much more different than sprint: the main difference is turning off gravity.  Super jumping is different because of the way it works: it has a horizontal (sort of) component that is like sprinting, and a vertical component involving the jumping upward and falling downward part.  Superleap and ninja run are, in effect, identical movement modes with small differences in animation sequence and movement/velocity/altitude caps.  They are different from simple running, but not by a huge amount.

Teleportation is fundamentally different from all of those.  Teleportation involves setting a teleportation target, which uses different controls than movement which just uses directional inputs.  Teleportation then requires a sequence of actions to take place: a teleport-out animation, followed by setting a flag that allows instant change in location without "warping" followed by reseting location to the targeted area, followed by playing a teleport-in animation, followed by setting the residual "hover" that teleport used to prevent instant gravitational acceleration (i.e. plummeting from the sky), followed by expiring that residual hover.  Teleportation is so different from all the other forms of movement, its better to not even think of teleportation as a form of movement.  Its actually a form of power activation that happens to cause movement.  In some ways it would be easier to get Power Bolt working (visually) than teleportation.

Thank you for providing the technical explanation.  Hopefully the legendary coding powers of he who walks with code can crack 'the code' as teleport is, allegedly, his favourite travel power.

I was excited to see Walk, Sprint, SuperSpeed and Fly (my favourite!) released ahead of schedule and had heaps of fun exploring the zones again via the air.  They are much faster than I remember (like they are all 3 slotted+) and better for it.  A great 'in progress' gift while we await 1.0 and 1.1 etc.  Now we can 'get around' much better.  Mega thanks to Codewalker and the SCoRE team.

I find it curious that this is 'simulated' - i.e. they seem to work just like the originals to me...

I'm aware from your posts, Arcana, that SuperJump will be slightly less straightforward but it will be great to have that and Ninja jump back.

And one thing that really IS cool...?  IS ACTUALLY  HAVE THE POWER BUTTONS IN THE POWER TRAY!  They may 'not' be combat ones...but it's something that wasn't lost on me.

We have: a server, we can chat, we have zones, we have community, we can RPG, we can emote, we can have costume contests, we can explore, we travel powers NOW (and four of them!) so we can explore even better!  All these things seemed impossible after the closure two years ago.  Now they are born again.  I can't wait for the 1.2 patch with GM powers (and the intriguing insertion of LUA scripting much later..?) and you see the potential for extending the game beyond the scope of the original developers. 

Imaginary future some ways off...

It may be a way off...but having the zone editors in the hands of the community, modding of powers, npcs, creating your own zones with NPCs...running your own server...it makes you wonder where this game can go.  Once combat comes back and you have GM powers with LUA scripting with a zone editor...  CoH gets it's own 'Construction Kit' where you can make your own 'CoH' game.  Zones, missions, NPCs, maybe powers, archetypes.  Sure, I'm getting carried away.  But in the current timeline...I see potential for the future if the game has 'tools' given to the CoH community.  eg.  Sure the map/zone creator needs a server...but if that's one day reverse engineered...that would be amazing in the hands of the community.  Once the code of the game is reverse engineered then surely modding tools are the next step.  Though it may never quite be the 'original' CoH game...it won't have to be...it could potentially be something far better and in excess of what the developers had achieved..?

As for the reality of now.  I'm thrilled with each step.  Server.  Chat.  Travel powers.  *Eyeballs issue 1.2 and GM 'powers...' (creating your own chat zone and summoning static NPCs?)

It's great to have this labour of love giving the game back, brick by brick, to the community where it belongs not on some 'empire builder's' dusty shelf.

Azrael.

PS.  Regarding the art for TO, DO, SO and IO inventions.  Is the art in the client or will they have to be created from scratch?  I'm thinking for any eventual missions/xp/seeing trainers for enhancements.  Of course while this isn't on the timeline, understandably...

 I notice the power buttons for fly etc. look like the originals...so I presume they were in the client also?  Just a general thought.
« Last Edit: August 25, 2015, 10:55:15 AM by Azrael »

Rejolt

  • Elite Boss
  • *****
  • Posts: 512
  • Infinity Server 2005-2012
Re: Paragon Chat 0.99 Beta!
« Reply #326 on: August 25, 2015, 11:42:52 AM »
I thought the biggest issue with super jump was in jump/air control. The powers we have now affect gravity, jump height and speed but not in air jump/fall control.

Flight still has that drift to it that hover never did (by design, hover was meant to be used in combat where flight was more awkward). Was SJ simply less gravity or was there something special that gave us air control?

Rejolt Industries LLC is now a thing. Woo!

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Paragon Chat 0.99 Beta!
« Reply #327 on: August 25, 2015, 01:39:39 PM »
I'm curious as to what exactly makes it so difficult to add Teleportation in...
I mean, I keep hearing/reading about how Teleportation is the one Travel Power that is the most difficult to add in, but why?

1. It's a different command from the client since it includes target location (as well as camera coordinates for line of sight checking but that's another matter).

2. It's not a simple maintained FX attached to the entity, it involves playing two distinct FX. The two FX must be played with precise timing to coincide with the location change for the teleportation to look convincing. This also has to be synchronized to other players. As it's primarily a chat program, Paragon Chat is usually rather lax when it comes to timing, just letting things happen whenever and not maintaining any kind of globally synchronous time reference between players.

3. Currently all location updates are sent as interpolated, making players slide from source to destination. Protocol additions are necessary to indicate an instantaneous move. This is needed for in-zone doors to work properly as well, but isn't quite as noticeable there.

Maybe I've worked with COH too much but I have a hard time understanding how people can look at travel powers and not realize how much more complex Teleport is.

I thought the biggest issue with super jump was in jump/air control. The powers we have now affect gravity, jump height and speed but not in air jump/fall control.

The issues with SJ aren't specific to SJ in particular. They are also a problem for jumping in general already, but a standard jump is short enough that the issue is masked by PC's low update frequency anyway. With superjump, they just become a lot more obvious.

The two possibilities are either to implement the more advanced motion synchronization I have in mind (but was planning for further down the road), or create a temporary workaround by adding an attribute containing estimated maximum jump time remaining, so that other players can predict when to switch gravity back on and start the entity falling.

The second method gets us Super Jump quicker, but isn't really complete. It will still rubber band pretty badly when someone lets go of the space bar early, and will then need to be torn out and replaced when movement streaming is added.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Paragon Chat 0.99 Beta!
« Reply #328 on: August 25, 2015, 01:55:04 PM »
I find it curious that this is 'simulated' - i.e. they seem to work just like the originals to me...

I'm managing expectations because I know people will see the icons and start thinking it's "just" a matter of enabling combat powers.

They are simulated because Paragon Chat does not have a powers system to speak of. It does not even load the powers data. It is hardcoded to send the client a power list of 3575737816, 1765014394, 1732896497, and 1013339550. Cookie to the first person to tell me what those numbers mean*.

It doesn't maintain any state other than what is actively toggled. Upon receiving a power activation request, it just looks to see if the requested power is in powerset 26, 27, or 28 (long story, the client thinks a blank character has 26 powersets because of all the auto-granted ones), looks at the index within the set, and calls the appropriate hardcoded handler. It doesn't queue the power, it just immediately processes it. It doesn't handle recharge. It doesn't perform any activation checks. It doesn't have any targeting to speak of. It doesn't apply any persistent attribmods, instead just tweaking the movement values on activation / deactivation. It doesn't process endurance cost. The maintained FX are hardcoded; and I didn't bother putting in the one for Sprint. The values are hardcoded as well. It doesn't have real exclusion groups, it just clears all other toggles when you activate something -- something else that will need to be fixed for SJ since it's often paired with SS.

All of this lives in hacks.c, because the whole thing is a huge hack so that travel powers "work" much sooner than it would take to implement a full powers system.



* No purchase necessary. Employees of the Titan Network are not eligible. Contest may be entered by forum members who are not Arcana.
« Last Edit: August 25, 2015, 03:59:11 PM by Codewalker »

davpa

  • Underling
  • *
  • Posts: 19
    • Entropy Legion VG in Virtue
Re: Paragon Chat 0.99 Beta!
« Reply #329 on: August 25, 2015, 03:54:07 PM »
1. It's a different command from the client since it includes target location (as well as camera coordinates for line of sight checking but that's another matter).

2. It's not a simple maintained FX attached to the entity, it involves playing two distinct FX. The two FX must be played with precise timing to coincide with the location change for the teleportation to look convincing. This also has to be synchronized to other players. As it's primarily a chat program, Paragon Chat is usually rather lax when it comes to timing, just letting things happen whenever and not maintaining any kind of globally synchronous time reference between players.

3. Currently all location updates are sent as interpolated, making players slide from source to destination. Protocol additions are necessary to indicate an instantaneous move. This is needed for in-zone doors to work properly as well, but isn't quite as noticeable there.

How about instead we just have waypoint transportation, like they do in Second Life.  Just a simple transport to a set of coordinates with no animation associated via line command.  This would allow us to just broadcast the coordinates and people can then zap to that location, if they wish to.  I'm sure event coordinators would love that.

It just seems that Teleport is so different, as your explanation, that we should just be more practical about it and forgo animating it and treating it as a power.  Instead we should treat Teleport as a QoL for a visual chat program.  We have so many other visually interesting travel powers to work on that "cracking" Teleport as a Power is not spending limited time and resources wisely.  Just my $0.02.
If life closes a door, open it back up.  That is how doors work.

Gryphon

  • Underling
  • *
  • Posts: 3
Re: Paragon Chat 0.99 Beta!
« Reply #330 on: August 25, 2015, 06:46:19 PM »
Thanks for all the hard work to bring travel powers to Paragon Chat. I spent a lovely afternoon flying around my old haunts today :)

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Paragon Chat 0.99 Beta!
« Reply #331 on: August 25, 2015, 07:34:35 PM »
I find it curious that this is 'simulated' - i.e. they seem to work just like the originals to me...

I'm managing expectations because I know people will see the icons and start thinking it's "just" a matter of enabling combat powers.

They are simulated because Paragon Chat does not have a powers system to speak of.

When people ask for Sprint or Superspeed or Superjump, colloquially they are usually asking for the movement capability.  But remember: those are travel powers - emphasis on "powers."  The 0.99 travel powers are fakes: Codewalker is doing a more low level and sophisticated version of what I was making my bot do: move at a certain speed and play a certain animation (and in some cases add some visual effects like superspeed's trail or flight's shimmer).  Its yanking on the visual strings of the puppet.  Its a subtle but important distinction.  Nothing you're seeing in Paragon Chat right now is a "power" "working." 

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Paragon Chat 0.99 Beta!
« Reply #332 on: August 25, 2015, 07:39:29 PM »
How about instead we just have waypoint transportation, like they do in Second Life.  Just a simple transport to a set of coordinates with no animation associated via line command.  This would allow us to just broadcast the coordinates and people can then zap to that location, if they wish to.  I'm sure event coordinators would love that.

It just seems that Teleport is so different, as your explanation, that we should just be more practical about it and forgo animating it and treating it as a power.  Instead we should treat Teleport as a QoL for a visual chat program.  We have so many other visually interesting travel powers to work on that "cracking" Teleport as a Power is not spending limited time and resources wisely.  Just my $0.02.

In fact, the easiest travel power for Codewalker to create is one that didn't exist in City of Heroes.  I call it SuperWarp and bots currently can do it.  You just set your location to (x,y,z) and Paragon Chat (i.e. the City of Heroes game client) will "warp" you to that location in about a quarter of a second at ludicrous speed.  You will literally be visually seen to rapidly move to that location, passing through walls and other obstructions effortlessly.  I suspect the only reason Paragon Chat can't do that quite yet is because it hasn't been well thought out yet with regard to abuse and problematic effects.  That's assuming you *can't* do that yet, and there isn't some supersekret xmpp_warp_my_ass_here command.

Stitchified

  • Boss
  • ****
  • Posts: 133
  • Errors are not in the art but in the artificers.
    • datebest.net - visit website and win smartphone!
Re: Paragon Chat 0.99 Beta!
« Reply #333 on: August 25, 2015, 11:54:13 PM »
1. It's a different command from the client since it includes target location (as well as camera coordinates for line of sight checking but that's another matter).

2. It's not a simple maintained FX attached to the entity, it involves playing two distinct FX. The two FX must be played with precise timing to coincide with the location change for the teleportation to look convincing. This also has to be synchronized to other players. As it's primarily a chat program, Paragon Chat is usually rather lax when it comes to timing, just letting things happen whenever and not maintaining any kind of globally synchronous time reference between players.

3. Currently all location updates are sent as interpolated, making players slide from source to destination. Protocol additions are necessary to indicate an instantaneous move. This is needed for in-zone doors to work properly as well, but isn't quite as noticeable there.

Maybe I've worked with COH too much but I have a hard time understanding how people can look at travel powers and not realize how much more complex Teleport is.
Well, I'd like to say I know how complex Teleport is, but I don't know all that much, I mean, I know that Teleport is definitely the hardest Travel Power to implement because as you said, Teleport requires a target location unlike all the other powers but that's about as far as my knowledge goes...

Thank you for taking the time to explain it to me though!

Felderburg

  • Ask me how I got this title!
  • Elite Boss
  • *****
  • Posts: 1,615
  • Personal text? What's that?
Re: Paragon Chat 0.99 Beta!
« Reply #334 on: August 26, 2015, 12:37:46 AM »
How about instead we just have waypoint transportation, like they do in Second Life.  Just a simple transport to a set of coordinates with no animation associated via line command.  This would allow us to just broadcast the coordinates and people can then zap to that location, if they wish to.  I'm sure event coordinators would love that.

It just seems that Teleport is so different, as your explanation, that we should just be more practical about it and forgo animating it and treating it as a power.  Instead we should treat Teleport as a QoL for a visual chat program.  We have so many other visually interesting travel powers to work on that "cracking" Teleport as a Power is not spending limited time and resources wisely.  Just my $0.02.

That was my thinking. I don't know enough about teleport to actually suggest anything useful, but it seemed to me that a lot of the issues raised were animation based.

But it does seem to be possible, per Arcana's post, as long as you know the coordinates. Which I guess is where the trick comes in: either you have people warping all over the place using whatever numbers they feel like entering, or you figure out a way to ensure specific coordinates are used.

I guess a "warp to person" would be a happy medium. You could allow the client to grab locations from people, and go to those spots only. Or something.
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

GenericHero05

  • New Efforts # 7,000!
  • Boss
  • ****
  • Posts: 234
Re: Paragon Chat 0.99 Beta!
« Reply #335 on: August 26, 2015, 01:30:24 AM »
I used Super Speed when I first began playing back in '04. I later switched to only Super Jump. Ahh... but to now hear that Super Speed kick in again when it's toggled made me fill up.

Thank you all!
If I was a Jedi, there's a 100% chance that I'd use The Force inappropriately.

MaidMercury

  • Elite Boss
  • *****
  • Posts: 470
Re: Paragon Chat 0.99 Beta!
« Reply #336 on: August 26, 2015, 01:36:35 AM »
Thank you Team Codewalker.
tried out the powers, felt like 2012 again....
I never thought we be traveling in Paragon again, it is sweet to be home.

"you open a door and reveal a door behind", humorous clips.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Paragon Chat 0.99 Beta!
« Reply #337 on: August 26, 2015, 01:46:07 AM »
That was my thinking. I don't know enough about teleport to actually suggest anything useful, but it seemed to me that a lot of the issues raised were animation based.

But it does seem to be possible, per Arcana's post, as long as you know the coordinates. Which I guess is where the trick comes in: either you have people warping all over the place using whatever numbers they feel like entering, or you figure out a way to ensure specific coordinates are used.

I guess a "warp to person" would be a happy medium. You could allow the client to grab locations from people, and go to those spots only. Or something.

As a matter of fact, my bot has a /comehere command that does the reverse: when told to do this, the bot calculates a position about five feet away from the sender and "warps" to that location.  You can see how it works more or less at the very beginning of this video: https://www.youtube.com/watch?v=JWj3IXMwzNo .  There are issues, though.  Bots don't have to obey the geometry of the game, but players do because the CoH client itself enforces them.  If you're not careful, a feature like this can easily accidentally warp yourself into the geometry or get you stuck in the ground.  /stuck will unstick you, but in Paragon Chat I believe /stuck also teleports you to the original zone-in location.  It does not just bump you to the nearest clear spot in your immediate area.

MomentaryGrace

  • Lieutenant
  • ***
  • Posts: 66
Re: Paragon Chat 0.99 Beta!
« Reply #338 on: August 26, 2015, 02:17:01 AM »
Yes, I'm adding my very grateful and excited thanks as well, I hadn't been on PC in a little while, taking care of stressful RL issues (car related), but today I can fly! I can run faster than a speeding bullet (or something like that)!

It's just simply wonderful.

Scrapperlock in ten... nine...

Rejolt

  • Elite Boss
  • *****
  • Posts: 512
  • Infinity Server 2005-2012
Re: Paragon Chat 0.99 Beta!
« Reply #339 on: August 26, 2015, 03:04:16 AM »
Yes, I'm adding my very grateful and excited thanks as well, I hadn't been on PC in a little while, taking care of stressful RL issues (car related), but today I can fly! I can run faster than a speeding bullet (or something like that)!

It's just simply wonderful.

More like faster than a Verlander pitch... But I'll take it just the same.
Rejolt Industries LLC is now a thing. Woo!