Titan Network

Paragon Chat => General => Topic started by: Codewalker on June 19, 2015, 07:05:56 AM

Title: Coming Soon
Post by: Codewalker on June 19, 2015, 07:05:56 AM
(https://www.cohtitan.com/misc/pcpromo1.jpg)
Title: Re: Coming Soon
Post by: Solitaire on June 19, 2015, 07:11:40 AM
Looks like crossed Scimitar's... But this is going to get people talking Mr Codewalker, you tease, just wait till FFM see's this! Let the Inquisition begin  ;)
Title: Re: Coming Soon
Post by: Vee on June 19, 2015, 08:14:43 AM
Scimitars you say? I thought it was summoning me.
Title: Re: Coming Soon
Post by: Todogut on June 19, 2015, 10:29:58 AM
(https://i754.photobucket.com/albums/xx188/Elenlanta/CityOfCatgirlsSoon_zpsxtxpfxoz.jpg)
Title: Re: Coming Soon
Post by: Bitters on June 19, 2015, 12:16:30 PM
Scimitar ' s On Our Network = SOON?
Title: Re: Coming Soon
Post by: Codewalker on June 19, 2015, 01:47:59 PM
But this is going to get people talking Mr Codewalker, you tease, just wait till FFM see's this!

Hey, I've been working my ass off on this one for quite a while, let me enjoy a little bit of fun. ;D
Title: Re: Coming Soon
Post by: Solitaire on June 19, 2015, 02:05:19 PM
Hey, I've been working my ass off on this one for quite a while, let me enjoy a little bit of fun. ;D

Enjoy your your fun, we'll hug you after anyway  ;D
Title: Re: Coming Soon
Post by: Matt Bold on June 19, 2015, 04:24:12 PM
(https://www.cohtitan.com/misc/pcpromo1.jpg)

Soon soon or soon(tm)?
Title: Re: Coming Soon
Post by: Codewalker on June 19, 2015, 04:59:18 PM
Soon soon.

If all goes well, within the next couple of weeks.

There's always the potential for an unexpected snag, but I think we're over the major hurdles now.
Title: Re: Coming Soon
Post by: Auroxis on June 19, 2015, 05:15:13 PM
My client is ready. My body, not so sure.
Title: Re: Coming Soon
Post by: Matt Bold on June 19, 2015, 05:20:36 PM
Soon soon.

If all goes well, within the next couple of weeks.

There's always the potential for an unexpected snag, but I think we're over the major hurdles now.

So I can stop refreshing the page every 13 minutes?
Title: Re: Coming Soon
Post by: Codewalker on June 19, 2015, 05:27:35 PM
Yes, there are not going to be any major announcements about it today, no need to wear out your F5 key.

There will be some more information posted as well as Q&A and frequently asked questions probably a week before release.

EDIT: And they're not scimitars. Try again. :)
Title: Re: Coming Soon
Post by: Heroette on June 19, 2015, 05:33:52 PM
It sounds so exciting!!!!  I just can't wait (but I guess I have to)!!!! ;D
Title: Re: Coming Soon
Post by: nicoliy on June 19, 2015, 05:50:37 PM
It sounds so exciting!!!!  I just can't wait (but I guess I have to)!!!! ;D

I'm with you on this one...can't wait :)
Title: Re: Coming Soon
Post by: Matt Bold on June 19, 2015, 06:03:54 PM
Yes, there are not going to be any major announcements about it today, no need to wear out your F5 key.

There will be some more information posted as well as Q&A and frequently asked questions probably a week before release.

EDIT: And they're not scimitars. Try again. :)

Just wanted to say thank you and your team, in advance, for whatever this is.  I can only assume is the Icon 2.0 that has been briefly mentioned.  I wish possessed the skills necessary to contribute.
Title: Re: Coming Soon
Post by: Brou on June 19, 2015, 08:04:59 PM
Better shut the stall.
I can see your XMPP.
Title: Re: Coming Soon
Post by: Sullster on June 19, 2015, 09:36:16 PM
Excited :D
Title: Re: Coming Soon
Post by: Prism Almidu on June 19, 2015, 10:25:35 PM
Trying to temper my hopes with realism, but even still, the anticipation is quite high.
Title: Re: Coming Soon
Post by: Ohioknight on June 19, 2015, 10:26:21 PM
This is gonna be

SO COOL!!! 


 :) :D :D :D ;D
Title: Re: Coming Soon
Post by: Valtyr on June 19, 2015, 10:53:49 PM
I think the meaning is obvious. New Power Pool - Spotlight Symbol. You can call for reinforcements from any hero/villain you've previously interacted with or helped.
Title: Re: Coming Soon
Post by: Arc-Mage on June 20, 2015, 12:50:42 AM
?????
Title: Re: Coming Soon
Post by: Paragon Avenger on June 20, 2015, 02:11:00 AM
I know he said soon soon, but I'll bet that it turns out to be soonTM soon.
Title: Re: Coming Soon
Post by: Codewalker on June 20, 2015, 02:34:05 AM
I can see your XMPP.

Nicely spotted.
Title: Re: Coming Soon
Post by: Arcana on June 20, 2015, 03:00:21 AM
I think the meaning is obvious.

Actually, the meaning is extremely obvious to me.
Title: Re: Coming Soon
Post by: Nyx Nought Nothing on June 20, 2015, 05:07:41 AM
Scimitars you say? I thought it was summoning me.
Vee Tang Clan?
Title: Re: Coming Soon
Post by: Vee on June 20, 2015, 05:40:49 AM
Our kung-fu is strong.
Title: Re: Coming Soon
Post by: saipaman on June 20, 2015, 06:14:09 AM
That tempts me into asking how many of you watched 'Kung Fury'?
Title: Re: Coming Soon
Post by: Kelltick on June 20, 2015, 12:55:56 PM
That tempts me into asking how many of you watched 'Kung Fury'?

Yeah, that's my bicep.
Title: Re: Coming Soon
Post by: FlyingCarcass on June 20, 2015, 01:12:19 PM
Hmm... two scimitars... what could it mean?  ???
Title: Re: Coming Soon
Post by: zendarin on June 20, 2015, 01:30:50 PM
Hmm... two scimitars... what could it mean?  ???

Seriously? It was given away with some major hints.

Better shut the stall.
I can see your XMPP.
Nicely spotted.

I had to look it up.

https://en.wikipedia.org/wiki/XMPP (https://en.wikipedia.org/wiki/XMPP)
Title: Re: Coming Soon
Post by: Nyx Nought Nothing on June 20, 2015, 02:15:54 PM
Seriously? It was given away with some major hints.
Nicely spotted.


I had to look it up.

https://en.wikipedia.org/wiki/XMPP (https://en.wikipedia.org/wiki/XMPP)
Ah yes. Suggestive of a variety of things.
Title: Re: Coming Soon
Post by: therain93 on June 20, 2015, 03:03:42 PM
Ah yes. Suggestive of a variety of things.

Like local ICON client launcher can "speak" to other ICON users....
Title: Re: Coming Soon
Post by: Solitaire on June 20, 2015, 03:34:22 PM
Like local ICON client launcher can "speak" to other ICON users....

This could be very interesting if it, one step further everyone in the same instance chatting may be....
Title: Re: Coming Soon
Post by: Codewalker on June 20, 2015, 04:42:28 PM
(https://cohtitan.com/misc/pchint1.jpg)
Title: Re: Coming Soon
Post by: Auroxis on June 20, 2015, 04:48:25 PM
Receiving chat inputs from other players would be sweet, costume+location inputs would be great, and movement+emote inputs would be insane.

Above screenshot seems to hint at the insane.
Title: Re: Coming Soon
Post by: TonyV on June 20, 2015, 04:54:27 PM
/e popcorn
Title: Re: Coming Soon
Post by: Joshex on June 20, 2015, 05:01:42 PM
Question 1 : Codewalker I have the last uptodate client update received for game-play, not sure if it's issue 23 or 24, how can I tell?
Title: Re: Coming Soon
Post by: nicoliy on June 20, 2015, 05:14:42 PM
(https://cohtitan.com/misc/pchint1.jpg)

😀 So exciting...now I really can't wait to see all that's in store.
Title: Re: Coming Soon
Post by: Nyx Nought Nothing on June 20, 2015, 05:15:00 PM
/e popcorn
(https://paragonwiki.com/w/images//a/a3/Ghost_Widow_Costume_Emote_CCEvilLaugh.gif)
Title: Re: Coming Soon
Post by: themamboman on June 20, 2015, 05:24:02 PM
So, new project could be everyone in the same instance on a single server, and able to private / public /channel chat and see the overhead bubbles?

Excellent idea!  City of Heroes, the social network!  Who needs second life when you can fly around and chat with everyone?

Is it a stretch to think this could be the first stage in a larger project to bring in more and more functionality until we are teaming and street sweeping again? :)
Title: Re: Coming Soon
Post by: Arcana on June 20, 2015, 08:04:45 PM
Is it a stretch to think this could be the first stage in a larger project to bring in more and more functionality until we are teaming and street sweeping again? :)

No. 

The problem is combat mechanics, but if it is the only thing I think it could possibly be, it opens the door for combat mechanics to be added as a shim (albeit a pretty complex shim).  Which is interesting.
Title: Re: Coming Soon
Post by: Ohioknight on June 20, 2015, 08:23:01 PM
(https://images.weserv.nl/?url=i.ytimg.com%2Fvi%2FarZdeg_fL-I%2Fhqdefault.jpg)

Ooh boy, this is gonna be GREAT!
Title: Re: Coming Soon
Post by: Codewalker on June 20, 2015, 08:49:02 PM
Is it a stretch to think this could be the first stage in a larger project to bring in more and more functionality until we are teaming and street sweeping again? :)

Short answer: Arcana's right, "no". That's not what this project is designed to do and its distributed nature would make combat... challenging to get right. Though we do plan to implement extensibility at some point in the future to open it up as a platform that people can use for interesting things, so who knows.

Long answer: Sort of. This particular project is only around 7-8 months old, starting when the concept for how it works was inspired by kicking around ideas (hint: it doesn't work like traditional client/server architecture). BUT, it builds on other work that started over a year prior to that, giving it a head start. So despite being a "side project" in parallel, the work done on it still represents progress toward what we all want to see and unlike Icon is useful in getting there.
Title: Re: Coming Soon
Post by: Ohioknight on June 20, 2015, 09:54:15 PM
Short answer: Arcana's right, "no". That's not what this project is designed to do and its distributed nature would make combat... challenging to get right.

I suspected a distributed "server(? what would the proper word be?)" architecture from the image -- WONDERFUL concept WONDERFUL approach.  THANK YOU in advance.
Title: Re: Coming Soon
Post by: Arcana on June 21, 2015, 05:06:24 AM
I suspected a distributed "server(? what would the proper word be?)" architecture from the image -- WONDERFUL concept WONDERFUL approach.  THANK YOU in advance.

Its more likely serverless in a sense.  I'm envisioning something X-like, where each one of us runs our own local "server" that handles and processes messages, and an XMPP-based communications architecture where players can connect to a central server that acts as a message dispatch which broadcasts all messages to all other local servers.  In effect anyone running a copy of the message dispatch server is running a communications hub that allows game clients (through intermediate software) to connect to each other, and see what the others are doing.

Because the only centralized component is the message server, anyone running a copy can claim to not be running reverse engineered copies of the CoH server software, and can claim to not be infringing on any of NCSoft's content copyrights - because it doesn't contain any content.  And because the system uses its own messaging system, it can't infringe on any of the technical APIs or interfaces of the game, in particular it cannot infringe on the (possibly protected) network code of the game servers.

The problem is that in this architecture, things like actual combat are problematic.  The game clients have no awareness of how combat works, so they cannot be told things like "hit this entity for 200 points of damage" or anything like that.  They won't on their own regenerate health bars or burn or recover endurance.  They have no possible way of recording, much less understanding, what happens when one entity grants a power to another.  All those things came exclusively from the game servers, and there's no "fragment" of them in the game clients Codewalker could leverage (to oversimplify a bit).

However, hypothetically speaking someone could actually write a combat engine and slip it into the system.  If Codewalker was hit by a bus, a lot of his technical wizardry might get smooshed with him.  But if his XMPP protocol is well documented (or even poorly documented but unencrypted and well-structured), anyone else could step in and write one that acts as a kind of "plugin" to the local message processors.  In effect, each player would have to have a local "mapserver" that had the intelligence to perform combat, and it would need to be synchronized with all the others.  You could also do this via an extension to the central server software which would eliminate the need for enhanced synchronization.  The point being, you no longer need someone who understands how the game clients and the game servers worked on a very low level.  You only need someone that could replicate the game functionality and understood how to add it to Codewalker's software instead.

Separate from the fact this almost certainly makes life easier for the SCORE team because they would be working in an abstracted environment much simpler than the raw one, it also opens the door for experimentation by the players.  Anyone with only knowledge of XMPP/XML and knowledge of how Codewalker's code works could theoretically experiment with extensions.  Which is not to say I would rather have the effort be in any other hands besides Codewalker, but knowing him I suspect its intentional that one of the properties of the project is that the future does not lie exclusively in any one person's (or group's) hands.  Once released, it can't be killed by any one person, or stopped by any one group.  In fact, eight people who want to use the software can't be stopped by anyone, not Codewalker, not Titan, not NCSoft, short of physically going to their houses and taking their computers.

Just before shutdown, I wrote a long article talking about how a distributed MMO might work.  One of the reasons why Codewalker's teaser seemed so obvious to me is that this is ground I've already traveled.  Not that I'm taking any credit for any of this work: I'm certain Codewalker (and the SCORE team) is plenty smart enough to come up with this all on his own.  Instead, I'm intrigued by the notion that its possible a conjecture I made a couple of years ago that I never thought would ever be tested might one day be tested: that its actually possible to make a game like this work.
Title: Re: Coming Soon
Post by: Codewalker on June 21, 2015, 05:31:26 AM
Instead, I'm intrigued by the notion that its possible a conjecture I made a couple of years ago that I never thought would ever be tested might one day be tested: that its actually possible to make a game like this work.

Well, the conjecture that started us down this path is that while its viability for synchronizing a full combat engine and AI state with hundreds of NPCs over is questionable, XMPP itself is quite capable of broadcasting some basic position, motion, and animation information. Thanks to the protocol's extensibility it does not require special handling on the server, so any spec-compliant XMPP server software can be used. And COH seems to looove its hierarchical structured data, making XML a very good fit for things like costumes. Since the real deal still has a lot of effort left, it seemed like a good opportunity to show some progress and give the community a new toy to play with.

Whether it's possible to run an actual game distributed like that, it's too early to tell. XMPP itself is a much more verbose protocol than the COH client<->mapserver one. That may be less of an issue in the age of near-ubiquitous broadband than it used to be.

But for what we're using it for, yes, it works surprisingly well considering it was designed as a protocol for instant messaging.

(https://cohtitan.com/misc/pcreveal2.jpg)
Title: Re: Coming Soon
Post by: Sullster on June 21, 2015, 05:40:11 AM
Nice teaser picture :D

Looking forward to it :D
Title: Re: Coming Soon
Post by: Aggelakis on June 21, 2015, 06:38:00 AM
You make me happy, Codewalker. You and the rest of the wizards at work.
Title: Re: Coming Soon
Post by: Prism Almidu on June 21, 2015, 06:56:29 AM
You make me happy, Codewalker. You and the rest of the wizards at work.

This, very much so.

If Codewalker was hit by a bus, a lot of his technical wizardry might get smooshed with him.

So, this structure lessens the need for any sort of "Save the Codewalker, save the world" time travel shenanigans?
Title: Re: Coming Soon
Post by: Vee on June 21, 2015, 07:31:25 AM
I assumed it would be a paragon city bus so Codewalker would only be gently nudged aside.
Title: Re: Coming Soon
Post by: Kyriani on June 21, 2015, 07:57:18 AM
I can't wait to play with this! ^_^ yay for the code wizardry! We're one step closer to having the city back!
Title: Re: Coming Soon
Post by: Solitaire on June 21, 2015, 11:24:14 AM


(https://cohtitan.com/misc/pcreveal2.jpg)

My question regarding the image is this, are these friends logged in to the same zone and chatting or just npcs you have been able to add chat boxes too? Please be the first option...

The zone looks like PP.
Title: Re: Coming Soon
Post by: Leandro on June 21, 2015, 01:21:43 PM
Since Codewalker spilled the beans and posted an screenshot, I am going to assume the NDA is lifted. Yes, these are two accounts logged in the same zone chatting, though I'm pretty sure those two character are both Codewalker staging the screenshot. Probably doesn't want to show any real characters so people won't bug playtesters for early access. It's getting really close to release, just hang in there!

Edit: I was going to one-up him with a screenshot showing two actual characters, but...

(https://i.imgur.com/zKiYuFF.jpg)

At least I get to show off that bios work! New info! Yay!
Title: Re: Coming Soon
Post by: duane on June 21, 2015, 01:50:14 PM
darn salvage is full!!  Time to invent or sell at wentworths!
Title: Re: Coming Soon
Post by: Brou on June 21, 2015, 02:30:23 PM
This is kinda nice. Can the players move?
Title: Re: Coming Soon
Post by: Dale-Man on June 21, 2015, 03:02:28 PM
I am so psyched for this!
Title: Re: Coming Soon
Post by: Codewalker on June 21, 2015, 03:07:09 PM
This is kinda nice. Can the players move?

They can move and emote. Non-straight-line movement is a little jumpy on the remote end at this point, but I don't think that will stop 1.0, and we can continue to improve it post release.

There are a few showstopper bugs that need to be fixed first, like the costumes intermittently not appearing to other players, but we are definitely close. There's also a couple of high priority features that need to make it in first, for example making in-zone doors work so it's not a pain to get into places like City Hall.
Title: Re: Coming Soon
Post by: blue storm on June 21, 2015, 03:12:45 PM
As I said... I just can't wait to see you all again in the streets of Paragon City!

you guys absolutely rock!
Title: Re: Coming Soon
Post by: Ohioknight on June 21, 2015, 03:50:26 PM
They can move and emote. Non-straight-line movement is a little jumpy on the remote end at this point, but I don't think that will stop 1.0, and we can continue to improve it post release.

There are a few showstopper bugs that need to be fixed first, like the costumes intermittently not appearing to other players, but we are definitely close. There's also a couple of high priority features that need to make it in first, for example making in-zone doors work so it's not a pain to get into places like City Hall.

Rockin' Christmas party in Pocket D!


THIS YEAR IN PARAGON!

WOO HOO!
Title: Re: Coming Soon
Post by: AmberOfDzu on June 21, 2015, 05:01:23 PM
I'm amazed that this is underway, and look forward to it!

Will there be a single networked community sharing a single virtual space? Or will it be a few predefined communities, or will it be loosely organized groups of folks?


Title: Re: Coming Soon
Post by: themamboman on June 21, 2015, 05:03:25 PM
Ah, The Tiki Bar, here I come!

Also, special zones like the ski slopes and others, will those be available?

Also, will we have some sort of auto-notification of updates as you fix bugs and improve performance (and features) or will we need to check this website?

Thanks for doing this, can't wait to be back 'home'!
Title: Re: Coming Soon
Post by: Ohioknight on June 21, 2015, 05:07:36 PM
Ah, The Tiki Bar, here I come!

Also, special zones like the ski slopes and others, will those be available?


I've been assuming that if it's available in ICON it would be available in SOON!tm

If so, then any map that works with the client would be available somehow
(and if not at first, I'm pretty sure it wouldn't take long before somebody hacks a solution)
Title: Re: Coming Soon
Post by: The Fifth Horseman on June 21, 2015, 05:17:51 PM
... okay, you see my avatar, right?

SOON, WE DINE IN PARAGON CITY!  ;D
Title: Re: Coming Soon
Post by: Voltixdark on June 21, 2015, 05:19:13 PM
Nice Stuff! I had a feeling we'd get to chat together again on a server. Never thought we'd also be entering buildings like city hall like CodeWalker mentioned.

Question: Since doors ingame are being worked on. Are you also working on zone travel? Per say as in entering the big gates (i.e open highways to other zones) or metro-rail travel?
Title: Re: Coming Soon
Post by: Angel Phoenix77 on June 21, 2015, 05:21:47 PM
Question for travel is the trans working? Or is it dev input commands?
This is awesome btw :).
Title: Re: Coming Soon
Post by: Codewalker on June 21, 2015, 05:40:16 PM
Will there be a single networked community sharing a single virtual space? Or will it be a few predefined communities, or will it be loosely organized groups of folks?

At launch, the only officially supported server will be the Titan XMPP server that we are in the process of setting up. This is for two reasons, first is that it's running the server software that we've been developing and testing against (Openfire) so it's the most likely to actually work smoothly, and we can better support problems that people run into. The second is to get a decently sized chunk of the community together in one place to get the ball rolling. Also, for people who already have Titan accounts, they will automatically have an XMPP account and not have to set up something extra.

That said, it's designed to follow the XMPP specification, so in theory it can be used with any XMPP server that anybody is running so long as it supports the MUC (multi-user chat) service. The initial release defaults to the Titan server, but I'm sure it will not take enterprising users long to figure out how to point it elsewhere if they so desire, creating smaller private communities. That's up to them.

It was designed so that it should also work with open federated XMPP, allowing users to be on different servers and still chat with each other. Seeing each other is also possible, but at the moment requires typing some slash commands to establish a connection to a map hosted on a different conference service. It's also much less tested than the single-server setup and is kind of a 'for future use' item.

Also, special zones like the ski slopes and others, will those be available?

The Ski Chalet is currently not available, but it's on my to-do list to add a quick hack to that map to make it visible, so it'll probably make it in.

Also, will we have some sort of auto-notification of updates as you fix bugs and improve performance (and features) or will we need to check this website?

Update nags when a new version is available are also on the "not yet implemented, try to get this done in the next week or two before release" list.

Question: Since doors ingame are being worked on. Are you also working on zone travel? Per say as in entering the big gates (i.e open highways to other zones) or metro-rail travel?

That's a wish-list item that may or may not be working in time. It's not too difficult to implement given the current state things are in, just a question of getting the time to do it.

Question for travel is the trans working? Or is it dev input commands?
This is awesome btw :).

Trams are less likely to be working than the direct zone connections. There is a slash command to jump to any of the normal city and hazard zones by using its numeric map ID, so it's relatively quick to get where you want.

In-zone travel is a little slow since there's just running at the moment. Movement modes approximating flight and the other travel powers are something we're targeting for the 1.1 update.
Title: Re: Coming Soon
Post by: Korbian on June 21, 2015, 05:54:28 PM
*swoons a little*
Title: Re: Coming Soon
Post by: Auroxis on June 21, 2015, 06:00:02 PM
This. Friggin. Rocks.

I have quite a few stuff on my wish-list for future releases, but I'll keep em to myself until I get my hands on this beauty. Don't wanna disturb the wizards at work.
Title: Re: Coming Soon
Post by: Sullster on June 21, 2015, 06:02:06 PM
This. Friggin. Rocks.

I have quite a few stuff on my wish-list for future releases, but I'll keep em to myself until I get my hands on this beauty. Don't wanna disturb the wizards at work.

Indeed, This will be amazing :D
Title: Re: Coming Soon
Post by: TimtheEnchanter on June 21, 2015, 06:25:46 PM
Holey shamoley!! Somebody call The Cape! I think it's almost time for a parteeee!!!
Title: Re: Coming Soon
Post by: Nightsjester on June 21, 2015, 06:27:56 PM
This is fantastic guys! Sure its not really the game part of the game but its the part I utilized the most in the best roleplaying environment the mmo world has ever seen. Do you guys know how many concurrent users will be possible yet?
Title: Re: Coming Soon
Post by: Tater Todd on June 21, 2015, 06:34:56 PM
Woot!  I'm so excited!

*Snoopy Dance*
Title: Re: Coming Soon
Post by: spindisc on June 21, 2015, 06:39:53 PM
Best news ever!  :)
Title: Re: Coming Soon
Post by: Brightfires on June 21, 2015, 06:41:35 PM
*joins the Snoopy Dance*

This is going to be fun.  ;D
Title: Re: Coming Soon
Post by: Codewalker on June 21, 2015, 06:52:24 PM
I have quite a few stuff on my wish-list for future releases, but I'll keep em to myself until I get my hands on this beauty. Don't wanna disturb the wizards at work.

I'll be posting the development roadmap sometime within the next week when I do the official announcement. That shows what features are already planned for future versions with approximate priority and difficulty to implement to get an idea for which ones will be first.

So you can reconcile your personal wish list with that and see which items are already covered. :)
Title: Re: Coming Soon
Post by: FloatingFatMan on June 21, 2015, 07:01:55 PM
(https://www.cohtitan.com/misc/pcpromo1.jpg)

Looks like crossed Scimitar's... But this is going to get people talking Mr Codewalker, you tease, just wait till FFM see's this! Let the Inquisition begin  ;)

....
....
....
*EXPLODES*
Title: Re: Coming Soon
Post by: Lycantropus on June 21, 2015, 07:35:57 PM
THIS IS OFFICIALLY AWESOME!!!

I don't post much, but lurk around here a lot, I call it 'picking at scabs' as the closure of the City still affects me, and I've seen some of the best, and worst, of our Community since then. I used to play in Icon all the time, mostly logging in to fly in and out of Atlas Park to hear the theme music well up and get me through some 'rough spots', and still do visit it from time to time when I need a boost. The important thing is that the little SG that we formed is still together and teaming, if in other places... though there's no place like home...

But I digress... (wrote that paragraph like 5 times- this is happy news and I don't want to inflict all my emotional stuff on you guys- or at least minimize it ;) )

I have to say, it's something like this that has kept me coming back here, hoping. I'm happy the folks that created Icon have been plugging away at it to help bring our City back to us in some way. Now that this is happening I'm going to have to put more time into visiting Icon, and re-learning popmenus and such, researching game lore... and put my tabletop GM skills to use...

I tried to keep this as coherent as possible... Bouncing around a lot of thoughts and emotions right now... Just.... awesome stuff!!!!!! Thank you!!!

Seriously, thank you.

Lyc~
Title: Re: Coming Soon
Post by: Shadowe on June 21, 2015, 07:43:47 PM
Has FFM posted here since I mentioned this thread to him?

*looks upthread*

Ah, so he has.

 ;D
Title: Re: Coming Soon
Post by: FloatingFatMan on June 21, 2015, 07:48:33 PM
Has FFM posted here since I mentioned this thread to him?

*looks upthread*

Ah, so he has.

 ;D

DUUUUUUUDEOMGWTFBBQ!!!!!1111ONEONEONEELEVENEVELEN

In all seriousness though.. Codewalker, I take my hat off to you! Where do I send the beer & donuts? ;)
Title: Re: Coming Soon
Post by: Atlantea on June 21, 2015, 07:55:28 PM
It may not be the return of City of Heroes in full. It may not be missions, combat, or task forces. Or NPC mobs to beat on scattered through the zones.

But that was never the heart and soul of the COH community anyway.

It was the costume creator, the robust chat and emote system that let us organize and keep track of conversations and express ourselves to each other.

It was costume contests and parties in Pocket D and under Atlas statue. It was gathering for RP in Gemini Park. Or chatting locally with a friend in some out of the way part of the zone.

If this gives us back all those options, it's a monumental achievement, and one that helps keep the spirit of COH alive and the community together.

You guys freaking rock!
Title: Re: Coming Soon
Post by: Atlantea on June 21, 2015, 08:06:04 PM
And now for some more technical questions:

- Will we be able to make and keep friends lists using the in-game menu options? Or will that require something external?

- Similarly - how about creating and joining channels?

- If we add tabs or channels to the chat box, will it remember them the next time we log in?

- Would the in-game search option work on some level? To show you who is on?

- Related to the above - would the "Hide" options work?

- I don't know how XMPP operates - at all - but based on the context of comments above, it seems like people can split off into their own private channels/hosted rooms/servers. Would they show up in a search from the main Titan XMPP server? If they did, would they show up as being on a different "server"? (Like "such and such person's character is on Virtue server and you're currently on Pinnacle from the original live game) Or would they not show up at all?

- Would emotes work with the regular commands?

- Can Masterminds spawn non-combat versions of their pets? And if so - would the mastermind/pet emote options work?

- Come to think of it - would people be able to spawn NPCs and make emote commands work for THEM? (Would be great for people wanting to "tabletop" RP and say - "this is your opponent" etc.)


More to come as I think about it. My mind - she is blown with the possibilities...

Title: Re: Coming Soon
Post by: Nyx Nought Nothing on June 21, 2015, 08:22:43 PM

Anyway, i'm guessing that the client version that the Titan servers will be using is the i24 beta client, yes?
In-zone travel is a little slow since there's just running at the moment. Movement modes approximating flight and the other travel powers are something we're targeting for the 1.1 update.
Shivering with antici-
Title: Re: Coming Soon
Post by: Atlantea on June 21, 2015, 08:24:10 PM
SAY IT!!

SAY IT!!

Title: Re: Coming Soon
Post by: Tax E on June 21, 2015, 08:40:36 PM
(https://i.imgur.com/xd3QoCE.gif)
Title: Re: Coming Soon
Post by: Codewalker on June 21, 2015, 08:42:42 PM
- Will we be able to make and keep friends lists using the in-game menu options?

Yes, the global friends list is functional and is mapped to your roster. That means if you connect to your account from a standard XMPP client like Pidgin, all of your friends will show up in your Buddy List, and vice versa.

Quote
- Similarly - how about creating and joining channels?

Yes, you can create/join global channels. They are implemented as MUC chatrooms, which can be joined from standard clients as well as in game.

Currently the ability to set channel options like private or moderated does not yet function from in-game. However, you can create a chatroom with those options set from a standard XMPP client and then join it from COH.

Quote
If we add tabs or channels to the chat box, will it remember them the next time we log in?

Not yet, but option, UI, and channel saving is something I'm hoping to have working by release. No promises though.

Quote
Would the in-game search option work on some level? To show you who is on?

Currently no. A /whoall command to see who is in the current zone is on the to-do list, however XMPP in general doesn't have a way to query everyone on the entire server.

There is one global channel that new characters are joined to by default to act as a gathering point, however it only does this once so you can leave the channel if you don't want to be part of it.

Quote
- Related to the above - would the "Hide" options work?

Not really, though since there's no global search you can hide somewhere obscure and only your friends will be able to easily find you. You also have the option to type /xmppdisconnect to wander around an icon-esque empty city.

Quote
I don't know how XMPP operates - at all - but based on the context of comments above, it seems like people can split off into their own private channels/hosted rooms/servers. Would they show up in a search from the main Titan XMPP server? If they did, would they show up as being on a different "server"? (Like "such and such person's character is on Virtue server and you're currently on Pinnacle from the original live game) Or would they not show up at all?

The Titan server will have s2s (server-to-server) XMPP communication disabled until we're confident that we have the ability to deal with issues like spam and harassment if they originate from other servers.

Currently the only way to communicate with someone on another server is to know their full JID, which looks like an email address. You can add them to your friends list and they get assigned a shorter 'global handle' that you can refer to them more easily with.

Quote
- Would emotes work with the regular commands?

Yes, thanks in no small part to the effort on the Icon forum from back in 2013 (http://www.cohtitan.com/forum/index.php/topic,8967.0.html) where several community members (wyldhunt in particular) helped compile a spreadsheet mapping the common names for emotes to the sequencer state bits that cause the animation.

Quote
- Can Masterminds spawn non-combat versions of their pets? And if so - would the mastermind/pet emote options work?

No, that would require AI (even if all it did was follow) and pathfinding, which are probably the two most complex things that the COH server did and the hardest to reproduce.

Quote
- Come to think of it - would people be able to spawn NPCs and make emote commands work for THEM? (Would be great for people wanting to "tabletop" RP and say - "this is your opponent" etc.)

Not yet, but there are some plans to do something along those lines in the future.
Title: Re: Coming Soon
Post by: Atlantea on June 21, 2015, 09:08:44 PM
Yes, the global friends list is functional and is mapped to your roster. That means if you connect to your account from a standard XMPP client like Pidgin, all of your friends will show up in your Buddy List, and vice versa.

WOW...

"Mapped to your roster"

Wait... we can maintain a roster of characters/avatars like on live?

I mean - no powers of course - but "Soon" would remember this roster and we could choose which character to log in with using the normal game interface?

If so - then the global name/character name system in "Soon" would work as before? I mean - for example, I log in with "Cyberman 8" and people see that character with that name above the avatar, but they can also check the global list and see that "@atlantea" is online as "Cyberman 8"?

That's what it sounds like - I'm just trying to be sure, here.
Title: Re: Coming Soon
Post by: Rejolt on June 21, 2015, 09:15:29 PM
This is awesome. Anything we can do to help let us know.

My question would be from here: how open source do you want this to be, eventually? Would you take on volunteers, college programmers looking for experience, etc. Do we want gameplay for this? Can the CoX community roll with 3 projects and ApR? Can your work use APR maps?

Ok, too many questions. Thanks for what you've done and good luck.
Title: Re: Coming Soon
Post by: Codewalker on June 21, 2015, 09:17:33 PM
I meant XMPP roster, which is basically your server-side contact list that also controls who can see your presence (as online/offline/away, or in this case also what zone and character you're on).

But yes, you can create characters that are persisted so you don't have to recreate them every time. The characters themselves are not saved on the server, but are local to your computer, so you can use them on any server that you connect to,

If so - then the global name/character name system in "Soon" would work as before? I mean - for example, I log in with "Cyberman 8" and people see that character with that name above the avatar, but they can also check the global list and see that "@atlantea" is online as "Cyberman 8"?

Right, it uses the name and appearance of the character you logged in with when you're in zone with somebody, but @atlantea is your account name and is what goes on people's friends list. You can right-click on somebody to get their global and/or add them as a friend.

There's the added wrinkle with this setup that if you're using the Titan server, your full username is actually atlantea@chat.cohtitan.com (which it would be since you have the 'Atlantea' account). Other people logging in to chat.cohtitan.com see you as simply @atlantea. If and when we turn on multi-server federation, people on other servers would see your global as atlantea@cohtitan.
Title: Re: Coming Soon
Post by: Nyghtshade on June 21, 2015, 10:01:30 PM
This may sound like a silly question, but if I have Icon already installed on my PC, as well as COH Beta... how can I tell if I have the I-23 or I-24 version?  I don't want to download the I-24 version again, if I already have it.

Thanks for any help with this!
Title: Re: Coming Soon
Post by: Rejolt on June 21, 2015, 10:04:34 PM
This may sound like a silly question, but if I have Icon already installed on my PC, as well as COH Beta... how can I tell if I have the I-23 or I-24 version?  I don't want to download the I-24 version again, if I already have it.

Thanks for any help with this!

http://www.cohtitan.com/forum/index.php/topic,9675.msg182606.html#msg182606

Was told to me when I asked. Link to a link.
Title: Re: Coming Soon
Post by: goodtime on June 21, 2015, 10:11:21 PM
Eeeeeemmmmmmmoooooooooooooooooooooooooooooooooootttttttttttttttttttttttttttttttteeeeeeeeeeeeeesssssssssssssssss!
Title: Re: Coming Soon
Post by: Brightfires on June 21, 2015, 10:13:04 PM

Not yet, but there are some plans to do something along those lines in the future.

Yays!

Kestrel just isn't properly Kestrel without her Cardinal floating around. ^_^
It would be lonely to have one of them running around without the other.
Title: Re: Coming Soon
Post by: Nyx Nought Nothing on June 21, 2015, 11:06:59 PM
This is getting quite a bit of attention in the CoH Facebook groups with a whole bunch of fans squealing with glee over the thought of just being able wander the maps while chatting with other players. Although in at least one of them the moderator is claiming in one post that this is a big step forward towards bringing the game back and in another insisting he'd been playing on a private server for about two years with several hundred people until recently getting banned. Now to some people it might seem paradoxical to make both claims at once, but then he's been aggressively deleting any posts that express doubts or raise issues with his claims, so obviously it must be true.


So anyway, there's now hundreds (at least) of people avidly anticipating this. i wouldn't be surprised if news about this project hits MassivelyOP soon if it hasn't already and that number becomes something closer to tens of thousands.






Edited to add: i might be overoptimistic by a factor of ten, but i still think this will garner almost as much attention as the potential deal has.
Title: Re: Coming Soon
Post by: SeaLily on June 21, 2015, 11:37:59 PM
Is this going to allow for NPC mode costumes or will we be limited to player costumes?
Title: Re: Coming Soon
Post by: Arcana on June 22, 2015, 12:17:01 AM
Perhaps we should let Codewalker actually release the software before asking him for the entire implementation specification.  I'm guessing that any feature the client supported directly will be added eventually, its just a question of when.
Title: Re: Coming Soon
Post by: -Psi- on June 22, 2015, 12:42:27 AM
Fantastic.

You guys are crazy-impressive.

(https://media.giphy.com/media/TAozOrHYx32SI/giphy.gif)
Title: Re: Coming Soon
Post by: Leandro on June 22, 2015, 12:47:00 AM
That flood of questions is why there was an NDA on talking about it until it was ready. Most of the answers would have been impossible to know any earlier than now. We've been biting our collective tongues for a very long time!
Title: Re: Coming Soon
Post by: Codewalker on June 22, 2015, 01:03:44 AM
Well, that and I'm not a fan of posting about far off goals and making huge promises for some big upcoming thing, then it taking a year before it actually shows up and is a disappointment compared to what was promised. So I wanted to make sure it would actually work before we told anyone it was being worked on.

Especially considering the obvious sore spots this community has due to the original closure. There's absolutely nothing to be gained by teasing people about something they can't have unless its availability is imminent.

I know everybody is curious, so I'm going to be posting a FAQ topic in a couple days to cover the ins and outs of what this project can and can't do. Since I have a lot of work to finish getting it ready for release, I'll ask that any questions along those lines be deferred until then, because chances are it will be answered in that post.
Title: Re: Coming Soon
Post by: Nyx Nought Nothing on June 22, 2015, 01:22:18 AM
Perhaps we should let Codewalker actually release the software before asking him for the entire implementation specification.  I'm guessing that any feature the client supported directly will be added eventually, its just a question of when.
There's what should be done and then there's what people actually do. In these sorts of situations they're rarely all that close to each other.

That said i will be waiting and avidly anticipating any info that comes out. Mostly i will be looking forward to eventually being able to fly again, which has already been stated as a release 1.1 goal. The ability to create avatars and chat and emote with other players already covers the majority of what i was hoping for from the project at this point; everything else will be gravy.
Title: Re: Coming Soon
Post by: Stonehead on June 22, 2015, 01:38:04 AM
I know everybody is curious, so I'm going to be posting a FAQ topic in a couple days to cover the ins and outs of what this project can and can't do. Since I have a lot of work to finish getting it ready for release, I'll ask that any questions along those lines be deferred until then, because chances are it will be answered in that post.
Very exciting news this weekend.  Looking forward to learning more.


D
Title: Re: Coming Soon
Post by: Vee on June 22, 2015, 01:41:46 AM
I know everybody is curious, so I'm going to be posting a FAQ topic in a couple days to cover the ins and outs of what this project can and can't do. Since I have a lot of work to finish getting it ready for release, I'll ask that any questions along those lines be deferred until then, because chances are it will be answered in that post.

So a NSFAQ then?
Title: Re: Coming Soon
Post by: Illusionss on June 22, 2015, 01:57:53 AM
if we are going to be using the version of i24 we have on our computers now [if I'm understanding correctly] does this mean that if we have costumes saved in i24, that we could just jump in using those costumes we have waiting for our characters? Excuse stupid question, I know nothing about how all this works.

I didn't realize how much I missed DJ Zero. *tears up*

EDIT- ooops I didn't see the request not to post more questions. Sorry. I can wait for more info.
Title: Re: Coming Soon
Post by: LaughingAlex on June 22, 2015, 02:45:00 AM
I'm already speculating what this means in the future......

....and how this will affect the ball game.

To those idiots who say we will never get the game back, I dare you to see that we have not given up and any time you think we'll give up, we get something to make that hope of yours we'll give up nothing but a pipe dream as our resolve continues to strengthen.

WE WILL HAVE OUR CITY BACK.

Because we got experts doing this and everything else to get it back and I know WE CAN DO THIS.
Title: Re: Coming Soon
Post by: Victoria Victrix on June 22, 2015, 02:49:36 AM
I know I haven't logged into Titan for a very long time (two years).

First, I got very, very, very sick with some form of influenza.  At that point I turned Hail Mary over to Rae and Quinch.  They had access to everything I had.

Then my mother died.

Then our housekeeper stole my ATM card and the PIN number that had come in the mail to our savings account and wiped it out.  The police investigated and she claimed Larry had given it to her because they were having an affair.  The Credit Union used this to decline to reimburse us.  Several lawyers told us the case was unwinnable, because the Credit Union (TCCU) would continue to appeal even if we won. wiping out any money we might get back.

Then Larry's mother developed a brain tumor, requiring him to spend months in Vegas to help his dad.  She was operated on and the operation was a success but....

....she developed Alzheimer's Dementia and went into a rapid decline and died this time last year.

I considered trying to revive Hail Mary, but decided not to given (a) the number of gaming studios that had closed and (b) that I had just started a writing project for Hyperion/Disney that was taking up all my "spare" time and became this:  http://www.amazon.com/Hunter-Mercedes-Lackey/dp/1484707842 (http://www.amazon.com/Hunter-Mercedes-Lackey/dp/1484707842)

I've been part of the testing group for SOON(TM) recently, and I'm glad it is very very close to implementation.  I can't wait to get my old RP buddies together and see my toon herd again.

Sorry I haven't been around but I hope the above are reasons enough.
Title: Re: Coming Soon
Post by: LaughingAlex on June 22, 2015, 02:51:19 AM
You'll start seeing me roleplaying again, for sure.  I might even see if I can invite some friends from CO over.  If I have the time, my latest job, training has me going to be at 9pm and getting up at 4am when many friends are not on earlier than 10pm.  Yeah.
Title: Re: Coming Soon
Post by: BraveStar on June 22, 2015, 02:54:00 AM
You guys are AWESOME!!
Title: Re: Coming Soon
Post by: Golden Girl on June 22, 2015, 02:55:01 AM
Technically, this does include a form of superheroic combat, as its very existence is an attack on the greatest supervillain of them all ;)
Title: Re: Coming Soon
Post by: Atlantea on June 22, 2015, 02:56:53 AM
Damn, VV, that's a lot of crap to go through. I'd heard about some of it. But not all. *hugs*

Title: Re: Coming Soon
Post by: Ohioknight on June 22, 2015, 03:12:59 AM
Technically, this does include a form of superheroic combat, as its very existence is an attack on the greatest supervillain of them all ;)

Ahhh, the evil Sumerian deity Ensi Soph
Title: Re: Coming Soon
Post by: Atlantea on June 22, 2015, 03:14:36 AM
Ahhh, the evil Sumerian deity Ensi Soph

*Hands over card*

You sir, win an internet.
Title: Re: Coming Soon
Post by: TinFoil on June 22, 2015, 03:52:42 AM
Impressive sounding stuff!
Title: Re: Coming Soon
Post by: Andy on June 22, 2015, 03:59:54 AM
I cannot express how very, very exciting this is. Thank you so much for doing this, guys!
Title: Re: Coming Soon
Post by: Illusionss on June 22, 2015, 04:06:20 AM
Quote
VV: Sorry I haven't been around but I hope the above are reasons enough.

Jaysus. Anyone who would say they were not enough, deserves kicks in the shins with Doc Martens. Once one hits bottom, there is nowhere to go but up.

And in other news, I would suggest NC kick it into high gear, before their "negotiations" are rendered useless by the playerbase having other alternatives. First ICON. Now this, one wonders what next. Meanwhile the successors are still going hammer and tongs.... I'd suggest NC sell.

Or be rendered irrelevant, either option is fine with me.
Title: Re: Coming Soon
Post by: Kriiden on June 22, 2015, 06:43:07 AM
I know I haven't logged into Titan for a very long time (two years).

First, I got very, very, very sick with some form of influenza.  At that point I turned Hail Mary over to Rae and Quinch.  They had access to everything I had.

Then my mother died.

Then our housekeeper stole my ATM card and the PIN number that had come in the mail to our savings account and wiped it out.  The police investigated and she claimed Larry had given it to her because they were having an affair.  The Credit Union used this to decline to reimburse us.  Several lawyers told us the case was unwinnable, because the Credit Union (TCCU) would continue to appeal even if we won. wiping out any money we might get back.

Then Larry's mother developed a brain tumor, requiring him to spend months in Vegas to help his dad.  She was operated on and the operation was a success but....

....she developed Alzheimer's Dementia and went into a rapid decline and died this time last year.

I considered trying to revive Hail Mary, but decided not to given (a) the number of gaming studios that had closed and (b) that I had just started a writing project for Hyperion/Disney that was taking up all my "spare" time and became this:  http://www.amazon.com/Hunter-Mercedes-Lackey/dp/1484707842 (http://www.amazon.com/Hunter-Mercedes-Lackey/dp/1484707842)

I've been part of the testing group for SOON(TM) recently, and I'm glad it is very very close to implementation.  I can't wait to get my old RP buddies together and see my toon herd again.

Sorry I haven't been around but I hope the above are reasons enough.

Sorry to hear that VV. I wish you the best of luck.

Besides that, welcome back!
Title: Re: Coming Soon
Post by: Arcana on June 22, 2015, 07:20:31 AM
There's what should be done and then there's what people actually do.

In the context of this game I've been dealing with that particular circumstance for a very long time.
Title: Re: Coming Soon
Post by: Syzer/Kinetic Volcanoria on June 22, 2015, 07:21:26 AM
This looks neat. :) Seems pretty promising now that I actually got over my fear of forums and decided to read this thread. lol
Title: Re: Coming Soon
Post by: Arcana on June 22, 2015, 07:46:19 AM
Sorry I haven't been around but I hope the above are reasons enough.

There's no need to justify your absence; real life comes for us all.  Welcome back.

I hope your testing of The Thing has been a bright spot.  You know, this is the first time in ten years I haven't been in a City of Heroes beta.  Its a weird feeling waiting on the sidelines for a release.  Weird, but exciting.
Title: Re: Coming Soon
Post by: Leandro on June 22, 2015, 07:52:33 AM
Hey, I did extend the invitation back when we were starting up, you just never showed up. >:(

We had someone scared the entire time that you were going to show up, correct all his numbers, and kick him out of development. :P
Title: Re: Coming Soon
Post by: Arcana on June 22, 2015, 08:14:56 AM
Hey, I did extend the invitation back when we were starting up, you just never showed up. >:(

We had someone scared the entire time that you were going to show up, correct all his numbers, and kick him out of development. :P

Weird; either I missed it or it got lost in gmail's filters.  Which actually, has happened more than once for City of Heroes closed beta invitations.  Shoot me an email when you get a chance, just so I can see if something got lost somewhere.
Title: Re: Coming Soon
Post by: Sarrona on June 22, 2015, 08:28:33 AM
This is neat.
Title: Re: Coming Soon
Post by: nikitastorm on June 22, 2015, 08:43:00 AM
I know I haven't logged into Titan for a very long time (two years).

...

Sorry I haven't been around but I hope the above are reasons enough.

Yikes! I am so sorry to hear of all you have been through. Happy to see you are back, and hoping that life has finally settled down some for you. Definitely no need to apologize for anything!
Title: Re: Coming Soon
Post by: Victoria Victrix on June 22, 2015, 09:20:06 AM
Well the good news out of all the bad is the Disney project.  Three book (so far) deal, Young Adult Post-Apocalypse with magic.  They are promoting the heck out of this.  Fingers crossed.
Title: Re: Coming Soon
Post by: Reiraku on June 22, 2015, 09:27:28 AM
Well the good news out of all the bad is the Disney project.  Three book (so far) deal, Young Adult Post-Apocalypse with magic.  They are promoting the heck out of this.  Fingers crossed.
(https://images.weserv.nl/?url=www.quickmeme.com%2Fimg%2F3d%2F3dfb55aad54797770e4680579a7dbc6291dbba1d433f26e4e3170ced9f08fa24.jpg)
Title: Re: Coming Soon
Post by: General Idiot on June 22, 2015, 10:45:58 AM
You know, that sounds like something I'd actually want to read. Curse my current lack of disposable income. :(
Title: Re: Coming Soon
Post by: Kyriani on June 22, 2015, 10:51:10 AM
Ha! Soon(tm) is in the news already!

http://www.mmogames.com/gamenews/45608/return-city-heroes-soon/ (http://www.mmogames.com/gamenews/45608/return-city-heroes-soon/)
Title: Re: Coming Soon
Post by: Wulfen on June 22, 2015, 11:07:39 AM
I think ima gonna have a COH nerdgasm SOON.  ;)
Title: Re: Coming Soon
Post by: LaughingAlex on June 22, 2015, 11:20:04 AM
Wanna bet how many roleplayers come to SOON from CO and DCUO for roleplaying?  Remember 90% of them don't play CO anymore if they are playing it.  And DCUO just doesn't support RP.
Title: Re: Coming Soon
Post by: Bear on June 22, 2015, 11:46:41 AM
++ Awesome!  8)
Title: Re: Coming Soon
Post by: r00tb0ySlim on June 22, 2015, 12:02:44 PM
Well the good news out of all the bad is the Disney project.  Three book (so far) deal, Young Adult Post-Apocalypse with magic.  They are promoting the heck out of this.  Fingers crossed.
Welcome back!!  Wishing you the best regarding the books  :)
Title: Re: Coming Soon
Post by: SuburbanHell on June 22, 2015, 01:16:54 PM
Since I didn't see it asked already, I have a couple more "technical" questions to add to the list, though I'd expect these all to be no, I figured I'd ask:

1)Can we activate our powers?  Sure there's no one to target yet but I want to super jump and punch the air or shoot laser beams into nothing just to be able to fire off my powers again.

2)Will transit work?  i.e. no more /loadmap whatever, instead go click on a train or a war wall and go to where we were supposed to go, or select from a popup list?

3)Skiing - CAN WE?  Hanging out in Pocket D or whatever is fine but the ski lodge skiing would be amazing.
Title: Re: Coming Soon
Post by: The Fifth Horseman on June 22, 2015, 01:22:21 PM
1)Can we activate our powers?  Sure there's no one to target yet but I want to super jump and punch the air or shoot laser beams into nothing just to be able to fire off my powers again.
No. As far as I understand, this is basically exploiting COH client to create a visual chatroom with COH assets. Good enough for costume contests and RP, not for actual powers, much less combat.
Quote
2)Will transit work?  i.e. no more /loadmap whatever, instead go click on a train or a war wall and go to where we were supposed to go, or select from a popup list?
Strongly indicated yes. Selection from popup lists already exists in the form of the maps popmenu.
Quote
3)Skiing - CAN WE?  Hanging out in Pocket D or whatever is fine but the ski lodge skiing would be amazing.
IIRC it's doable in Icon, so probably yes.
Title: Re: Coming Soon
Post by: SuburbanHell on June 22, 2015, 01:30:24 PM
2 out of 3 ain't bad.  I'd kill to use my powers again though, but hey, this is still a tremendous step in the right direction.
Title: Re: Coming Soon
Post by: Atlantea on June 22, 2015, 01:34:16 PM
If we actually DO get into the ski chalet - I wonder if the gravity geysers at the bottom of the runs will still work? Is that an environmental thing client-side or a "power" that needs to be activated...

Could imagine so many people getting stuck down at the bottom of the ski runs...
Title: Re: Coming Soon
Post by: SuburbanHell on June 22, 2015, 01:46:48 PM
Just tried it, they do not work.  On the positive side, we all do have the power of flight in Icon, so, there is a workaround.
Title: Re: Coming Soon
Post by: Leandro on June 22, 2015, 01:55:04 PM
Title: Re: Coming Soon
Post by: MWRuger on June 22, 2015, 01:59:44 PM
I know I haven't logged into Titan for a very long time (two years).

First, I got very, very, very sick with some form of influenza.  At that point I turned Hail Mary over to Rae and Quinch.  They had access to everything I had.

Then my mother died.

Then our housekeeper stole my ATM card and the PIN number that had come in the mail to our savings account and wiped it out.  The police investigated and she claimed Larry had given it to her because they were having an affair.  The Credit Union used this to decline to reimburse us.  Several lawyers told us the case was unwinnable, because the Credit Union (TCCU) would continue to appeal even if we won. wiping out any money we might get back.

Then Larry's mother developed a brain tumor, requiring him to spend months in Vegas to help his dad.  She was operated on and the operation was a success but....

....she developed Alzheimer's Dementia and went into a rapid decline and died this time last year.

I considered trying to revive Hail Mary, but decided not to given (a) the number of gaming studios that had closed and (b) that I had just started a writing project for Hyperion/Disney that was taking up all my "spare" time and became this:  http://www.amazon.com/Hunter-Mercedes-Lackey/dp/1484707842 (http://www.amazon.com/Hunter-Mercedes-Lackey/dp/1484707842)

I've been part of the testing group for SOON(TM) recently, and I'm glad it is very very close to implementation.  I can't wait to get my old RP buddies together and see my toon herd again.

Sorry I haven't been around but I hope the above are reasons enough.

I'm glad you are back and sorry for your troubles. But really, you owe us nothing, not even an explanation. Your time is your own and how you spend is up to you. Of course, we appreciate all you have done, but saving COH is an obligation of the entire community not one overworked and overtaxed individual.
Title: Re: Coming Soon
Post by: MWRuger on June 22, 2015, 02:01:56 PM
Codewalker and team.

I don't have words that can adequately convey how grateful I am for this. I know it isn't the game but it's closer than we have come in two years and it is a phenomenal technical achievement.

Thank you!
Title: Re: Coming Soon
Post by: Globetrotter on June 22, 2015, 02:16:10 PM
I have been reading these forums on a regular basis in the past years.

Very happy there is some real good news now!


To VV: very understandable that you had to let The Hail Mary Project go under the circumstances. Good to know you play test things for us and are in the loop again. :)
Title: Re: Coming Soon
Post by: SuburbanHell on June 22, 2015, 02:17:21 PM
Oh! I thought of one more question - will there be musical cues for certain areas of the city?  Walking around Icon now is awfully silent.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 22, 2015, 02:27:43 PM
Oh! I thought of one more question - will there be musical cues for certain areas of the city?  Walking around Icon now is awfully silent.

Check your sound settings? I get the various sub-zone musics in Icon when I enter them...
Title: Re: Coming Soon
Post by: Rotten Luck on June 22, 2015, 02:49:26 PM
(https://images.weserv.nl/?url=imgc.allpostersimages.com%2Fimages%2FP-473-488-90%2F67%2F6751%2FRNAZ100Z%2Fposters%2Fthe-wizard-of-oz-there-s-no-place-like-home.jpg)

Paragon City I felt more HOME there then any game ever and never found after.  Code Walker and the rest of those working on this.  I'm shedding tears of hope. 
Title: Re: Coming Soon
Post by: SuburbanHell on June 22, 2015, 02:55:48 PM
Check your sound settings? I get the various sub-zone musics in Icon when I enter them...

Thanks for the tip, I stand corrected, they are there -- for some reason my music volume was at 10%.
Title: Re: Coming Soon
Post by: Reaper on June 22, 2015, 02:57:01 PM
Title: Re: Coming Soon
Post by: FloatingFatMan on June 22, 2015, 03:03:23 PM
Thanks for the tip, I stand corrected, they are there -- for some reason my music volume was at 10%.

So, just how hard did you slap your forehead? :P
Title: Re: Coming Soon
Post by: tripthicket on June 22, 2015, 03:06:30 PM
Have just (supposedly carefully) reread this entire thread, looking for some kind of answer to my own particular concern. I think Arcana addressed it in some fashion, but I'd like to ask for as straightforward an answer as can be given. Please do realize I'm not trying to put anyone 'on the spot,' but given our initial heartbreak, all the waiting since, and the negotiations having gone on for so long with no end in sight and no word on progress on that front possible...(ask your question already!)

Baldly, how legal is this? Obviously, you all wouldn't have worked on this for so long and then publicly announced it like this if you thought or knew you were doing something wrong. I'm asking because, if nothing else, we'll be using City of Heroes costumes and maps. Though we already do this in Icon, this would seem to take things further towards crossing the line, although I admit I'm fuzzy on what or where the line is.

Let me restate my question. Many of us have hard and/or hurt feelings where NCSoft is concerned. What's to keep NCSoft from swooping in and shutting this latest operation down?

I'm as excited about this new development as anyone, but I'm just afraid of having this snatched away from us or never having it materialize in the first place. I'm excited, and yet very wary, and it's because I don't really understand how this will be allowed. Not accusing anyone of any wrongdoing, mostly because I do believe no wrongdoing is happening, but I'm asking because I don't quite get it.
Title: Re: Coming Soon
Post by: TonyV on June 22, 2015, 03:12:52 PM
This looks neat. :) Seems pretty promising now that I actually got over my fear of forums and decided to read this thread. lol

Can I just take a second here to say welcome, and we're glad you finally made it?
Title: Re: Coming Soon
Post by: FloatingFatMan on June 22, 2015, 03:17:43 PM
Let me restate my question. Many of us have hard and/or hurt feelings where NCSoft is concerned. What's to keep NCSoft from swooping in and shutting this latest operation down?

As long as all the code used is the work of Codewalker and his team, and nothing is taken from the game code at all, NCSoft don't have a leg to stand on, legally.
Title: Re: Coming Soon
Post by: SuburbanHell on June 22, 2015, 03:22:14 PM
I suppose a bigger question is, if NCSoft caught wind of this, would it be problematic for the team that is still in negotiations with them?
Title: Re: Coming Soon
Post by: tripthicket on June 22, 2015, 03:23:26 PM
As long as all the code used is the work of Codewalker and his team, and nothing is taken from the game code at all, NCSoft don't have a leg to stand on, legally.

And this is true despite using City of Heroes IP stuff? I ask because I understand a large part of the ongoing negotiations with NCSoft is about acquiring the City of Heroes IP for us to use as we see fit.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 22, 2015, 03:30:44 PM
And this is true despite using City of Heroes IP stuff? I ask because I understand a large part of the ongoing negotiations with NCSoft is about acquiring the City of Heroes IP for us to use as we see fit.

But they're not, not in their own code.  It's just enabling something else to function by emulating a server.  No actual use of their IP is involved, as far as I know.

That's how it went with Icon anyway, and can only presume the same applies here. Codewalker isn't the sort to forget that kind of detail, so I wouldn't worry. He's already commented that NCSoft can't touch this.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 22, 2015, 03:31:25 PM
I suppose a bigger question is, if NCSoft caught wind of this, would it be problematic for the team that is still in negotiations with them?

Negotiations? BWAHAHAHAHAHAHAHA!!!

Yeah, right... Because they ever had any serious intentions of selling...
Title: Re: Coming Soon
Post by: NeutronStar on June 22, 2015, 03:36:31 PM
Wow... first time in over two years that I come back, and I see this...

F'ING AWESOME!!!

Sorry, got carried away there. :)

My questions are Costume Functionality, and Character Slots. As in, what will be available, and how many slots? Might have to jury-rig a few things, I'm thinking, which is no big deal to me. :)
Title: Re: Coming Soon
Post by: MWRuger on June 22, 2015, 03:42:21 PM
I would say that it is just about as  legal as Icon is. NCSoft hasn't objected to that as far as I know.

You have to think about what this is. It is using the client, but not the server in any fashion. It is (if I am understanding what I am reading) using a complete third party chat program with some clever programming to pass information to and from a chat server (not a game server). It is not using any more of the code than Icon did.

Further, future developments are likely to hinge on how much data can be passed before the server starts to bog down. I imagine that every time someone joins all the information about their character has to be passes to every connected client. If someone does an emote that has to passes. There is also a question of how lag could be handled. It is possible that someone could trigger an emote and by the time you react to they may no longer be there. These are just a few things I can think of and I'm not a tech guru.

This is still an amazing achievement and very welcome. Just be aware of what it is and isn't.

I suspect that this will replace Icon (which manipulates the local client) with another entire program Soon (which will manipulate the local client). Also, it isn't explicitly stated (or I missed it) but it may or may not have all the capabilities of Icon. I seem to recall Codewalker saying that travel is limited to run, which means that flight, available in Icon, may not be in Soon. The free floating camera may or may not be there. We will just have to wait upon the FAQ and the release of Soon.
Title: Re: Coming Soon
Post by: Leandro on June 22, 2015, 04:12:36 PM
It's more legal than Icon is. Icon is modifying the cityofheroes executable in memory. This new project uses the network communication that the client itself offers. If you run the game with cityofheroes -db 127.0.0.1 you're asking it to connect to a server on your own computer, and it'll happily do that -- no alterations necessary. It's using functionality that exists in the unmodified client.

The magic happens in a translation layer (the "server" that the client connects to) that reads all the messages from the COH format and converts them to XMPP messages. This is the same thing as having a converter to turn JPEG files into PNGs, or converting a DOC file to a PDF. Conversion tools exist for a massive amount of formats and are 100% legal.

The messages are then sent to an XMPP server, and this is crucial: the XMPP server it's an off-the-shelf generic server with no COH code or data in it. XMPP is generally used as a chat program, but it will also pass data that the clients request be passed without touching it -- and the translating layer sends all the COH-relevant data that way.

So, the server component is 100% legal. You don't need to connect to Titan's own XMPP server, any XMPP server that supports the relevant extensions will work. You can, for example, connect using your Google account, see all your Google contacts as global friends, and chat with them from the game. If NC wants to argue that Google's server is infringing their rights... I'll just get the popcorn.
Title: Re: Coming Soon
Post by: tripthicket on June 22, 2015, 04:29:31 PM
Thanks, Leandro, for clearing this up for me. I don't want to be the guy who keeps saying "Yeah, but...yeah, but...," so I'll just state that my understanding now is that if Icon isn't an illegal use of the City of Heroes IP, then this isn't either. I will now allow myself to be excited about this without reservation. Thanks very much to all those who have worked long and hard on this from no other motivation than love of the game and the desire to go home.  ;D
Title: Re: Coming Soon
Post by: lapucelle on June 22, 2015, 04:32:32 PM
This is a fantastic thing and I applaud every legal moment of this.

Hey, maybe I'll do a meet and greet, if Legal approves.
Title: Re: Coming Soon
Post by: Codewalker on June 22, 2015, 04:44:02 PM
My questions are Costume Functionality, and Character Slots. As in, what will be available, and how many slots? Might have to jury-rig a few things, I'm thinking, which is no big deal to me. :)

48 slots per "account". And you can create as many "accounts" as you want just by typing a different name on the login screen once the game loads. The only hard part is remembering which characters are under which name.

I put "account" in quotes because character data is all saved on your local computer and is not tied in any way to the chat server you connect to for multiplayer functionality.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 22, 2015, 04:46:49 PM
Seeing as CW asked us all to wait on questions until he released the FAQ, I'm withdrawing mine, for now. :P
Title: Re: Coming Soon
Post by: Ohioknight on June 22, 2015, 04:51:02 PM
Thanks, Leandro, for clearing this up for me. I don't want to be the guy who keeps saying "Yeah, but...yeah, but...," so I'll just state that my understanding now is that if Icon isn't an illegal use of the City of Heroes IP, then this isn't either. I will now allow myself to be excited about this without reservation. Thanks very much to all those who have worked long and hard on this from no other motivation than love of the game and the desire to go home.  ;D

I think NCSoft might object to YOU individually running the client in connection to this -- they could always send any individual participant a C&D letter or file some kind of legal action... I'm pretty sure they would lose if it came to a full court case, but they could always bankrupt an individual with legal BS costs to force a settlement.
Title: Re: Coming Soon
Post by: AmberOfDzu on June 22, 2015, 04:52:14 PM
Another question: How do you all expect this to scale? Have you tested with many simultaneous connected users? Does the load on the XMPP server scale linearly or super-linearly? How about the load on the clients? Is there a chat-lag effect that can occur?

And one more, only loosely related to the above; is there any collision detection (Iirc, the mapserver used to handle this? I'm not sure now, it's been too long for me) or will characters be able to merge/'over-print' visually?
Title: Re: Coming Soon
Post by: FloatingFatMan on June 22, 2015, 05:03:52 PM
Title: Re: Coming Soon
Post by: Arcana on June 22, 2015, 05:22:04 PM
As long as all the code used is the work of Codewalker and his team, and nothing is taken from the game code at all, NCSoft don't have a leg to stand on, legally.

They have a couple of legal legs to stand on, but none I think they would want to test in court with regard to a project like this.

I'm not specifically going to outline the two legal arguments they could promote, because that discussion doesn't go anywhere I want to go.  I'm reasonably certain legal eagles can deduce what they are, and non-lawyers don't need to know.  Suffice to say, you are almost never 100% safe when it comes to the law surrounding complex things like this, but the project as I understand it is most likely safe from the most obvious legal threats.  More importantly, its outside the realm of what companies usually try to enforce regardless of legalities.
Title: Re: Coming Soon
Post by: Arcana on June 22, 2015, 05:25:08 PM
I think NCSoft might object to YOU individually running the client in connection to this -- they could always send any individual participant a C&D letter or file some kind of legal action... I'm pretty sure they would lose if it came to a full court case, but they could always bankrupt an individual with legal BS costs to force a settlement.

Actually, if they specifically targeted a single player and demanded they stop using the game client, there's significant legal precedent that they'd win that case.  But ordinarily there's no reason to sue a single player to stop them from using a game client.  It would be ludicrous for them to go after people one at a time, and I don't think they have a legal way to execute a reverse class to try to get us all simultaneously.  They could ask us all to stop, but the only option for them to compel us to stop would be to sue us one at a time.
Title: Re: Coming Soon
Post by: ukaserex on June 22, 2015, 05:31:11 PM
I think "City of Catgirls" might be worth the cost and consequences of litigation. lol

This is a particularly fun idea. Looking forward to see if/how my character can be reborn - if I even have the Icon copy of my character...I'll have to look for it.
Title: Re: Coming Soon
Post by: Arcana on June 22, 2015, 05:35:58 PM
Another question: How do you all expect this to scale? Have you tested with many simultaneous connected users? Does the load on the XMPP server scale linearly or super-linearly? How about the load on the clients? Is there a chat-lag effect that can occur?

Based on my understanding of the project and how XMPP works, "server" load which here is equivalent to XMPP messaging load would typically scale approximately quadratically.  As the number of clients increases, the amount of inbound traffic scales upward linearly, and the number of clients each message must be dispatched to also increases linearly. 

Quote
And one more, only loosely related to the above; is there any collision detection (Iirc, the mapserver used to handle this? I'm not sure now, it's been too long for me) or will characters be able to merge/'over-print' visually?

I would suggest, if you do not already do so, start using Icon.  Many of your questions like this are likely to be at least partially answered by how Icon behaves.

Edit: Short answer: the game client performs most of the collision detection.  I believe that's due to the fact the client does prediction - a technical term which means in many cases, particularly for movement, the game client guesses that most of the things the player does is something the server will be ok with, and so the game client does it without waiting for a server acknowledgement.  This is why even on very slow and high latency links player movement was pretty smooth.  But when the network was lossy or acknowledgements failed to arrive, the game client eventually was forced to throw its predictions away and reset.  We called that "rubberbanding."

In general, I believe City of XMPP is going to work more or less just like Icon, with the primary difference being you'll see other people in their Icons also in your Icon, also doing whatever Icon allowed (its possible there are a few things you can't do in Icon you will be able to do in CoXMPP, as well as a few things they might have restricted that you can do in Icon but they don't want people doing in an unlimited fashion in CoXMPP).
Title: Re: Coming Soon
Post by: Codewalker on June 22, 2015, 05:54:35 PM
Actually, if they specifically targeted a single player and demanded they stop using the game client, there's significant legal precedent that they'd win that case.  But ordinarily there's no reason to sue a single player to stop them from using a game client.  It would be ludicrous for them to go after people one at a time, and I don't think they have a legal way to execute a reverse class to try to get us all simultaneously.  They could ask us all to stop, but the only option for them to compel us to stop would be to sue us one at a time.

Not to mention the massive negative PR that such an act would generate.

I mean, seriously, a chat client with no gameplay is not a threat to them in any way. Any news source in the world will see that as picking on the little guy. Just look at how well that worked out for the RIAA, and that was against people who were committing obviously illegal acts of infringement of music that was currently in circulation and being sold.
Title: Re: Coming Soon
Post by: rojahdom on June 22, 2015, 05:56:23 PM
We have the best community ever. I may not post much , but i read these forums everyday. Thank you Codewalker , and others for your hard work and dedication.
Title: Re: Coming Soon
Post by: Arcana on June 22, 2015, 06:37:06 PM
Not to mention the massive negative PR that such an act would generate.

I mean, seriously, a chat client with no gameplay is not a threat to them in any way. Any news source in the world will see that as picking on the little guy. Just look at how well that worked out for the RIAA, and that was against people who were committing obviously illegal acts of infringement of music that was currently in circulation and being sold.

The RIAA is a perfectly good example.  They were not always on firm legal ground, but they were perfectly willing to go after people left and right.  However, they generally only pressed their case when they had at least some version of some narrative that justified their actions, even if only to their constituency.  On occasions when that narrative was impossible to spin in public, they often backed off. 

That's why I always caution that there's the law, and then there's what people are willing to do.  When it comes to intellectual property in particular, the law is always at least a little grey or a lot complicated.  What NCSoft is likely to do in any particular circumstance depends in part on what narrative they think they can spin around their actions.  If they think they can spin it as "we're just protecting our rights, like anyone else would" they might try something.  If they don't think they can spin it that way, they are far less likely to do anything, irrespective of what the law said in either case.  Its not worth looking like a cartoon villain to protect a property that at the moment has no material value to them.

Frankly, I doubt they care enough to go after a project like this.  But then again, I'm crazy, but not that kind of crazy.  I never know what legal counsel on retainer with nothing better to do will pull the trigger on.
Title: Re: Coming Soon
Post by: epic on June 22, 2015, 06:43:24 PM
I would like to be the first to ask this "Will someone PL meh"

On a better note, this is a great accomplishment. Thanks for all the hard work.
Title: Re: Coming Soon
Post by: Codewalker on June 22, 2015, 07:02:12 PM
I suppose a bigger question is, if NCSoft caught wind of this, would it be problematic for the team that is still in negotiations with them?

I'll just put it out there that if someone does somehow manage to acquire the IP and server software from NCSoft, I'm happy to work with them to implement a similar compatibility layer, or even tie into the architecture we're using. It should be possible for them to take advantage of it to bridge out-of-game and in-game communications, making it easier for people to stay in touch with friends even when they can't launch the full game.

I don't see this as something that could devalue the IP. If said IP gets into the right hands, it could instead increase its value.

Whether or not NCSoft is wise enough to see that, I can only speculate.
Title: Re: Coming Soon
Post by: Arcana on June 22, 2015, 07:33:56 PM
I'll just put it out there that if someone does somehow manage to acquire the IP and server software from NCSoft, I'm happy to work with them to implement a similar compatibility layer, or even tie into the architecture we're using. It should be possible for them to take advantage of it to bridge out-of-game and in-game communications, making it easier for people to stay in touch with friends even when they can't launch the full game.

Hypothetically speaking, I could imagine a thin client capable of talking CoXMPP and "injecting" them into a live game instance.  Their own thin client might not be able to render the game environment so they wouldn't see what other players looked like or even what their own avatar looked like, but they could cause everyone else to see their avatar as a properly rendered costume file.  You'd then see a very limited representation of what everyone else was seeing.  Make it HTML5 compatible, and we could even run it on our phones and tablets.

Not to make more work for you, but it seems to be within the realm of possibility.
Title: Re: Coming Soon
Post by: Nyghtshade on June 22, 2015, 08:29:27 PM
Just wanted to thank everyone involved in this not only for your years of hard work in making Icon and Soon possible, but in doing so not just for yourselves but for the whole COH community.  You epitomize what has always made the CoH Community really great. 

And VV, welcome back, but so very sorry to hear of all you and your family's loss and hardships.  Please know you all are in my thoughts and prayers.
Title: Re: Coming Soon
Post by: Golden Girl on June 22, 2015, 08:53:41 PM
The Nameless Enemy would be on very shaky legal ground with this - it's a non-profit program that interacts with something that's no longer earning them a cent - no one's making money off it, and they're not losing money because of it.
Title: Re: Coming Soon
Post by: Felderburg on June 22, 2015, 08:54:39 PM
EDIT: And they're not scimitars. Try again. :)

Given that it's the XMPP logo, which is a chat client, they're probably chat bubble tails: https://en.wikipedia.org/wiki/Speech_balloon#Speech_bubbles But I can't find any info on the XMPP logo to verify this. Alas.
Title: Re: Coming Soon
Post by: Arcana on June 22, 2015, 09:28:15 PM
Given that it's the XMPP logo, which is a chat client, they're probably chat bubble tails: https://en.wikipedia.org/wiki/Speech_balloon#Speech_bubbles But I can't find any info on the XMPP logo to verify this. Alas.

(https://kdetalk.net/images/xmpp_logo.png)
Title: Re: Coming Soon
Post by: Kheprera on June 22, 2015, 09:45:06 PM
Given that it's the XMPP logo, which is a chat client, they're probably chat bubble tails: https://en.wikipedia.org/wiki/Speech_balloon#Speech_bubbles But I can't find any info on the XMPP logo to verify this. Alas.

https://www.rajasandhu.com (https://www.rajasandhu.com) was the creator, no comment for inspiration.
Title: Re: Coming Soon
Post by: Nyx Nought Nothing on June 22, 2015, 09:49:16 PM
Well the good news out of all the bad is the Disney project.  Three book (so far) deal, Young Adult Post-Apocalypse with magic.  They are promoting the heck out of this.  Fingers crossed.
(https://c2.staticflickr.com/4/3865/14684966334_c23eab80a1_q.jpg)
i'd heard a little bit about some of the troubles you'd been having and i'm glad to hear things have gotten better. No need to apologize for having to hand over the Hail Mary to others, real life should always come first and things have muddled on quite well anyway. So it's good just to see you posting again, welcome back.
Title: Re: Coming Soon
Post by: Noyjitat on June 22, 2015, 10:08:35 PM
Well now, thank you very much for yet another exciting feature of icon. Perhaps among other social things we can do with this feature, pogoman might enjoy using this while streaming savecohradio. We could meet somewhere in the city and chat there instead of only using chat feature of the radio site.




What's to keep NCSoft from swooping in and shutting this latest operation down?


The Pirate Bay
KickAsstorrents
and simply not giving a damn
Title: Re: Coming Soon
Post by: Arcana on June 22, 2015, 10:22:12 PM
https://www.rajasandhu.com (https://www.rajasandhu.com) was the creator, no comment for inspiration.

I started to compose a reply then had to leave suddenly, so I accidentally hit post on a picture with no comment.  Whoops.  What I was going to say was that that above is the current XMPP logo.  I found this that seems to be an earlier draft idea from the same artist:

(https://images.weserv.nl/?url=www.thelogomix.com%2Ffiles%2Fimagecache%2Fv3-logo-detail%2Fxmpp2.jpg)

Taken together, I think its possible there is some evocation of chat bubble tails, but I think its also supposed to suggest the fact that jabber became XMPP and hints at the "X".  The colors are probably there to connect to the layered protocol, and also the relationship of XMPP infrastructure to client applications (the blue backbones supporting both green and orange interiors).
Title: Re: Coming Soon
Post by: Valtyr on June 22, 2015, 11:02:14 PM
Title: Re: Coming Soon
Post by: AmberOfDzu on June 22, 2015, 11:21:44 PM
Are you near Atlas Park?
"Is that close to the AE building?"
Title: Re: Coming Soon
Post by: Kyriani on June 22, 2015, 11:46:01 PM
where are those old videos anyways? I've been wanting to watch them again and cant recall where they are.
Title: Re: Coming Soon
Post by: RogerWilco on June 22, 2015, 11:48:02 PM
Meeting some old CoH friends next week, this will be good news.

Thanks for all the hard work.
Title: Re: Coming Soon
Post by: Achilles6 on June 22, 2015, 11:56:43 PM
YYYYYAAAAAAAAAAAAY!!!!  ;D
Title: Re: Coming Soon
Post by: captainalmos on June 23, 2015, 12:13:57 AM
SO psyched for this!! It might not be our game back entirely, but I will take anything resembling it at this point! Way to go!
Title: Re: Coming Soon
Post by: Drauger9 on June 23, 2015, 12:32:26 AM
I don't think I've commented here yet (been sick for the past week so my memory is meh...).

YAY!!! Even if it's not the full game back, the community here is very creative and I'm sure we'll be able to make the best of this.


I was thinking has anyone been watching Geek and Sundry? With their live streams of their D&D sessions? Seeing some of the creative ways they used their abilities was inspiring and made me want to kinda try it but I'm not really into mid-evil fantasy.

I was wondering if maybe we could do something like that in the CoH universe? It'd be kinda cool since if we have characters and zones, then the only thing left to really imagine is the enemies and the powers being used. Plus we could have destructible enviroments ect....

In short, I just want to be a master mind again...... :(
Title: Re: Coming Soon
Post by: woodard2040 on June 23, 2015, 12:40:58 AM
Hoping they make a way for you to create new characters as well.  It'll be awesome to be back in Atlas Park again either way.
Title: Re: Coming Soon
Post by: Ultimate15 on June 23, 2015, 12:41:31 AM
Title: Re: Coming Soon
Post by: Drauger9 on June 23, 2015, 12:43:34 AM
"Is that close to the AE building?"

*Facepalm* "I'll just tp you...one sec" :P
Title: Re: Coming Soon
Post by: Todogut on June 23, 2015, 12:44:21 AM
(https://i754.photobucket.com/albums/xx188/Elenlanta/GordonSoonTM_zpsksy0vdzh.jpg)
Title: Re: Coming Soon
Post by: Arcana on June 23, 2015, 02:29:49 AM
Hoping they make a way for you to create new characters as well.  It'll be awesome to be back in Atlas Park again either way.

You'll certainly be able to make new characters, because they won't have any data for the old characters.  However, at least initially "character" will really be just a body and a costume (or given our player community, a body and half a costume).  And you probably won't be able to shoot, stab, or kick anything, and in fact will probably only be able to jog around or (if they allow it) pseudo-teleport around with location commands.  And talk.

Just like Icon, you'll probably go through the character creator to make a character.  Its just that everything besides appearance will be text without distinction, at least until they get powers working.  And that might take a significant amount of time to make work.
Title: Re: Coming Soon
Post by: Victoria Victrix on June 23, 2015, 02:38:38 AM
On legal stuff:

NCSoft currently has one person on staff at the "restructured NCSoft West."  One.  Not sure if this is an actual lawyer or just a paralegal.  They are allegedly about to release the non-censored "Blade and Soul" (complete with visible anatomical features on underage-appearing female characters) in the US, and I have an inkling that this single legal person is going to find a lot more on his hands to worry about than us....considering that several jurisdictions have ruled that illustration/depictions of underage females in questionable states of attire/non-attire are, in fact, child pornography.
Title: Re: Coming Soon
Post by: Lightslinger on June 23, 2015, 02:53:01 AM
I never stopped reading Titan, and it's so good to get posting again for this fantastic news!

CW & team, thanks so much. Seriously, your work is our community's lifeline. I was no RPer, but I definitely can't wait to hang out with friends, old and new back in the City again.

Apologies if this has already been answered, but how many people per zone?
Title: Re: Coming Soon
Post by: Piledriver on June 23, 2015, 03:17:03 AM
Haven't piped up here in ages, but I notice that this is being referred to as "the Titan server," and if I read correctly, that a server will be running off the same hardware as these forums. If there's any chance of legal backlash at all, that seems, to me, a risky path. That TonyV and co. are risking getting this forum and the Paragon Wiki interfered with if NCSoft legal reps decide to be nobs about the chat server.

Am I being overly paranoid?
Title: Re: Coming Soon
Post by: Victoria Victrix on June 23, 2015, 03:23:30 AM
Apologies if this has already been answered, but how many people per zone?

Depends on how robust your XMPP server is.
Title: Re: Coming Soon
Post by: Arcana on June 23, 2015, 03:40:06 AM
Haven't piped up here in ages, but I notice that this is being referred to as "the Titan server," and if I read correctly, that a server will be running off the same hardware as these forums. If there's any chance of legal backlash at all, that seems, to me, a risky path. That TonyV and co. are risking getting this forum and the Paragon Wiki interfered with if NCSoft legal reps decide to be nobs about the chat server.

Am I being overly paranoid?

Hypothetically speaking, they could demand that Titan shut down the server with a cease and desist.  Usually companies don't send people to repo the server hardware unless there are very odd extenuating circumstances.

Separately, it appears Titan is hosted by Linode, a cloud provider.  This means the titan team probably spun up another virtual host to run their XMPP server (or could at any time if they so chose).  So "same hardware" doesn't have any real meaning in this context.
Title: Re: Coming Soon
Post by: TonyV on June 23, 2015, 05:07:56 AM
Haven't piped up here in ages, but I notice that this is being referred to as "the Titan server," and if I read correctly, that a server will be running off the same hardware as these forums.

Arcana is correct...

Separately, it appears Titan is hosted by Linode, a cloud provider.  This means the titan team probably spun up another virtual host to run their XMPP server (or could at any time if they so chose).  So "same hardware" doesn't have any real meaning in this context.

The servers are two separate servers.  Barring some upstream issue or some MAJOR hacking through very tight security, nothing that happens on the chat server can affect what happens on the Titan forums/wiki/other web sites server.
Title: Re: Coming Soon
Post by: Arcana on June 23, 2015, 05:36:24 AM
The servers are two separate servers.  Barring some upstream issue or some MAJOR hacking through very tight security, nothing that happens on the chat server can affect what happens on the Titan forums/wiki/other web sites server.

Given the history of chat server software, I probably would have put it on a completely different virtual switch if I could.  Or pushed it to a zone in Tahiti.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 23, 2015, 05:38:24 AM
Hypothetically speaking, they could demand that Titan shut down the server with a cease and desist.  Usually companies don't send people to repo the server hardware unless there are very odd extenuating circumstances.

I don't see how they could... From what little CW has said, all that's running on the Titan side of things is just an XMPP server with extension support.
Title: Re: Coming Soon
Post by: Colette on June 23, 2015, 05:45:29 AM
Wow...!

I haven't checked in the CoH community in ages. But I heard the "Soon!" rumors and... the rumors are true?

Ohmygosh! You have no idea how happy I would be to see our beloved Paragon City again. Thank you, thank you, all involved!
Title: Re: Coming Soon
Post by: Prism Almidu on June 23, 2015, 05:51:43 AM
Given that the chat functions outside of the presumably as-yet-unimplemented alignment system, will factions matter? I, and I assume I'm not the only one, prefer to roll redside. From the information released, it doesn't sound like I'll be locked out of anything for doing so, but I figured I'd make sure.
Title: Re: Coming Soon
Post by: Rejolt on June 23, 2015, 06:54:02 AM
48 slots per "account". And you can create as many "accounts" as you want just by typing a different name on the login screen once the game loads. The only hard part is remembering which characters are under which name.

I put "account" in quotes because character data is all saved on your local computer and is not tied in any way to the chat server you connect to for multiplayer functionality.

Can't wait for 500 Codewalker@randomcoxer.com to be running around. There's no check for taken names I gather.
Title: Re: Coming Soon
Post by: Solitaire on June 23, 2015, 10:03:51 AM
I am really hoping this is just the start for us to getting the game back, this may even help the talks with NCSoft, as it will show that there is still a demand for the game with the number of responses and articles already on different gaming sites.

Only time will tell!  ;)

Title: Re: Coming Soon
Post by: Piledriver on June 23, 2015, 10:36:22 AM
Thanks for the clarification, Arcana & TonyV. While I hope that this chat server is not challenged, I also don't want to see the rest of the Titan network endangered if anything does happen.

That also goes for you not getting yourselves hauled into legal Hell.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 23, 2015, 10:53:44 AM
Thanks for the clarification, Arcana & TonyV. While I hope that this chat server is not challenged, I also don't want to see the rest of the Titan network endangered if anything does happen.

That also goes for you not getting yourselves hauled into legal Hell.

They've got as much chance as suing Titan for running a generic XMPP server as the guy that writes the mIRC client has of suing me for running a private IRC server, ie: None whatsoever.
Title: Re: Coming Soon
Post by: LaughingAlex on June 23, 2015, 10:55:21 AM
I am really hoping this is just the start for us to getting the game back, this may even help the talks with NCSoft, as it will show that there is still a demand for the game with the number of responses and articles already on different gaming sites.

Only time will tell!  ;)

Thats my hope as well, as it shows what kind of competence the community has.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 23, 2015, 11:40:03 AM
I am really hoping this is just the start for us to getting the game back, this may even help the talks with NCSoft, as it will show that there is still a demand for the game with the number of responses and articles already on different gaming sites.

Only time will tell!  ;)

That would be nice, but I'm not going to hold my breath.  It's not like waving a pile of money at NCSoft has worked, and the massive campaign to save the game before they closed it didn't work, and the attempted buyout by Paragon Studio's themselves didn't work...  Who knows... Maybe a small dev team of smart people and a bunch of people unable to let go of their favourite game will finally get their attention.

Oh pardon me, my cynicism is showing again. ;)
Title: Re: Coming Soon
Post by: Ohioknight on June 23, 2015, 11:44:05 AM
Given the history of chat server software, I probably would have put it on a completely different virtual switch if I could.  Or pushed it to a zone in Tahiti.
I hear it's a magical place
Title: Re: Coming Soon
Post by: Ultimate15 on June 23, 2015, 12:46:20 PM
I am really hoping this is just the start for us to getting the game back, this may even help the talks with NCSoft, as it will show that there is still a demand for the game with the number of responses and articles already on different gaming sites.

Only time will tell!  ;)

I think that's what's on a everyone's mind right now, too - perhaps not necessarily specific to the current IP negotiations with NCSoft, but this is certainly a HUGE step in coding a major piece of the game back together. If they can do this, then who knows what else they can do...

And yeah, it also shows how resilient and steadfast our player base is for sure (and how competent and awesome Codewaker and his team are). No other group of players would be doing this for any other 'dead' title nearly 3 years after the announcement of it's shutdown. I firmly believe that.

...Unless the resurrection of a game has happened before. If so, then I'm just talking out of my ass and feel free to ignore me. Teehee.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 23, 2015, 01:00:07 PM
No other group of players would be doing this for any other 'dead' title nearly 3 years after the announcement of it's shutdown. I firmly believe that.

...Unless the resurrection of a game has happened before. If so, then I'm just talking out of my ass and feel free to ignore me. Teehee.

You would be quite wrong in that belief. There are several dead MMO's now up and running again thanks the dedicated and tireless work of their fans.
Title: Re: Coming Soon
Post by: Codewalker on June 23, 2015, 01:15:31 PM
No other group of players would be doing this for any other 'dead' title nearly 3 years after the announcement of it's shutdown. I firmly believe that.

Star Wars Galaxies (the original), Earth & Beyond, even Tabula Rasa had something in progress until ncsoft shut them down.
Title: Re: Coming Soon
Post by: Ultimate15 on June 23, 2015, 01:42:00 PM
Star Wars Galaxies (the original), Earth & Beyond, even Tabula Rasa had something in progress until ncsoft shut them down.

Right on! But were these games rezzed nearly 3 years AFTER the announcement of the games' shut down? That's...a fairly long period of time for something like this, right? I'm just saying - the amount of momentum and interest that has remained amongst the players of COH is truly impressive.

:)

*EDIT - that 'Right on!' was to the games coming back, not to their untimely re-demise. Obviously. Lol.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 23, 2015, 01:51:39 PM
Yes, they were, and no.. 3 years isn't long at all to reverse engineer this sort of stuff.
Title: Re: Coming Soon
Post by: Codewalker on June 23, 2015, 01:52:18 PM
They've got as much chance as suing Titan for running a generic XMPP server as the guy that writes the mIRC client has of suing me for running a private IRC server, ie: None whatsoever.

They wouldn't have a chance in hell of taking down a generic XMPP server if it went to court. I think the worry is more about them using their resources to threaten and/or file nuisance suits they have no intent of winning in order to intimidate us and/or drown us in legal costs defending against it. SLAPP (https://en.wikipedia.org/wiki/Strategic_lawsuit_against_public_participation).

Which is always possible. Anybody can sue anybody over anything. We're hoping that this is innocuous enough that it's not worth their trouble.
Title: Re: Coming Soon
Post by: Corona89 on June 23, 2015, 02:03:43 PM
Who knows if this will help in a revival or not?  As others have said, NCSoft has stubbornly resisted all our efforts to date.

Regardless, this is a great thing for the community at large.  City of Heroes is still home to those of us here and the chance to interact with each other in game again will be a huge boon.

Now if we could only get our powers back :roll:
Title: Re: Coming Soon
Post by: Nyghtshade on June 23, 2015, 02:05:20 PM
Here's an offbase question - or, really, a moonbase question.  Didn't I-24 have a moonbase map or maps?  If so, can anyone provide the map-code string for that? 

And will it be a part of "SoonTM"
Title: Re: Coming Soon
Post by: FloatingFatMan on June 23, 2015, 02:09:00 PM
Which is always possible. Anybody can sue anybody over anything. We're hoping that this is innocuous enough that it's not worth their trouble.

If they did anything as pancaked as that, there'd be at least one new server starting up overnight, count on it! ;)

Edit: In fact, looking at the bandwidth requirements...

Quote
If the domains have 20,000 users, where each user has 4 contacts in the other domain and changes presence 3 times an hour, bandwidth usage is estimated to be 30 kilobytes per second for XMPP and 830 kilobytes per second for SIMPLE.

I can cover probably 60,000 or so users... :p
Title: Re: Coming Soon
Post by: Codewalker on June 23, 2015, 02:17:34 PM
Haha, I think our bandwidth usage would be a BIT higher than that, since we're exchanging XMPP messages a lot more often than your standard non-graphical chat, just for position updates alone. It's fairly well optimized, so at least you don't transmit anything if you're standing still (or even running in a straight line, motion prediction ftw), but pretty chatty if you're jumping around and emoting a lot.

"Changes presence 3 times an hour" is probably a little low. We do presence changes whenever you zone as well as if you switch costumes. That estimate probably also doesn't assume being in 3 MUC rooms with 50 other people each.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 23, 2015, 02:21:28 PM
Well, what -are- your bandwidth requirements, then?  I'm genuinely curious...

Using XMPP's numbers, I have capacity for 120,000 users at the most on my home network. I'm sure I could probably manage a couple of hundred CoXers in an emergency. ;)  (Ooer!)
Title: Re: Coming Soon
Post by: Artillerie on June 23, 2015, 03:05:36 PM
Title: Re: Coming Soon
Post by: Paragon Hero on June 23, 2015, 04:47:01 PM
Title: Re: Coming Soon
Post by: nicoliy on June 23, 2015, 04:57:32 PM
Title: Re: Coming Soon
Post by: Paragon Hero on June 23, 2015, 05:06:17 PM
thanks
Title: Re: Coming Soon
Post by: Brightfires on June 23, 2015, 05:34:17 PM
I'm still just giddy over the idea of being able to take screenshots with ACTUAL PLAYER-TYPE CHARACTERS in them again.

Even if all you guys are doing is standing around chatting and doing emotes, it's a whole lot more interesting than just flying around empty maps in Icon, taking more landscape shots.  8)
Title: Re: Coming Soon
Post by: Arcana on June 23, 2015, 05:43:33 PM
Edit: In fact, looking at the bandwidth requirements...

I can cover probably 60,000 or so users... :p

I doubt it.  XMPP calculations normally presume chat grouping, but the CoXMPP/Soon/Hasn'tBeenAnnouncedYet system presumes everyone is in everyone's chat domain, so compute load and bandwidth requirements go up approximately quadradically.  If everyone is standing still and not talking, the system probably only does a periodic sync pulse to everyone (or they have some other way of doing an initial burst when someone joins: otherwise someone logging in initially won't see anything).  But when players are moving and chatting bandwidth load would rise dramatically.  You'd have to budget for the reasonable worst case, otherwise the system would fall apart when people actually tried to do anything, and initially I wouldn't be surprised if City of Heroes players tried to do all sorts of lunatic things in there.  Assume in the worst case that *everyone* does something that requires at least one XMPP message every ten seconds.  That has to get sent to everyone.  Assume the average CoXMPP message is about 128 bytes.  One thousand players would then require approximately 128MB/10sec or 12.8MB/sec.  That's about 100mb/sec.

Now, suppose Codewalker optimized traffic so that only players in the same zone need to see each other's position updates, but everyone sees everyone else's chat.  In that case, the bandwidth requirements drop for position updates, but not for chat (unless most players drop out of the global channel).  Hypothetically speaking, depending on the zone cap CW enforces, there would be a horizon limit to the quadratic effect.  Some zones had a 50 player limit in the actual game, but many had 200+ player limits.  Lets assume the limit per zone was 250 players.  In that case, 250 players would have about a 62500 message per interval ceiling, and about a 8 megabyte per interval bandwidth requirement.  That's 6.4 mb/sec for 250 players.  That would then scale roughly linearly for non-global messages.  100mb/sec would handle closer to 4000 players rather than 1000 players.  So in this scheme, given global chat and horizon-limited positional updates, you'd be looking at 100mb/sec supporting about 2000 players, maybe.

These are very rough order of magnitude estimates, without being able to actually monitor a CityofCodewalker connection and the architecture of the system.
Title: Re: Coming Soon
Post by: Codewalker on June 23, 2015, 06:43:05 PM
I think 128 bytes is probably on the high side of the average, but not a bad place to start for conservative estimates.

Here's an example worst case update message, taken from a player who has just reached the apex of a jump and is headed downward and triggered a non-predictable animation transition, while spinning around in midair.

I say worst case because attributes that don't change are omitted from update messages, so if I weren't spinning around, the orientation ("o") would remain constant and not be included, for example. The same happens if it believes that the position and animation state can be trivially predicted.

Code: [Select]
<message type="groupchat" to="test1@server.nice.try/Nomad"
from="novapraetoria_meta@conference.server.nice.try/Conan the Librarian">
<u xmlns="xx:u" p="-4742.7 40 -240.8" v="0 -0.6 0" o="0 -1.77 0" m="JUMPFALL"/>
</message>

That's the inbound message that is being received by another client, chosen because it's slightly longer (outgoing stanzas to the server can omit the 'from').

That's 221 bytes for the worst case. Notice that the majority of the data is actually the boilerplate XMPP message wrapper around it. However, one thing that doesn't take into account is that we use TLS, and TLS applies DEFLATE compression to its data stream. I haven't measured the effects directly, but it should make the message considerably shorter, as the tags and addresses are repeated very often and are prime candidates to be turned into back-references.

We rate limit outbound messages to prevent flooding, as well as add a small delay before sending to allow changes that happen within a couple ticks of each other to be batched into a single update. Very small changes in the values also cause it to wait longer before sending an update.

The zones will initially be capped to 30, to be on the conservative side. That's a setting on the XMPP server itself, so it's something we can tweak in real time if it looks like we can go higher.

That reminds me, I need to implement instancing when a zone fills up. BRB.
Title: Re: Coming Soon
Post by: Arcana on June 23, 2015, 07:27:41 PM
However, one thing that doesn't take into account is that we use TLS, and TLS applies DEFLATE compression to its data stream. I haven't measured the effects directly, but it should make the message considerably shorter, as the tags and addresses are repeated very often and are prime candidates to be turned into back-references.

For XML messages like these, I would expect deflate to be able to deliver at least three to one after a startup period.  Of course, with both encryption overhead and deflate overhead, computational costs start to become a factor relative to bandwidth.
Title: Re: Coming Soon
Post by: Codewalker on June 23, 2015, 07:43:38 PM
Indeed, added to the fact that XML parsing is not free, we'll be keeping a close eye on CPU usage. If it gets too high it may become necessary to either scale out or look into asking some people to run additional servers and set up limited s2s federation between them.

I'm sure Arcana is now looking at that update message and thinking about how easy it would be to write a bot that pretends to be a player. :)

It wouldn't be that hard, you'd also have to implement the special fields in the presence to indicate the character info, and most likely the IQ-based costume query protocol.
Title: Re: Coming Soon
Post by: Felderburg on June 23, 2015, 08:15:09 PM
Here's an offbase question - or, really, a moonbase question.  Didn't I-24 have a moonbase map or maps?  If so, can anyone provide the map-code string for that? 

In short, no. http://paragonwiki.com/wiki/Moon_Zone (See also: http://paragonwiki.com/wiki/Lore_AMA/Sorted & search the page for "moon"). Concept art was approved on the final day before the shutdown announcement, and nothing else was done (http://paragonwiki.com/wiki/Lore_AMA/Sorted#7).

HOWEVER, it was shown to be possible, with the Icon program, to build zones manually. Some people did get a cool looking pseudo moon zone put together, or at least the starting stages of one. Whether the Soon program eventually allows for people to add in their own custom zones remains to be seen.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 23, 2015, 08:39:23 PM
These are very rough order of magnitude estimates, without being able to actually monitor a CityofCodewalker connection and the architecture of the system.

Well, I have no experience at all with XMPP, but a few years back, when I had about 1/4 the bandwidth and far less CPU horsepower than I do now, I was able to run a WoW server, with about 50 folks connected, as well as me -on the same machine-, with zero lag. People were raiding and chatting etc, no problems.

But fine, I don't mind NOT offering help if NCSoft turn shitty and try to ruin our fun.
Title: Re: Coming Soon
Post by: Poison on June 23, 2015, 09:37:42 PM
I haven't been active here forever, but I really wanted to log in and thank Codewalker and Leandro (and whoever else is involved) for all your hard work. I know it's not the whole game, but as as a frequent RPer I couldn't be more excited about this project!

I can only guess how much work you have ahead of you to get this to run, but I can't help but ask: do you think it'll be possible at some point to access the base editor and literally create chat rooms? That would be an absolute dream.
Title: Re: Coming Soon
Post by: Ohioknight on June 23, 2015, 09:57:11 PM
The zones will initially be capped to 30, to be on the conservative side. That's a setting on the XMPP server itself, so it's something we can tweak in real time if it looks like we can go higher.

That reminds me, I need to implement instancing when a zone fills up. BRB.

So we won't be doing that closing scene from "Unity" live then ... AWWWW :'(

( ;D)

See Y'all in Atlas Park 333!
Title: Re: Coming Soon
Post by: LaughingAlex on June 23, 2015, 10:56:40 PM
In short, no. http://paragonwiki.com/wiki/Moon_Zone (See also: http://paragonwiki.com/wiki/Lore_AMA/Sorted & search the page for "moon"). Concept art was approved on the final day before the shutdown announcement, and nothing else was done (http://paragonwiki.com/wiki/Lore_AMA/Sorted#7).

HOWEVER, it was shown to be possible, with the Icon program, to build zones manually. Some people did get a cool looking pseudo moon zone put together, or at least the starting stages of one. Whether the Soon program eventually allows for people to add in their own custom zones remains to be seen.

What I couldn't wait for when CoX comes back, and thus can't wait for in Soon, is a proper space station that isn't a minimalist effort like some other annoying game recently.  Space stations need to be big and cool.  Hell, I am wanting to try out Galactic Civilizations III just thinking of things like space ships and space stations.

A space station should:

Be a big zone.  Really, make it nice and large.  Yeah, I know full interior but a big space station would be fun as heck.  Think about the size of Steel Canyon or Kings Row.
Needs details inside it.  Just blank walls and floors would be lame.
Needs a cultural center in it!
Don't be afraid of throwing some green into it to!  A garden area would be cool as heck.


Just, don't be super minimalist with only 2-3 rooms and a small bar.  This is the super hero universe, know?
Title: Re: Coming Soon
Post by: Nyx Nought Nothing on June 23, 2015, 11:27:32 PM
What I couldn't wait for when CoX comes back, and thus can't wait for in Soon, is a proper space station that isn't a minimalist effort like some other annoying game recently.  Space stations need to be big and cool.  Hell, I am wanting to try out Galactic Civilizations III just thinking of things like space ships and space stations.

A space station should:

Be a big zone.  Really, make it nice and large.  Yeah, I know full interior but a big space station would be fun as heck.  Think about the size of Steel Canyon or Kings Row.
Needs details inside it.  Just blank walls and floors would be lame.
Needs a cultural center in it!
Don't be afraid of throwing some green into it to!  A garden area would be cool as heck.


Just, don't be super minimalist with only 2-3 rooms and a small bar.  This is the super hero universe, know?
A Gray Vivarium would be cool, but since that's basically an O'Neill Cylinder (https://en.wikipedia.org/wiki/O%27Neill_cylinder) with a central lighting core instead of window strips it would require the game engine to be able to handle variable gravity and an environment where gravity always pulled outwards from the center. Of course for a variety of practical reasons actual space stations in CoH would use the gravity generator trope.
Title: Re: Coming Soon
Post by: Atlantea on June 23, 2015, 11:37:49 PM
What I couldn't wait for when CoX comes back, and thus can't wait for in Soon, is a proper space station that isn't a minimalist effort like some other annoying game recently.  Space stations need to be big and cool.  Hell, I am wanting to try out Galactic Civilizations III just thinking of things like space ships and space stations.

A space station should:

Be a big zone.  Really, make it nice and large.  Yeah, I know full interior but a big space station would be fun as heck.  Think about the size of Steel Canyon or Kings Row.
Needs details inside it.  Just blank walls and floors would be lame.
Needs a cultural center in it!
Don't be afraid of throwing some green into it to!  A garden area would be cool as heck.


Just, don't be super minimalist with only 2-3 rooms and a small bar.  This is the super hero universe, know?

This is probably a pipe dream, but it would be nice if "Soon" also gave us access to the base editor. That way we could make our OWN RP areas. True - it wouldn't be as open as an actual zone map. But the tools might be easier to implement.

But I don't know how you'd implement bases. I mean - I still have all my character's COSTUME saves in the client folder. But there's nothing like a "base save" folder. So I'm pretty sure that's something that was handled server-side. Thus probably beyond the scope of "Soon".

(I did make demo-records of my bases just in case. But I don't know if anything can be extracted from that that will be useful for "Soon" or any future server. Probably would have to just build it all from scratch again. At least I'd know from the beginning what I was aiming for instead of "making it up as I go"!  Heh. :) )

Pity that. I looked at the above post and I had some ideas about how to implement a limited version of the idea with the base editor, but then I realized the limitations of "Soon".

Still - I'm optimistic. These guys are wizards. It'll just take some time. They're making THIS work. Surely sometime in the future they'll figure out how to make base building work.

This Christmas in Pocket D!

Maybe NEXT Christmas in the SG base! :)
Title: Re: Coming Soon
Post by: Steelhelm on June 24, 2015, 12:01:30 AM
Remade and saved my main's costume for this! Can't wait! :D
Title: Re: Coming Soon
Post by: Surelle on June 24, 2015, 12:19:50 AM
Remade and saved my main's costume for this! Can't wait! :D

It's very exciting indeed.   :)
Title: Re: Coming Soon
Post by: Paragon Avenger on June 24, 2015, 12:26:42 AM
So what will this SoonTM a.k.a. Super Fire Dragon's Fun House of Chat, be like?
What features will be available?
Title: Re: Coming Soon
Post by: Lycantropus on June 24, 2015, 12:29:42 AM
So what will this SoonTM a.k.a. Super Fire Dragon's Fun House of Chat, be like?

For me, at least, that much closer to being 'home' :)

I'm really hoping we'll still have much of the functionality of the regular Icon; summoning NPC's, being able to make macros and keybinds for various functions...

I have ideas...  8)

Lyc~
Title: Re: Coming Soon
Post by: Timelord Tom on June 24, 2015, 12:49:27 AM
I've got a few costumes I saved back when the game was alive, and a few I've done in ICON that I really liked.

But, yes, definitely time to play around and make some more!
Title: Re: Coming Soon
Post by: Arcana on June 24, 2015, 01:23:38 AM
I'm sure Arcana is now looking at that update message and thinking about how easy it would be to write a bot that pretends to be a player. :)

I thought about that before you posted the message.  I'm currently thinking about how much effort would be required to write a bot that pretends to be a combat engine.

Consider an XMPP zone with a limited number of players.  Now write a bot that spawns an NPC.  Modify the client so that clients are capable of sending "I activated power X" messages.  Have the bot receive that message, and send to all players in the zone a command that causes the caster to play the appropriate animation, then spawns the correct VFX and sound FX, then reduces the health bar of the NPC target by an appropriately calculated amount after the correct delay.  If it reaches zero, execute the dead animation, then timer out a despawn.

Sounds laggy as all hell, but hypothetically speaking with the right architectural support you could create a combat engine that *is* a player, just one with admin rights to send the right commands to all other player clients in the connected zone.  I don't know if your current architecture would fully support this; I might need to make some feature requests.
Title: Re: Coming Soon
Post by: Gun-Nut on June 24, 2015, 01:49:52 AM
Remade and saved my main's costume for this! Can't wait! :D

How could I forget about the save costume feature! Now I need to boot up the game and get a few ready to go :)
Title: Re: Coming Soon
Post by: Kyriani on June 24, 2015, 02:10:48 AM
I wonder if we'll be able to use the npc costume bits in the Soon server. Since Soon is separate from Icon, there's no guarantee we'll have access to those bits.
Title: Re: Coming Soon
Post by: Arcana on June 24, 2015, 02:33:50 AM
I wonder if we'll be able to use the npc costume bits in the Soon server. Since Soon is separate from Icon, there's no guarantee we'll have access to those bits.

Correct (there's no guarantee).  What matters is what Codewalker has managed to put support into for his translation layer.  Just because it exists in Icon, doesn't mean it will exist in City of SoonJabberXMPP.  But its likely that except for features that would be problematic for all players to possess without restriction, anything we can do in Icon is probably something that Codewalker will try to get in there eventually.

What's problematic?  Well, compelling another entity to play an emote when that entity is another player is likely problematic.  Unrestricted switching of zones could be problematic.  Unlimited spawning of other entities could be problematic.  I get hints that they are concerned about creating a relatively safe environment for players to interact in.  Some of the things you can do in Icon are not safe when other players are about.

Spawning yourself into HasntBeenAnnouncedYet as Rularuu doesn't seem particularly dangerous (dibs) but it might be a feature Codewalker set aside to get actual player costumes working first.
Title: Re: Coming Soon
Post by: WolfSoul on June 24, 2015, 02:36:40 AM
I'm wondering this: can you make it so that all those slash commands are clickable in the power or inspiration trays?

Thanks,

Wolfsoul
Title: Re: Coming Soon
Post by: Arcana on June 24, 2015, 02:44:36 AM
I'm wondering this: can you make it so that all those slash commands are clickable in the power or inspiration trays?

That one probably has to wait for the FAQ.
Title: Re: Coming Soon
Post by: LaughingAlex on June 24, 2015, 02:52:31 AM
How could I forget about the save costume feature! Now I need to boot up the game and get a few ready to go :)

Made a new costume for my main already to.  But then, my main will have a different take and origin than before.  Much more artificial with a hyper-advanced twist.

Edit: I ponder just how many possibilities this will later unlock though.
Title: Re: Coming Soon
Post by: Ohioknight on June 24, 2015, 03:43:55 AM

  I get hints that they are concerned about creating a relatively safe environment for players to interact in.  Some of the things you can do in Icon are not safe when other players are about.


Well now I'm intrigued ... what in ICON would not be safe for other players?... or do you just mean things like my "City of Hitler" racist-torture-sex-extravaganza project (man, nobody wants to let me do that)

Now that you've got me thinking about it... you mentioned that those geysers in the ski area are NPC's -- it would be awesome to plant a few of those randomly around on maps in ways people wouldn't notice them until they stepped in them ... AAAAAHHHH!
Title: Re: Coming Soon
Post by: tripthicket on June 24, 2015, 04:25:59 AM
See, now I want the name of the place to be Jabboonx. It fits, kinda (Jabber + Soon + XMPP).

Really I just like saying 'jabboonx' out loud.







jabboonx jabboonx jabboonx
Title: Re: Coming Soon
Post by: Paragon Avenger on June 24, 2015, 04:44:57 AM
See, now I want the name of the place to be Super Fire Dragon's Fun House of Chat. It fits.
Really I just like saying "Super Fire Dragon's Fun House of Chat" out loud.

Super Fire Dragon's Fun House of Chat

I agree.
Title: Re: Coming Soon
Post by: Codewalker on June 24, 2015, 05:15:31 AM
Well now I'm intrigued ... what in ICON would not be safe for other players?... or do you just mean things like my "City of Hitler" racist-torture-sex-extravaganza project (man, nobody wants to let me do that)

Spawning stuff makes griefing easy due to collision detection. You could surround somebody with a bunch of big immovable NPCs and box them in. Or block off a heavily trafficked area. Or just fill the zone with so much crap that it lags everybody out.

Changing yourself to look like an NPC is potentially an issue as some of the things you can turn into are huge and fill the screen. Imagine if a group of 5 or 6 people all turned into hamidon and gathered around the atlas plaza. Or Pocket D.

That's why neither of those will be available at launch. /benpc may be something we take a whitelist approach on. As for spawning NPCs, that's something we have some tentative plans for a way to handle that will be covered in one of the upcoming announcements. The one I'm thinking of we'll probably see sometime Wednesday or Thursday.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 24, 2015, 06:13:15 AM
Personally, I think the safest way forward would be to just disable any commands we didn't have access to in the live game, except maybe the ability to teleport to another map (because even though we're all nice people, griefers gonna happen).
Title: Re: Coming Soon
Post by: Arcana on June 24, 2015, 06:49:19 AM
Changing yourself to look like an NPC is potentially an issue as some of the things you can turn into are huge and fill the screen. Imagine if a group of 5 or 6 people all turned into hamidon and gathered around the atlas plaza. Or Pocket D.

Hamidon itself is somewhat problematic because of the goo, but the goo is not subject to collision (he also normally can't move, although as an entity in this system that's not relevant).  Seed of Hamidon, on the other hand, would be down right bananas.  I benpc-ed myself into the Seed on the beta server before shutdown, and the sheer size of the thing is so unwieldy its practically self-griefing.

I did scare the crap out of a few players though, so there's that.  When a devouring earth with its own zip code starts following you around, you tend to notice.
Title: Re: Coming Soon
Post by: spindisc on June 24, 2015, 07:08:44 AM
I thought about that before you posted the message.  I'm currently thinking about how much effort would be required to write a bot that pretends to be a combat engine.

I was having the same thought. Also, I guess you could sniff the communication stream localy and have applications (similar to the old Herostats) working in the background.

In fact, if a simulated AI is CPU heavy for the server we could write the same logic into a local application to handle that and then just have an "adventure" server check if the required application is present on the local machine to allow players in. The local machine could then be responsible for all the AI for a supergroup entering an "instanced" area or an "instanced" version of a zone. And even have a load-balancing feature to hand over bots between each other.

Then with a defined command set and a good scripting tool we could create missions with dialog, spawn points, zone changes, etc. and have that published to a common repository. In the server/local app you could then just browse for a mission to run.

Would this be possible?
Title: Re: Coming Soon
Post by: Reiraku on June 24, 2015, 08:06:41 AM
When a devouring earth with its own zip code starts following you around, you tend to notice.

"excuse me, little hero. Do you have a moment to talk about our lord and savior?"
Title: Re: Coming Soon
Post by: Victoria Victrix on June 24, 2015, 08:17:37 AM
"excuse me, little hero. Do you have a moment to talk about our lord and savior?"

(https://images.weserv.nl/?url=anasattic.com%2Fwp-content%2Fuploads%2F2014%2F07%2F9337597.gif)
Title: Re: Coming Soon
Post by: Rejolt on June 24, 2015, 08:38:05 AM
Wait, Arcana. That sounds like Jedi mindtricking to have us play a MUD rpg with CoH avatars. Eh, stop gap?

Sheldor: Use ax.
Troll: You miss!
Sheldor: Throw ax.
Troll: I don't know that command.
Sheldor: Toss ax.
Troll: Thank you for the ax.
Troll: Use ax
Sheldor: Son of a ...

I keed! But with those scripts flying around it sounds best if we did apply a "points" system to start. I want a power = x points from your total. Or maybe just ONE or two attacks each (single target and aoe).

But yuck then .... um.. recharge timers? Endurance? Range? Defense/accuracy? Any secondary effects?

How long would writing that take?!

This would how ever be frick'n awesome to run Mutants and Mastermind games with this character creator and ACTUAL premade maps! (imagine the GM being real size Hamidon or Rularuu shouting "IGNORE ME")

Would it be bad if I advertised for this in the Tabletop RPG page of Facebook? Aka: Looking for GM to create a campaign with Paragon City Maps for Mutants and Masterminds/Icon/BASH!/etc play.
Title: Re: Coming Soon
Post by: The Fifth Horseman on June 24, 2015, 10:33:10 AM
I thought about that before you posted the message.  I'm currently thinking about how much effort would be required to write a bot that pretends to be a combat engine.

Consider an XMPP zone with a limited number of players.  Now write a bot that spawns an NPC.  Modify the client so that clients are capable of sending "I activated power X" messages.  Have the bot receive that message, and send to all players in the zone a command that causes the caster to play the appropriate animation, then spawns the correct VFX and sound FX, then reduces the health bar of the NPC target by an appropriately calculated amount after the correct delay.  If it reaches zero, execute the dead animation, then timer out a despawn.
That would mostly depend on how much of the client-server communications protocol is supported by the client side of SOON.
While developing the actual server would still not be easy, with SOON handling the communications it would be easier than otherwise.
Title: Re: Coming Soon
Post by: Ohioknight on June 24, 2015, 12:20:52 PM
Spawning stuff makes griefing easy due to collision detection. You could surround somebody with a bunch of big immovable NPCs and box them in. Or block off a heavily trafficked area. Or just fill the zone with so much crap that it lags everybody out.

Changing yourself to look like an NPC is potentially an issue as some of the things you can turn into are huge and fill the screen. Imagine if a group of 5 or 6 people all turned into hamidon and gathered around the atlas plaza. Or Pocket D.


I am ashamed that I am not clever/twisted enough to have thought of those -- now I want to go into ICON and play with populating giant NPC's into Pocket D  ;D
Title: Re: Coming Soon
Post by: Draeth Darkstar on June 24, 2015, 01:35:46 PM
I can't even begin to say how awesome this is. I'm so excited to see something outside the realm of conspiracy theories about emulation, even if this project isn't aimed to become a full-scale server emulator.

Please let me know if you have use for someone with an education in game engineering and current experience in PHP web development. My legitimate compiled language skills might be a little rusty, but working in a C-based language every day, it shouldn't be too bad to get back into the good stuff.

In a totally unrelated matter: with all of this chatter about using CoXMPP as a vehicle for virtual tabletop gaming, have you given any thought to including dice rolling commands? AIM does this with a pretty simple format, it's something like //roll-dice-#-sides-# (ex //roll-dice-5-sides-10 for 5 10 sided dice), which would cover the overwhelming majority of dice-based gaming needs. Alternatively, dice notation common to P&P would be less verbose for traffic concerns, ex /roll 5d10 for the same logic.
Title: Re: Coming Soon
Post by: Codewalker on June 24, 2015, 01:44:56 PM
In a totally unrelated matter: with all of this chatter about using CoXMPP as a vehicle for virtual tabletop gaming, have you given any thought to including dice rolling commands? AIM does this with a pretty simple format, it's something like //roll-dice-#-sides-# (ex //roll-dice-5-sides-10 for 5 10 sided dice), which would cover the overwhelming majority of dice-based gaming needs. Alternatively, dice notation common to P&P would be less verbose for traffic concerns, ex /roll 5d10 for the same logic.

It's something I hadn't thought of until yesterday when people were talking about using the /em dice emote for it. But it wouldn't be hard to do and could print its output in everybody's system channel, "soandso rolls a 6 (20)" for instance if you rolled a d20. I'll add it to the list.
Title: Re: Coming Soon
Post by: Nyghtshade on June 24, 2015, 02:28:26 PM
First, in case I haven't already said this, I just want to thank everyone working on this project for their vision, determination, compassion for the entire CoH community in putting together this project, not to mention the years of hard, hard work.  We are all in your debt, and you all have my heartfelt thanks for SoonTM

Second, having that die-roll feature for everyone using SoonTM for tabletop gaming - that would be awesome!

Last -- and I don't need an answer, just hoping it's covered in the upcoming FAQ post -- it was mentioned that each instance caps at around 30.  I'm hoping there'd be a way for a group of friends logging in to all choose the same instance to RP together, or at least choose a zone that didn't have a ton of instances.  That would certainly be helpful, too.

Again, heartfelt thanks for all your group is doing on this, Codewalker!
Title: Re: Coming Soon
Post by: Codewalker on June 24, 2015, 02:38:41 PM
So we won't be doing that closing scene from "Unity" live then ... AWWWW :'(

( ;D)

See Y'all in Atlas Park 333!

It can be changed on a zone by zone basis, so on launch day I may set Atlas Park to "unlimited" and see if we can crash the server. :D

Last -- and I don't need an answer, just hoping it's covered in the upcoming FAQ post -- it was mentioned that each instance caps at around 30.  I'm hoping there'd be a way for a group of friends logging in to all choose the same instance to RP together, or at least choose a zone that didn't have a ton of instances.  That would certainly be helpful, too.

The zone cap is simply the "maximum users" enforced in a chatroom by the XMPP server, it's not part of the client software itself. So for a close-knit group you do have the option of running your own server to use for events like that if you want, and setting the default chatroom capacity to 50, 100, or even unlimited. The server we've tested this project the most extensively with - Openfire (http://www.igniterealtime.org/projects/openfire/) - is quite easy to install and set up.

The characters you create are not tied to the server, so you can jump back and forth between logging in to our public one and logging in to your private one with ease.
Title: Re: Coming Soon
Post by: BraveStar on June 24, 2015, 02:48:18 PM
"excuse me, little hero. Do you have a moment to talk about our lord and savior?"

This forum software really needs a "Like" button. LMAO
Title: Re: Coming Soon
Post by: ValianceOnline on June 24, 2015, 02:48:38 PM
Wow that is awesome!  8)
Title: Re: Coming Soon
Post by: BraveStar on June 24, 2015, 03:05:33 PM
You know the talk about using this for a virtual tabletop made me think of an interesting question; Would everyone who teleported (or whatever you want to call it) to a specific mission map be in the same instance of that map or in separate instances? If separate, would there be a way to get friends onto the same map instance that you are in?

Another interesting thought; Would it be possible to make the player who spawned an instance the owner of that specific instance with rights to spawn and control NPCs? This is just random ideas bobbing to the surface of my mind. I know you folks are already very busy just getting Soon(tm) working.
Title: Re: Coming Soon
Post by: Joshex on June 24, 2015, 03:12:36 PM
That would mostly depend on how much of the client-server communications protocol is supported by the client side of SOON.
While developing the actual server would still not be easy, with SOON handling the communications it would be easier than otherwise.

battle calcs require range triggers, this means the program doing the calcs (the server) needs to have character positions and orientations as well as range sensors, and also means it needs to have the geometry, OR you could bypass the geometry by taking the player's reported position as cannon (allowing client geometry to assume the lead)... but that would allow players to attack through walls... yeah... there would need to be some environment geometry on the server. For this and for enemy spawning and motion.

but that sort of stuff would definitely be too close to a C&D for comfort.

for the most part though taking the player's position as the lead works. and could even help define the geometry. (direction is pressed at this location and no motion is allowed. spawn wall here.)

(https://images.weserv.nl/?url=i58.tinypic.com%2F2myu5ag.png)

keep it on the backburner for if negotiations fail or don't yield what we all need. or keep it for if the negotiations are stalled for another year.

this reminds me, I think I'll replace my near sensor with a .getDistanceTo() bend. it will allow exact range control. I'll probably just keep the near sensor as a melee range "object name" recorder.
Title: Re: Coming Soon
Post by: OzonePrime on June 24, 2015, 03:49:48 PM
Sweet! Hanging with my buds again, in Paragon! :)  Thanks guys!
Title: Re: Coming Soon
Post by: Leandro on June 24, 2015, 04:17:12 PM
battle calcs require range triggers, this means the program doing the calcs (the server) needs to have character positions and orientations as well as range sensors, and also means it needs to have the geometry, OR you could bypass the geometry by taking the player's reported position as cannon (allowing client geometry to assume the lead)... but that would allow players to attack through walls... yeah... there would need to be some environment geometry on the server. For this and for enemy spawning and motion.

Soon already needs (and uses) all of that. It loads the map from the same pigg files the game uses and does collision detection, as well as verifying that the motion sent by the client is valid (Codewalker can chime on the absolute pain that it was to duplicate the movement precisely). It needs to parse the maps, otherwise it wouldn't know where spawn locations are, where to send you to when you click on a door, or what to do when you click on an NPC.
Title: Re: Coming Soon
Post by: Codewalker on June 24, 2015, 04:34:09 PM
Yeah, you can't do anything in COH without the geometry. That's because the client doesn't send position updates to the server at all, it sends control inputs: forward, back, jump, etc. It's literally impossible to build a working server, translation layer, or anything else unless you can load the geometry and do a reasonable approximation of the same physics* and collision that the client does. If you don't get it close enough for government work, it's City of Constant Rubber Banding.

That's the main reason that getting movement working right has been such a bear for SEGS.

* Including wackiness like the gravitational constant being different when you're moving up versus moving down
Title: Re: Coming Soon
Post by: Joshex on June 24, 2015, 04:56:30 PM
Soon already needs (and uses) all of that. It loads the map from the same pigg files the game uses and does collision detection, as well as verifying that the motion sent by the client is valid (Codewalker can chime on the absolute pain that it was to duplicate the movement precisely). It needs to parse the maps, otherwise it wouldn't know where spawn locations are, where to send you to when you click on a door, or what to do when you click on an NPC.

but then.. the server code would be built into the client, making it a stand-alone application with networking.

for battle this will be disastrous, I can already imagine the trolls. you log-in and are auto defeated every step by @HahaU5uk who is not in range, zone, shard and is not a valid known target.

when you say collision detection, do you mean physics so objects don't go through each other? or do you mean 'Object type = Static:Actor with a property "wall"' for a battle calc to draw a line between and say if wall.positive: cancelattack?

and here I am ignoring my own work to ask questions about yours lol. oh well I hope for the best. I have many more interface and programming questions but for the sake of not putting you on the spot and getting back to my own project wont ask.

Yeah, you can't do anything in COH without the geometry. That's because the client doesn't send position updates to the server at all, it sends control inputs: forward, back, jump, etc. It's literally impossible to build a working server, translation layer, or anything else unless you can load the geometry and do a reasonable approximation of the same physics* and collision that the client does. If you don't get it close enough for government work, it's City of Constant Rubber Banding.

That's the main reason that getting movement working right has been such a bear for SEGS.

* Including wackiness like the gravitational constant being different when you're moving up versus moving down

ah so it does use that system! I thought that was a unique method I had developed to save server bandwidth by sending key presses instead of pickle location like a lot of other MMOs do. should have figured CoX's devs were smart enough to come up with that lol.

For flight I actually have a system you might find useful, I included a Local upward motion just strong enough to stop gravity but not strong enough to move the object. by doing this 'real physics flight' the 'gravity' scales itself. probably not very helpful now though as you've got your own system.

impressive work then seeing as you've gone through all that.
Title: Re: Coming Soon
Post by: Arcana on June 24, 2015, 06:43:16 PM
ah so it does use that system! I thought that was a unique method I had developed to save server bandwidth by sending key presses instead of pickle location like a lot of other MMOs do. should have figured CoX's devs were smart enough to come up with that lol.

You them and pretty much everyone who's ever done client-server programming.  But the real innovation is meshing that with client-side prediction.  Client-side prediction (and all that requires) I believe comes from the mind of John Carmack, which he implemented first in Duke Nukem, then refined for QuakeWorld (https://en.wikipedia.org/wiki/QuakeWorld), the multiplayer version of Quake, to deal with high latency low bandwidth dial up internet connections.  The important innovation wasn't sending inputs, it was coupling that with player-prediction to reduce the perceived lag of the system and allow for smoother control.  The downside was something every CoH player has seen: in certain situations where the server and client get out of sync, the system has to eventually correct for that which causes what Quake players called "warping" and we called "rubberbanding."

I would reasonably guess this feature is in CoH, the development of which started circa 1999, because of QuakeWorld, which was released in 1996 and whose (design) features were discussed in depth in the gaming community.
Title: Re: Coming Soon
Post by: Arcana on June 24, 2015, 07:28:00 PM
I should amplify a bit.  Why is sending inputs instead of position information not an interesting innovation?  Because it has to do with trust.  Everyone who writes client-server networked gaming eventually and usually pretty quickly has to address the question of hacking and cheating.  The question is can you trust the client?  And the answer is: no, absolutely not.  If you let the client send you the position of the player, you're allowing anyone with a debugger or modding tool to teleport anywhere in the game instantly.  Not good.  You could try to validate positions, but how do you determine every possible way a player might get to a location, to determine if they didn't get there legally?  You basically have to figure out every possible way to move, check to see what those methods do, and see if the position falls into one of them.

Anyone with a brain quickly realizes that rather than write a server that tries to figure out what the player did, its way simpler to just tell the server what the player did.  Then the server doesn't have to figure out if there's a set of inputs the player could generate that can create a particular result.  It just determines what the result of the transmitted inputs are.  But that creates a new problem.  The straight forward thing to do is to let the client tell the server "I moved forward," have the server figure out where that places the player in one game tick, and then transmit that new location to the client.  Then the client moves the player.  The problem is network and server lag: the time between when the client transmits that movement input, and when it gets the result back and displays it to the player.  This can be long in gaming terms: dozens, possibly hundreds of milliseconds.  When what you do is decoupled from what you see by more than about 50 milliseconds, human beings start to perceive a wrongness in what's happening: they perceive lagginess.

Since the client knows what the player wants to do immediately, the client could just do it.  But again, we get to trust: how can we let the client do that, when we don't know if that's actually a legal move?  We decide to presume the player isn't cheating - if he or she is, then it doesn't matter what bad thing happens so long as it doesn't affect anyone else.  In the case where the player isn't cheating, we want to minimize the effects of lag on how they perceive the game.  They don't actually *know* when anyone else does anything else, so they can't generally perceive a lag between when someone else does something and when they see it.  They can only experience this with regard to their own controls.  Since their client has those inputs, we can program the client to predict what should happen when the user uses those controls.  They move forward, we move their character forward and then tell the server the player moved forward.  The server also moves the player forward, and retroactively tells the client what that should have done.  If that is what the client predicted, the client simply continues on.  If the server disagrees with what the client predicted, the client revokes the prediction, in effect undoing it and altering the actions to what the server tells it.  So long as the client predicts well, such corrections will be few and far between - what we would call rubberbanding.

Prediction allows us to take player inputs and display the result of those inputs immediately so they see them without delay, while still making the server the final authority on what happens.  For this to work, what the client predicts must be essentially exactly what the server would ordinarily allow.  For that reason, both the client and the server must check boundaries and geometry.  Since the client is going to allow you to move in any direction before the server validates that move, the client must be at least generally aware of where the player can and cannot move based on geometry.  Otherwise, players would walk through walls then rubberband bounce out of them regularly.  Conversely, anything that pretends to be a server must validate geometry in exactly the way the client expects it do, or prediction won't work right.

Some things you just can't predict, or more precisely you can't allow the client to predict, like combat.  So when you shoot something, that goes to the server, the server decides what's going to happen, and the client shows the results of that.  That's one reason why attacks could not reasonably execute faster than a certain time: the activation time and attack animation were in part covering for round trip lag to and from the combat engine in the mapserver.  And once you understand how this works, you start to see prediction failures in every MMO you play.  When I'm playing STO, I often see a "multiple fire effect" when I shoot torpedoes at a target I'm turning to bear on.  Basically, torpedoes only fire in a forward arc of about 90 degrees.  If the target is moving quickly right to left or vice versa, and you're turning to face them, you can shoot only if they are inside that arc.  But sometimes when you hit the button to fire a visual torp firing happens, then vanishes, then it happens again, then it vanishes, then it happens again, and this time the torpedo flies to the target.  What's almost certainly happening is that the client sees the target is inside my arc, but remember *I* am pointing where the client thinks I should be pointing *now* but the server doesn't know that yet.  So the client starts the torpedo animation and FX predicting I should be able to do that.  But by the time the server gets my inputs, in that split second the target has moved slightly, and now its *not* in my firing arc.  So the server says "nope, can't shoot yet" and the client revokes the attack.  Then it tries again, and again, until finally the server says "I agree, that torp can fire" and the attack continues on without being revoked.

CoH devs on a couple of occasions said we moved basically as fast as the game allowed us to move.  Many players didn't understand what that meant.  What I believe they meant was that if we moved significantly faster than the maximum speeds we were currently capped at, the client-side prediction would start to break down in combat and other areas, and we would start seeing the "oops torpedo" effect I'm describing in STO, only worse.

In any case, sending inputs is the first thing you learn about client-server gaming.  Its primary purpose isn't to reduce bandwidth, its to make sure you can validate what the client is telling you to do (in fact, you should probably periodically send positional information from server to client and/or vice versa anyway as a double check to confirm you're in sync with each other).  It is prediction, and the specifics of how you implement it to get the very best apparent performance combined with the least amount of synchronization problems, that is the real magic.  And everyone does this a little (or a lot) differently.
Title: Re: Coming Soon
Post by: Nightsjester on June 24, 2015, 07:40:07 PM
I kinda-sorta brought this up elsewhere but Im curious how character data is going to be handled. I know for now its all going to be local but as time goes on and more stuff potentially gets introduced I hope some data is held remotely. At least to limit cheating as we get closer to having a real game.
Title: Re: Coming Soon
Post by: Codewalker on June 24, 2015, 07:44:40 PM
It may be common in real-time games like shooters and such, but in my experience it's somewhat rare to find in MMOs. MMO operators want to cram as many players onto as few servers as possible, so there is pressure on the development teams to budget as little CPU time as they can per player. Doing full collision and physics simulation takes a relatively large amount of horsepower when multiplied by tens or even hundreds of thousands of players.

So a lot of them don't. They trust the client more than they should, loading only a vastly simplified version of the world geometry for AI purposes and maybe line of sight checks. If they perform motion validation at all, they do so only in a gross sense (did you just claim to be halfway across the zone?). Take WoW for instance, it's ebbed and flowed but at times was not unheard of to see people speedhacking (running faster than normally allowed) in battlegrounds, or gold farmer bots mining resource nodes through walls, or from underneath the world and then teleporting to the next one. Instead of buying more servers, Blizzard takes the approach of trying to detect and ban anyone who abuses it, a large part of which is spyware-like anti-cheating software.

They know it's not a fight they can ever "win" -- the client will always hold the trump card at the end of the day. But they believe they can make it a seldom enough occurrence that most players aren't affected by it.
Title: Re: Coming Soon
Post by: The Fifth Horseman on June 24, 2015, 08:16:40 PM
battle calcs require range triggers, this means the program doing the calcs (the server) needs to have character positions and orientations as well as range sensors, and also means it needs to have the geometry, OR you could bypass the geometry by taking the player's reported position as cannon (allowing client geometry to assume the lead)... but that would allow players to attack through walls... yeah... there would need to be some environment geometry on the server. For this and for enemy spawning and motion.
Which is why I said "easier than otherwise, but still not easy".
Title: Re: Coming Soon
Post by: Leandro on June 24, 2015, 08:50:03 PM
Worrying about combat cheating at this time is ridiculously too soon.  There's about two hundred things that need to be taken care of before we are fortunate to count that as a problem.
Title: Re: Coming Soon
Post by: Codewalker on June 24, 2015, 09:09:24 PM
Worrying about combat cheating at this time is ridiculously too SoonTM.  There's about two hundred things that need to be taken care of before we are fortunate to count that as a problem.

Fixed that for you.
Title: Re: Coming Soon
Post by: Arcana on June 24, 2015, 09:13:12 PM
It may be common in real-time games like shooters and such, but in my experience it's somewhat rare to find in MMOs.

And it probably exists in CoH specifically because in 1999 a programmer trying to write an MMO was more likely to steal from shooters than MMOs, because there simply wasn't that many MMOs to steal from.  And as you point out WoW goes the opposite way, not bothering with these technologies much (which is why WoW was originally a lot more apparently laggy than CoH, in the days before widespread broadband).

As more MMOs start to use frameworks for their systems like the Unreal engine, I think things like prediction will become more common simply because those toolkits had to implement those features for the types of games they originally supported.
Title: Re: Coming Soon
Post by: Arcana on June 24, 2015, 09:18:45 PM
Worrying about combat cheating at this time is ridiculously too soon.  There's about two hundred things that need to be taken care of before we are fortunate to count that as a problem.

Yeah, but its Codewalker's job to implement those two hundred things, leaving me free to thing about number two hundred and one.

My policy was always to never work on something someone else was working on, so you always look like a genius for working on something no one else was thinking about.  Always dance with the one that brung ya.
Title: Re: Coming Soon
Post by: Nightsjester on June 24, 2015, 09:44:54 PM
Worrying about combat cheating at this time is ridiculously too soon.  There's about two hundred things that need to be taken care of before we are fortunate to count that as a problem.
Its not something to ~worry~ about. There are obviously things of higher priority right now but the cheating thing was just an example of what I was getting at.What I am primarily curious about is if there will be a central collection of character data that can be referenced for all kinds of things including expanding the work that Codewalker and friends are doing.
Title: Re: Coming Soon
Post by: Arcana on June 24, 2015, 09:51:54 PM
Its not something to ~worry~ about. There are obviously things of higher priority right now but the cheating thing was just an example of what I was getting at because I personally place a lot of value in the integrity of a game. That said I am primarily curious about is if there will be a central collection of character data that can be referenced for all kinds of things including expanding the work that Codewalker and friends are doing.

There will be, just as soon as they have anything to store.  Right now, the current architecture doesn't have anything to store.  Or to be more precise, there's nothing that needs to be stored centrally.

Hypothetically speaking they could make a central repository of Sentinel files, but the only thing they could do with those is hand them back to you to put into your local clients (vis-a-vis costumes).  So that would be mostly pointless for now.
Title: Re: Coming Soon
Post by: Nyx Nought Nothing on June 24, 2015, 09:52:30 PM
This would how ever be frick'n awesome to run Mutants and Mastermind games with this character creator and ACTUAL premade maps! (imagine the GM being real size Hamidon or Rularuu shouting "IGNORE ME")

Would it be bad if I advertised for this in the Tabletop RPG page of Facebook? Aka: Looking for GM to create a campaign with Paragon City Maps for Mutants and Masterminds/Icon/BASH!/etc play.
i am intrigued by this proposal.
Title: Re: Coming Soon
Post by: Nightsjester on June 24, 2015, 10:02:58 PM
There will be, just as soon as they have anything to store.  Right now, the current architecture doesn't have anything to store.  Or to be more precise, there's nothing that needs to be stored centrally.

Hypothetically speaking they could make a central repository of Sentinel files, but the only thing they could do with those is hand them back to you to put into your local clients (vis-a-vis costumes).  So that would be mostly pointless for now.

Well that's pretty much what I assumed. I didn't even consider Sentinel playing into this, though that's not super surprising as I didn't know about it until well after shutdown.
Title: Re: Coming Soon
Post by: Lycantropus on June 24, 2015, 10:07:36 PM
i am intrigued by this proposal.
Me too, but I wouldn't go advertising just yet. Remember what 'soon' means in CoX speak. ;)

Plus in my 'testing the waters' thread where I was seeing how much interest there'd be in doing a tabletop-y something, a few folks are talking that they may be able to give some actual functionality to powers and such in the game... which I think would be even cooler if they can pull it off!

Lyc~
Title: Re: Coming Soon
Post by: pewlagon on June 24, 2015, 10:44:46 PM
Hmmm.... seems a bunch of people are mind readers and thinking a lot like me. I do have something like this planned, though. I'll post here once we have the Faq and I need to recruit.
Title: Re: Coming Soon
Post by: nicoliy on June 24, 2015, 10:59:13 PM
Hmmm.... seems a bunch of people are mind readers and thinking a lot like me. I do have something like this planned, though. I'll post here once we have the Faq and I need to recruit.

OMG the anticipation for the FAQ is killing me lol. Gonna need a rez after I explode :)
Title: Re: Coming Soon
Post by: Joshex on June 24, 2015, 11:39:46 PM

In any case, sending inputs is the first thing you learn about client-server gaming.  Its primary purpose isn't to reduce bandwidth, its to make sure you can validate what the client is telling you to do (in fact, you should probably periodically send positional information from server to client and/or vice versa anyway as a double check to confirm you're in sync with each other).  It is prediction, and the specifics of how you implement it to get the very best apparent performance combined with the least amount of synchronization problems, that is the real magic.  And everyone does this a little (or a lot) differently.

yes I read the whole post, some very nice stuff in it, believe it or not I just answered someone on blender artists about this very thing a few days back and now I feel a bit foolish for having answered that way. I didn't explain enough.

so, anyways yeah, you caught me I didn't want to say it was an anti cheating control as well. And as for prediction I actually thought there must be a way to get around without it and without too much lag, I'm sure there is such a way and am still actively thinking about it.

I do have some prediction code in the working though, but that's for another purpose I will not disclose at this time.

The basic way I'm thinking of doing it is to have the client store numbered keypresses (in 24 ms increments, or adding the time if it was lower) (and "go" with them) until it receives a confirmation from the server (of the same message type, no location info at all unless D/C and reconnect or sending initial starting location on a new map) after the server follows that instruction.

give the number store like 7 memory slots each capable of storing 15 keypresses this way and you've got over 100 key press stores, that means over 24 seconds of buffer space. yes it means the client will technically be faster than the server in some conditions but the player will never see it. This also supplies 24 seconds of pure movement before "lost connection from server" and all motion stop is triggered, yet the server's location of that player is the location you are redirected to after such a break.

well at least discussing it helps me write it out.
Title: Re: Coming Soon
Post by: Drauger9 on June 24, 2015, 11:43:43 PM
OMG the anticipation for the FAQ is killing me lol. Gonna need a rez after I explode :)

I got two blues and a yellow....
Title: Re: Coming Soon
Post by: Arcana on June 25, 2015, 01:10:22 AM
The basic way I'm thinking of doing it is to have the client store numbered keypresses (in 24 ms increments, or adding the time if it was lower) (and "go" with them) until it receives a confirmation from the server (of the same message type, no location info at all unless D/C and reconnect or sending initial starting location on a new map) after the server follows that instruction.

give the number store like 7 memory slots each capable of storing 15 keypresses this way and you've got over 100 key press stores, that means over 24 seconds of buffer space.

24ms * 105 = 2520ms = 2.52 seconds.
Title: Re: Coming Soon
Post by: Takinalis on June 25, 2015, 02:44:50 AM
I'm a technician, so normally I communicate very effectively. In this case, I'll make a exception
 ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D
 ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D
Title: Re: Coming Soon
Post by: Arcana on June 25, 2015, 02:54:25 AM
I'm a technician, so normally I communicate very effectively.

You misspelled "but."
Title: Re: Coming Soon
Post by: Takinalis on June 25, 2015, 03:05:58 AM
But!
 
:) ;) :D ;D 8) :roll:

I can't wait!
I'm so stoked.

I'm just blown away. I know it's nothing more than comic chat in 3D at this point, and that's AWESOME! I mean, I had a ton of fun playing MUD's in the early 90's, and in AOL Arts and Entertainment in the late 90's, I'm sure we'll figure something out!
Title: Re: Coming Soon
Post by: Arcana on June 25, 2015, 03:10:25 AM
I'm just blown away. I know it's nothing more than comic chat in 3D at this point, and that's AWESOME! I mean, I had a ton of fun playing MUD's in the early 90's, and in AOL Arts and Entertainment in the late 90's, I'm sure we'll figure something out!

I've actually been thinking about MUDs a lot these past few days.  MUDs worked in a way that might be relevant to CityofUnannouncedName, at least in a stopgappy way.
Title: Re: Coming Soon
Post by: eabrace on June 25, 2015, 03:12:23 AM
I think City of MUD has a pretty nice ring to it.
Title: Re: Coming Soon
Post by: Takinalis on June 25, 2015, 03:14:33 AM
City of MUD

I hope it sticks during the "stop gap" phase  ;D
Title: Re: Coming Soon
Post by: Aggelakis on June 25, 2015, 04:03:26 AM
AOL Arts and Entertainment in the late 90's
That's a name I haven't read in a ridiculously long time! Aaahhh, Rhydin...
Title: Re: Coming Soon
Post by: Arcana on June 25, 2015, 08:00:31 AM
That's a name I haven't read in a ridiculously long time!

Its a name that will outlast humanity, when aliens are reading it off of CDs they dig up a billion years from now.
Title: Re: Coming Soon
Post by: Aggelakis on June 25, 2015, 08:29:17 AM
I mean specifically the A&E roleplaying. :) I still hear AOL once in a while, usually as the butt of a joke.
Title: Re: Coming Soon
Post by: Rejolt on June 25, 2015, 08:46:12 AM
Me too, but I wouldn't go advertising just yet. Remember what 'soon' means in CoX speak. ;)

Plus in my 'testing the waters' thread where I was seeing how much interest there'd be in doing a tabletop-y something, a few folks are talking that they may be able to give some actual functionality to powers and such in the game... which I think would be even cooler if they can pull it off!

Lyc~

I did ask when/if it would be smart to advertise. And I'd need someone better at iSoon(tm)con than me to plan enemy NPC spawn points, NPC contacts and how to warp everyone from map to building to map. I tried switching map points in Icon and kept getting stuck in Hospitals...
Title: Re: Coming Soon
Post by: Arcana on June 25, 2015, 09:02:38 AM
I did ask when/if it would be smart to advertise. And I'd need someone better at iSoon(tm)con than me to plan enemy NPC spawn points, NPC contacts and how to warp everyone from map to building to map. I tried switching map points in Icon and kept getting stuck in Hospitals...

Reroll your blaster as a scrapper?
Title: Re: Coming Soon
Post by: Victoria Victrix on June 25, 2015, 12:05:45 PM
There are things being muttered about where I can hear them that tell me you are all going to be very happy with Soontm.  It's not a game yet, but there will be game aspects that are going to cause people to dive in and not come out for hours and hours.
Title: Re: Coming Soon
Post by: AmberOfDzu on June 25, 2015, 04:42:00 PM
I'm hoping we can get some of the old player-run radio stations to come back and do live shows from inside the new chat system.

I also recall a supergroup that had their base set up as a suburban down-town, (Hero Heights? It's been so long, I don't remember) and ran events from it. Bases might not be in, but there's lots of areas in Paragon one could use as a backdrop for community events; plays, dances, readings, storytelling, discussions, contests, and so on.
Title: Re: Coming Soon
Post by: Angel Phoenix77 on June 25, 2015, 06:30:12 PM
I love this concept, while it is just a start, I think it will ease tensions from some of the players so the team can try and get our home back and not causing Ncsoft any stress.
Question will the i24 beta client be available to dl? Sorry if this was asked before.
Title: Re: Coming Soon
Post by: Shadowe on June 25, 2015, 07:27:07 PM
The official answer is that the Paragon Chat team and the Titan Network cannot condone the download of a copy of the i24 client (which I think would be a breach of the CoX EULA), but that if you have a legal copy, you're good to go.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 25, 2015, 07:30:06 PM
The official answer is that the Paragon Chat team and the Titan Network cannot condone the download of a copy of the i24 client (which I think would be a breach of the CoX EULA), but that if you have a legal copy, you're good to go.

However, if you don't have the client, then with a little thought and consideration, you'll soon work out how to get this Iconic game, and be able to reward yourself with a nice glass of Tequila! ;)
Title: Re: Coming Soon
Post by: Codewalker on June 25, 2015, 08:31:10 PM
The official answer is that the Paragon Chat team and the Titan Network cannot condone the download of a copy of the i24 client (which I think would be a breach of the CoX EULA), but that if you have a legal copy, you're good to go.

Correct, and the Titan Network does not endorse third party methods of distributing it, either.

We are however open to members of the public who may post whatever they please so long as it doesn't violate the rules against harassment, etc. We don't review posts for content. If we are alerted that people are posting links to infringing material, we will happily remove said posts.
Title: Re: Coming Soon
Post by: Heliphyneau on June 25, 2015, 11:19:28 PM
Just wanted to say:  This.  Is.  Awesome.   8)  Much wow.  Very chat.

Thank you for doing this!
Title: Re: Coming Soon
Post by: Victoria Victrix on June 26, 2015, 03:34:52 AM
Correct, and the Titan Network does not endorse third party methods of distributing it, either.

We are however open to members of the public who may post whatever they please so long as it doesn't violate the rules against harassment, etc. We don't review posts for content. If we are alerted that people are posting links to infringing material, we will happily remove said posts.

I'd just like to point out that NCSoft's stated punishment for violating the EULA was removing your access to the game.
Title: Re: Coming Soon
Post by: Prism Almidu on June 26, 2015, 03:41:45 AM
I'd just like to point out that NCSoft's stated punishment for violating the EULA was removing your accessible to the game.

*gasp* Oh no!
Title: Re: Coming Soon
Post by: Takinalis on June 26, 2015, 03:47:59 AM
Unity ~ Angelus Animi

https://www.youtube.com/watch?v=qyn_YuMLSNc
Title: Re: Coming Soon
Post by: Arcana on June 26, 2015, 03:58:06 AM
I'd just like to point out that NCSoft's stated punishment for violating the EULA was removing your access to the game.

And revoking your license to use the software, including the game client.  Legally enforceable in every country that honors software usage licenses, at least in theory.  Logistically impossible to really enforce, except on a very specific case by case basis.  You'd have to make yourself a target worth the time and expense for them to do that.

Ever get the feeling of deja vu?  I often feel like I had just experienced the deja vu I'm feeling, but I can't remember precisely when I felt it before.
Title: Re: Coming Soon
Post by: Victoria Victrix on June 26, 2015, 04:06:22 AM
And revoking your license to use the software, including the game client.  Legally enforceable in every country that honors software usage licenses, at least in theory.  Logistically impossible to really enforce, except on a very specific case by case basis.  You'd have to make yourself a target worth the time and expense for them to do that.

And here's the irony of that statement.  If you are worth the time and expense, because you are, say, a highly visible celebrity, or someone who has gotten the immediate aid of the EFF, you become less of a target because of the vast and immediately spreading negative publicity, which paradoxically renders the amount of time and expense you'd have to go to in order to suppress the negative publicity exponentially greater than it was before you started.

I'm not saying NCSoft isn't stupid enough to do just that.  But if you want to see the one single thing that would result in a shareholder's revolt and the entire Board of Directors being replaced, that just might be it.
Title: Re: Coming Soon
Post by: Goddangit on June 27, 2015, 01:33:34 AM
I said before, "I put my faith in SCoRE."  I see that faith was well placed.

This is magnificent.  Thank you to all involved!
Title: Re: Coming Soon
Post by: Joshex on June 27, 2015, 07:02:06 PM
codewalker, speaking of paragon chat and the ski chalet, do you still need a multi-user timer system with a database writer to handle ski slope scores?

I remember you can ski in Icon but the gates don't work and no timer. I can make an exterior timer-serv and databases are fun, just need to know what info to store/send.

what do you think? the gates would be the only thing needing the client's geometry and motions and could be done in the Time/score serv but.. it would take time to match the motions correctly in said serv (unless you have some numbers to work with?) and take time to position the gate sensors but it's nothing like mission content or battle, I suspect it'd be relatively easy to enable. what say you?
Title: Re: Coming Soon
Post by: BitLoadR on June 27, 2015, 07:40:28 PM
Unity ~ Angelus Animi

https://www.youtube.com/watch?v=qyn_YuMLSNc

Magnificent video! Loved it!
Title: Re: Coming Soon
Post by: Leandro on June 27, 2015, 08:26:52 PM
codewalker, speaking of paragon chat and the ski chalet, do you still need a multi-user timer system with a database writer to handle ski slope scores?

The ski slopes are just position markers, the checks for getting to each marker and the timer is handed on the mapserver side. It could be handled by Paragon Chat and the scores put on the persistent room settings, but there's really no way to avoid cheating at the time. And it's not really worth CW programming time to bother with that. That sounds like a thing to do as a plugin once a system for them is available.
Title: Re: Coming Soon
Post by: Joshex on June 27, 2015, 09:19:17 PM
The ski slopes are just position markers, the checks for getting to each marker and the timer is handed on the mapserver side. It could be handled by Paragon Chat and the scores put on the persistent room settings, but there's really no way to avoid cheating at the time. And it's not really worth CW programming time to bother with that. That sounds like a thing to do as a plugin once a system for them is available.

can paragon chat route info to another program on the main chat server's machine and then route outcomes back to chat clients?

if so I can do the timer and gate collisions if I have exact positions of the gates. the movements could be routed from paragon chat's main server to the program at which point I can make the player's cubes static and set to goto the map locations it's sent from paragon chat's server, not needing map geometry at all. it would be a stand alone system just meant to start a timer do gate collisions and stop the timer record the score (in whatever file format you want in a folder paragon chat's server can read it from).

it really wouldn't be complex at all.

I could even make more gates at random locations in the line meant to check for 'tp' cheating.

all Paragon chat has to do is send player locations to the program should the player be in Pocket D, and read outcomes such as Next Gate updates or scores from files or messages (as you need) then route outcomes to players.

I'm offering to do the work on the timer and gates to be ready for November/December.

I will need a unique message that defines when a player is on the pocket D map coupled with a location, that will be the player spawn trigger.

after that it's a cake walk to follow location and update the time to paragon chat via list message [playeridentity, [Time Mins, Time Secs, Time MS], current/next gate identity] or however you want/need the message.

I realize it may not be possible to route info through the chat server like this but, let me know if it is.
Title: Re: Coming Soon
Post by: Arcana on June 27, 2015, 10:07:08 PM
can paragon chat route info to another program on the main chat server's machine and then route outcomes back to chat clients?

That's what Leandro means (I assume) by "plugins." (http://www.igniterealtime.org/projects/openfire/plugins.jsp)  If you are thinking about actually writing real code, time to start doing real homework.
Title: Re: Coming Soon
Post by: Joshex on June 27, 2015, 11:35:40 PM
That's what Leandro means (I assume) by "plugins." (http://www.igniterealtime.org/projects/openfire/plugins.jsp)  If you are thinking about actually writing real code, time to start doing real homework.

yeah I knew that I just saw the term "plug-in" to mean a script of a defined format compatible and listable with-in the chat software itself, also known as something that can be downloaded from the software distributor.

so I was confirming that he meant any program could work so long as it's set to communicate with it.
Title: Re: Coming Soon
Post by: Codewalker on June 28, 2015, 12:53:15 AM
The initial release of the chat software does not natively support any form of scripting.

If you're using openfire as a server, it also does not support scripting languages, but does support plugins written in Java.

If you're using some other server software the options may vary.

For the ski slopes you could always write a standalone program to connect to the metadata channel for Pocket D and monitor player locations. You could have it send tells to players as they passed through the waypoints to let them know that they can proceed to the next one, then keep a record of who has the best time for the course and send it to broadcast upon the record being broken.

You'd have to do some sort of interpolation as the first version of PC only sends updates at most once per second, less often for lower rates of change. So it's unlikely that you'll see a player advertising they're on the exact spot of the marker, but rather on one side then on the other a second later.
Title: Re: Coming Soon
Post by: Arcana on June 28, 2015, 08:04:06 AM
If you're using openfire as a server, it also does not support scripting languages, but does support plugins written in Java.

I noticed.  I'm so not looking forward to doing that.  Java and I don't get along well.
Title: Re: Coming Soon
Post by: Victoria Victrix on June 28, 2015, 08:47:10 AM
I noticed.  I'm so not looking forward to doing that.  Java and I don't get along well.

Does Java actually get along well with anyone?
Title: Re: Coming Soon
Post by: FloatingFatMan on June 28, 2015, 08:49:30 AM
Does Java actually get along well with anyone?

It gets along just fine with James Gosling, the douche.
Title: Re: Coming Soon
Post by: Joshex on June 28, 2015, 08:56:47 AM
The initial release of the chat software does not natively support any form of scripting.

If you're using openfire as a server, it also does not support scripting languages, but does support plugins written in Java.

If you're using some other server software the options may vary.

For the ski slopes you could always write a standalone program to connect to the metadata channel for Pocket D and monitor player locations. You could have it send tells to players as they passed through the waypoints to let them know that they can proceed to the next one, then keep a record of who has the best time for the course and send it to broadcast upon the record being broken.

You'd have to do some sort of interpolation as the first version of PC only sends updates at most once per second, less often for lower rates of change. So it's unlikely that you'll see a player advertising they're on the exact spot of the marker, but rather on one side then on the other a second later.

custom sever, python 2.6.2, intention for scripts to run only in the 'plug-in' program though the plan isn't so much a java plug-in as an external program that merely communicates with ParagonChat's (PC) server. as talked about the message structure can be anything PC needs it to be.

there are a few things I'd need to know to write it, but I'm sure you don't want that info public yet if at all:

1: how to send a tell

2: how player IP addresses, playername, 3D space location and port packets are sent/received.

from what you said about 'once per second', is that with messages going out from the server? or is it also messages going in from the clients?

3: what info does the client need to set the gate marker?

Rather than route the info back through the PC server, it's possible to send it directly from the python program to avoid the one second problem. high scores can be recorded and sent back to the paragon chat server as a one second delay is fine for scores.

point is because I'm using python as the server we can send and receive data in any format so long as I write a simple database to read/convert it (I've been doing a lot of this for project bane so it's really no big deal).

either way November is a long ways away. here's what I'll do, after the tenth of July I'll start work on this and send you a file to show what I'm working with shortly after so there's no confusion..
Title: Re: Coming Soon
Post by: Joshex on June 28, 2015, 09:01:00 AM
Does Java actually get along well with anyone?

java enthusiasts... *shudders*
Title: Re: Coming Soon
Post by: FloatingFatMan on June 28, 2015, 09:05:12 AM
java enthusiasts... *shudders*

They're almost as bad as python fans. :P
Title: Re: Coming Soon
Post by: FloatingFatMan on June 28, 2015, 09:13:08 AM
2: how player IP addresses, playername, 3D space location and port packets are sent/received.

You don't need IP addresses; all communication between players is via the XMPP server, and all you need there is their XMPP user name.

from what you said about 'once per second', is that with messages going out from the server? or is it also messages going in from the clients?

Try reading what CW said again.

"first version of PC only sends updates at most once per second, less often for lower rates of change."

The PC client only sends updates to the server once a second, or less.  This is nowhere near fine enough timing resolution for accurate race timings.

Rather than route the info back through the PC server, it's possible to send it directly from the python program to avoid the one second problem. high scores can be recorded and sent back to the paragon chat server as a one second delay is fine for scores.

No it isn't. PC only updates positional data once a second or less.

either way November is a long ways away. here's what I'll do, after the tenth of July I'll start work on this and send you a file to show what I'm working with shortly after so there's no confusion..

You're attempting to run before you've even learned to crawl. Perhaps you should consider waiting until they give us some kind of plugin framework, or release their CoH client data to open source, THEN start making plans.
Title: Re: Coming Soon
Post by: Joshex on June 28, 2015, 04:12:30 PM
You don't need IP addresses; all communication between players is via the XMPP server, and all you need there is their XMPP user name.


I would need IPs and ports if the program I make is going to send messages to clients directly. (rather than add another 1 second delay through the XMPP server.)

The PC client only sends updates to the server once a second, or less.  This is nowhere near fine enough timing resolution for accurate race timings.


so the one second delay between messages is on both sides, that's what I was asking for clarification on. and you're right, that is no good for race calc.... there's always a way around it.

the once per second message would have to contain all movement keypresses in between with times in ms to update the server side for my system to work. even then there'd be a gate set delay of over a second and a possible time delay for finish of over a second.

No it isn't. PC only updates positional data once a second or less.

You're attempting to run before you've even learned to crawl. Perhaps you should consider waiting until they give us some kind of plugin framework, or release their CoH client data to open source, THEN start making plans.

That's why I'm asking questions. I wouldn't say I'm crawling, I'd say I walked into a store that has yet to release their products and am asking specifics about how it works and assuming things about it that may not be true.. never goes down well, and then am pacing back and forth thinking of the possibilities if it's one way or another..

I'm sure once it's released I'll be able to get more info., the other thing to do would to make another "plug-in" on the client side to send location info to the time server at a more frequent rate but that would probably require interfacing with the client itself which at this point I wont be doing..
Title: Re: Coming Soon
Post by: Manga on June 28, 2015, 04:16:08 PM

Joshex, the XMPP protocol is well documented:  http://xmpp.org/
Title: Re: Coming Soon
Post by: FloatingFatMan on June 28, 2015, 04:24:16 PM
I would need IPs and ports if the program I make is going to send messages to clients directly. (rather than add another 1 second delay through the XMPP server.)

Yeah, good luck with that.

Consider this. Letting the outside world know your IP address and any open ports is inviting trouble. Passing that information from a trusted server to an untrusted third party (ie: your server), would be tantamount to incompetent and I really can't see CodeWalker or Titan Networks allowing you that kind of access to their XMPP server data. You could possibly sort of do something that -might- work on your own private XMPP server, maybe, for people not behind a NAT, but it's pretty unlikely you will on Titans.

And TBH, if Titan start sending that info to untrusted 3rd parties, I will not be using their server.

If this sort of thing is to work at all, it would need to be an extension that the XMPP server is running on Titan's server, and must not send any data outside their network.  That means you're going to have to wait for them to provide a plugin framework for you.
Title: Re: Coming Soon
Post by: Joshex on June 28, 2015, 05:04:54 PM
Yeah, good luck with that.

Consider this. Letting the outside world know your IP address and any open ports is inviting trouble. Passing that information from a trusted server to an untrusted third party (ie: your server), would be tantamount to incompetent and I really can't see CodeWalker or Titan Networks allowing you that kind of access to their XMPP server data. You could possibly sort of do something that -might- work on your own private XMPP server, maybe, for people not behind a NAT, but it's pretty unlikely you will on Titans.

And TBH, if Titan start sending that info to untrusted 3rd parties, I will not be using their server.

If this sort of thing is to work at all, it would need to be an extension that the XMPP server is running on Titan's server, and must not send any data outside their network.  That means you're going to have to wait for them to provide a plugin framework for you.

I thought I was clear this would be a secondary program on the titan server "same machine as the XMPP server" no wonder people got defensive lol. I'm talking of coding it and sending it in source to codewalker/leandro.
Title: Re: Coming Soon
Post by: Codewalker on June 28, 2015, 05:10:20 PM
It wouldn't matter even if you had the IP, because Paragon Chat does not listen for incoming connections. It only establishes an outbound connection to the XMPP server. If you want to send something to it, you have to send it as an XML stanza through the XMPP server. Note that if it isn't a chat message, character presence, or position metadata, PC will ignore it.

The easiest way to do that is to simply connect to the same chatroom using your own account, though if we decide to do something more complex a Java-based serverside plugin could implement a service, which in XMPP is typically done as a subdomain.

The 1 second thing isn't a delay added by the server, it's a rate limit on how often PC will send position updates to avoid flooding the XMPP server.

I highly recommend reading the XMPP Core (http://xmpp.org/rfcs/rfc6120.html), XMPP-IM (http://xmpp.org/rfcs/rfc6121.html), and Multi-User Chat (http://xmpp.org/extensions/xep-0045.html[/url) specifications if you're thinking about doing any kind of development against it. Though PC send its own custom XML for game-specific data, it adheres very closely to the specifications so those will give you a good idea of how to send and receive messages to it.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 28, 2015, 05:15:06 PM
I thought I was clear this would be a secondary program on the titan server "same machine as the XMPP server" no wonder people got defensive lol. I'm talking of coding it and sending it in source to codewalker/leandro.

No offence, but it's still an untrusted 3rd party application accessing sensitive data.

As far as I know, the one part of the documentation where it discusses the ability to discover IP addresses, it notes that it's NOT currently implemented and advises strongly NOT to implement it.  See XEP-0279 for further information.

It's also worth noting that's it's part of the XMPP core specification that IP addresses NOT be made public, and sending them to a 3rd party application, is public.

For more info, Click here (http://tools.ietf.org/html/rfc6120#section-13.10.1) for the specification.

You're going to have to rethink how your app is going to work, sorry.

Title: Re: Coming Soon
Post by: Arcana on June 28, 2015, 07:35:32 PM
I thought I was clear this would be a secondary program on the titan server "same machine as the XMPP server" no wonder people got defensive lol. I'm talking of coding it and sending it in source to codewalker/leandro.

No offense intended, but there's just no way you're getting software onto the actual Titan XMPP server given where you currently are.  If I were Leandro or Codewalker, I wouldn't trust neither source nor binary from anyone else that didn't understand the fundamentals of the system they are using inside out.  If you have any sort of inkling to do this sort of thing, download a copy of Openfire, load it on your computer, and when Paragon Chat comes out figure out how to point it to your own server, write your own plugins on that experimental platform, and maybe, just maybe, when you are answering questions about the system from your experience doing that, they might entertain the notion of maybe looking at what you've done, maybe.

You're using a long-deprecated version of python that no longer gets security fixes.  You're not sure how XMPP works.  You didn't catch the fact we're all discussing the fact that Openfire only supports java plugins.  This isn't about being defensive, this is about the fact you don't seem to have the requisite knowledge base to do what you are attempting to do.  Why do you think I'm not bombarding Codewalker with a lot of technical implementation questions?  Because 90% of them would be answered by just looking at the client when its released, rather than having him explain it to me.  And if he explains it to me without me seeing the client itself, that could cause me to miss valuable context and misunderstand some fine technical detail.  And many of them I can deduce myself because of my familiarity with the systems involved.

On the subject of IP addresses.  If you were writing your own custom XMPP server itself, you'd get the client IP addresses from the socket connections to your server.  If you are writing a plugin to something like Openfire, you do not need client IP addresses because you are only receiving message data and sender/receiver data from the server itself, through its API.  All you can and *should* do is read message content, sender, receiver lists, process that data, and send data back to the Openfire server for it to then do its thing and send messages to the appropriate targets, which it can do because it knows how to send data to every client connected to it explicitly.  You don't, and are not supposed to, tell the server how to do that as a plugin.

I'm not discouraging you from attempting whatever it is you're attempting.  I'm encouraging you to build the requisite knowledgebase and skill set to make it at least theoretically possible.  Right now, you are not anywhere near.  As I tried to tell you before, its time to start doing the homework.  The day Codewalker said the platform was implemented on Openfire, I didn't start asking him questions about Openfire, I downloaded Openfire.  While I'm familiar with XMPP, its not like I write Openfire plugins every day, or any day.  The authoritative answer to my questions about Openfire isn't Codewalker, its Openfire.  I might ask him a technical question about Openfire, but  only after I actually know what the heck I'm talking about, so he isn't wasting his time giving me an Openfire tutorial.

If you want to write python-based plugins for Openfire, there's something you can do today, without needing any information from anyone else you couldn't get yourself.  You could write a java plugin for Openfire that somehow interfaces with python.  I'm still thinking about whether that's worth doing myself, and if so what's the best way to do that, so when you're finished with that give *that* to the community to play around with.  So I don't have to do it (heck, at that point might as well make an embedded Lua engine as a plugin and allow it to run Lua scripts: I know there are java implementations of Lua floating around out there).
Title: Re: Coming Soon
Post by: Leandro on June 28, 2015, 10:28:57 PM
Incidentally, it's not that we particularly love Openfire, but it is the only XMPP server that worked properly out of the box and wasn't a major pain in the arse to configure. If someone else tests another server and finds that it works fine with Paragon Chat, yay! We can use that.
Title: Re: Coming Soon
Post by: Joshex on June 28, 2015, 10:45:30 PM
ok let me be clear, when I say "plugin" I thought I made it clear I was using the word loosely cause it wouldn't actually plug-in or connect in any way to the server other than through local network messages. what I was asking is something codewalker should know and should save me time actually skimming through the documentation and learning a different code set.

I really just need to know what information is capable to be sent and received with the client and possibly the message composition in a list form.

Unless XMPP uses some secret proprietary message encoding for which I'd have to develop a reading and writing database, then the info between programs is just data and it really doesn't matter which API or program made it. it's not like python or blender will attach some binary signifier that "this message was created with python 2.6.2 socket module, GPL 2011" that could cause XMPP to say "hey that's not my message, I'm not gonna read it",  it sends what I script it to send, if I script it to mimic the way XMPP or any other software construct their messages then the PC client won't be the wiser, see what I'm getting at?.

message format is what I'm after, and I'm aware there may be multiple variations, but I'll only end up using a handful.

some of my questions have already been answered and I thank you all for your time in answering them, such as the knowledge the XMPP does not send IP or port externally.  or stuff like "you have to send it as an XML stanza,  Note that if it isn't a chat message, character presence, or position metadata, PC will ignore it."

it does make it nigh impossible to do what I'm attempting.

I.E. the gates are there but there's no ability to get the message to them, the timer window and score window are there somewhere but again no way to get the data to them. even if I did an XML stanza it would be ignored if it isn't one of the few data types allowed.

I will not write java, so I guess it ends there. the only other way is to make my own interface program to the CoX client itself, and honestly I haven't even tried so.. yeah, not gonna happen any time soon and would seem a bit redundant seeing as Codewalker and Leandro have already come this far.

Unless,.. Injection,  that might work, but that's another question. assuming I could send a message to PC that it interprets as a chat message, would it process this message by it's own rules?, or would it pass it to the CoX client code for processing?

if so sending a XML stanza with XMPP's position format containing a script in CoX's server message format telling the client how much time is on the timer or which gate is now active could work.

but no, PC probably just does everything itself, probably doesn't actually send any communication data to the CoX client at all just reads it like a book and emulates it.

So in summary, I know enough now to know it won't work. so much for my idea. thankyou for your time. for it to work PC would at least have to be enabled to receive other data types or for CoX's client code to process the message so injection techniques can be used. greatwork anyways, keep up the efforts.

Incidentally, it's not that we particularly love Openfire, but it is the only XMPP server that worked properly out of the box and wasn't a major pain in the arse to configure. If someone else tests another server and finds that it works fine with Paragon Chat, yay! We can use that.

Thats the other side of it, I could make a python XMPP server, but then I really would have to read all the documentation, 4 years is the standard development time for new projects of this caliber with one person, and 4 years is a long time.

XML stanzas.. I'll at least research that to see if I can do anything with it, can definitely make them in python even if I have to program the rules for their composition myself.

edit: ah yes XML stanzas, the standard XMPP format hence why codewalker dropped the documentation on me. too much to read for 11;57 pm. I'll give it a go after the 10th. but it's learning a whole new language.
Title: Re: Coming Soon
Post by: ukaserex on June 28, 2015, 11:33:46 PM
If the slopes at Pocket D work - although I'd love to have some sort of base to compare my time with - just being able to go through the portal to the second part would be very, very cool and a whole lot of fun for me. I always enjoyed the slope.
Title: Re: Coming Soon
Post by: Arcana on June 29, 2015, 12:48:48 AM
Incidentally, it's not that we particularly love Openfire, but it is the only XMPP server that worked properly out of the box and wasn't a major pain in the arse to configure. If someone else tests another server and finds that it works fine with Paragon Chat, yay! We can use that.

I was kinda looking at tigase, but honestly I'm still climbing the learning curve on XMPP servers.  I will probably need to see how it works with the standard software before trying to see if it will work in non-standard environments.
Title: Re: Coming Soon
Post by: Paragon Avenger on June 29, 2015, 01:54:42 AM
Does Java actually get along well with anyone?

For the record, computer programming languages are nice and get along with everybody.
Computer programming language compilers are mean and hate everybody and everything.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 29, 2015, 06:53:43 AM
some of my questions have already been answered and I thank you all for your time in answering them, such as the knowledge the XMPP does not send IP or port externally.  or stuff like "you have to send it as an XML stanza,  Note that if it isn't a chat message, character presence, or position metadata, PC will ignore it."

5 minutes of searching the XMPP spec documentation (which is the first thing you should have looked at when getting the idea for this program) would have told you about the IP/port restriction.  That alone killed your project idea.

Thats the other side of it, I could make a python XMPP server, but then I really would have to read all the documentation, 4 years is the standard development time for new projects of this caliber with one person, and 4 years is a long time.

If you ever want to get anywhere serious as a programmer, drop Python and start learning C. Python's OK for web based stuff, but as an interpreted language, it will -never- be fast enough to process data from something like PC.  Hell, I use C# mostly at work, and even I sometimes have to resort to C, or even assembler, to get some of the calculations our software needs done quickly enough.

edit: ah yes XML stanzas, the standard XMPP format hence why codewalker dropped the documentation on me. too much to read for 11;57 pm. I'll give it a go after the 10th. but it's learning a whole new language.

XML isn't a language in the programming sense, and you should already know how it works if you're a programmer. All you really need to learn there is the XMPP message format, which shouldn't take more than a few minutes to learn.

Also, I find the fact that you were considering this project and didn't even bother to look up the necessary docs to be quite ridiculous...
Title: Re: Coming Soon
Post by: Arcana on June 29, 2015, 09:08:30 AM
If you ever want to get anywhere serious as a programmer, drop Python and start learning C. Python's OK for web based stuff, but as an interpreted language, it will -never- be fast enough to process data from something like PC.  Hell, I use C# mostly at work, and even I sometimes have to resort to C, or even assembler, to get some of the calculations our software needs done quickly enough.

Hey hey hey now.  Personally, I think everyone should learn C, but that doesn't mean you should use it all the time.  Given the specifications Codewalker has implied Paragon Chat has, python ought to be plenty fast.  In fact, it'll be faster than PC itself runs.  I'm likely to be able to make a PC bot that runs faster than PC, simply because PC has throttles that prevent it from running faster than about one message update per second.  Even without something like psyco or pypy, I had a combat calculator capable of running a few million clocks per minute, easy.

Keep in mind that the devs themselves were integrating LUA into the game server engine specifically to perform dynamic script execution within the engine.  The advantage being that while C was faster, C required code compilation and all that implies.  LUA could be put into the data, and executed by the engine without recompiling the entire engine just to alter the behavior of a single function.  And then of course there's Eve Online, which is directly implemented in Python (Stackless Python, specifically).  Of course, it uses C libraries as well, but that's as much of a knock on Python as called assembly routines are a knock on C.

What you find with things like Stackless in particular and python in general is that the interpretive overhead isn't generally the problem, except in the most extreme of performance situations.  Its usually some other architectural issues that causes tricky problems.  For example, with Eve Online the main problem they've fought over the years is the python interpreter global lock, which prevents multithreaded access to global state.  When they can make threads stateless (relative to the global interpreter state) they can make literally hundreds of thousands of lightweight threads run very fast.  The trick is making the system architecture avoid accessing the global lock as much as possible.

One more small point.  Although python can run as a purely interpreted language, its normally run as bytecode within the python virtual machine: python interpretation is highly accelerated as a result.  And that's the same architecture java itself normally runs as: java p-code within the JVM.  So while there are significant differences in how the languages function syntactically, and they do have different strengths and weaknesses (java doesn't have the same global issues python has due to the way it runs), if python isn't fast enough java itself is likely to be not fast enough either.  And clearly java is fast enough to serve as the central server for Paragon Chat, since Openfire is written in java.
Title: Re: Coming Soon
Post by: Joshex on June 29, 2015, 10:57:26 AM
5 minutes of searching the XMPP spec documentation (which is the first thing you should have looked at when getting the idea for this program) would have told you about the IP/port restriction.  That alone killed your project idea.

it made it so I was restricted to 2 options, communicate directly with the XMPP server or make my own client server system, the last option is still possible, and I'm tempted to try. -auth it all starts from there, no wait... I still need a way to break CityofHeroes.exe away from the NCSoft launcher. Codewalker, sorry to bother.. especially with an unrelated question but; how did you manage to make the client run without auto-triggering the NCSoft launcher?

If you ever want to get anywhere serious as a programmer, drop Python and start learning C. Python's OK for web based stuff, but as an interpreted language, it will -never- be fast enough to process data from something like PC.  Hell, I use C# mostly at work, and even I sometimes have to resort to C, or even assembler, to get some of the calculations our software needs done quickly enough.

what Arcana said. I have no troubles with python's speed, and yeah it was restrictive at first (because I followed the book, and the book told me certain things were impossible at current) but I developed methods to get around those restrictions.

XML isn't a language in the programming sense, and you should already know how it works if you're a programmer. All you really need to learn there is the XMPP message format, which shouldn't take more than a few minutes to learn.

Protocol, language, it's all similar. you have to learn new construction rules.

yes the message format is what I was after but, I opened the links given and found pages upon pages or repository and wasn;t awake enough to skim through it to find the message format

Also, I find the fact that you were considering this project and didn't even bother to look up the necessary docs to be quite ridiculous...

meh, the way I figure it is; the docs make you start as a beginner, asking someone who already has a completed work in a program or API yields special extras that aren't apparent in the documentation and can usually summarize the info I need in a few paragraphs as opposed to a few chapters. that info is well enough if you don't plan to actually use the XMPP or XML format from the start (Which I planned not to use because I thought XMPP might supply some form of message customization rather than being bound strictly to XML) I was planning to mimic simple messages. now I see that's redundant as the info I want to send wont even be received..

after looking over the options with an awake mind today, I will not be using XML or XMPP, it's better to try and make my own client/server in python cause that would supply more freedom. I've been considering this for a while, I just never have time to mess with it. got 11 days to do some graphics for my project to hand in for the 10th. I guess I could sacrifice one day just to get the client to run with out the NCSoft launcher via python. just need to know how Codewalker did that.
Title: Re: Coming Soon
Post by: Leandro on June 29, 2015, 11:13:52 AM
Coh doesn't need the NC launcher at all, so there is nothing to break. Paragon Chat doesn't implement authserver, either, since it handles auth on its own window. The command line for launching the client to talk to Paragon Chat is cityofheroes.exe -project coh -db <IP>.

Funny thing: the COH client does not work with 127.0.0.1 as the server IP. If you pass it that IP, it will resolve the "real" IP for the local computer and connect to that, which triggers firewall warnings on Windows. To get around that, Paragon Chat tells the client to connect to 127.0.0.2, which works fine in Windows but not in Mac/Linux, because only 127.0.0.1 is configured as loopback by default in those operating systems. So, firewall warning, no Mac/Linux compatibility, or hack in Island Rum is needed. I better go talk to Manga.
Title: Re: Coming Soon
Post by: cohRock on June 29, 2015, 04:11:42 PM
Hey hey hey now.  Personally, I think everyone should learn C, but that doesn't mean you should use it all the time.  Given the specifications Codewalker has implied Paragon Chat has, python ought to be plenty fast.  ...
Python, Java, C, Javascript, etc., -- humbug!

Ya wanna learn a real language, it's Forth (https://en.wikipedia.org/wiki/Forth_%28programming_language%29).  And I'm not talking about the modern Forths which run as just another language interpreter.  Nope -- that's sissy stuff.  I'm talking real Forth, where it was the:
(Of course, all this pre-dated GUI's, so all the above could fit into a 64 kbyte environment.)

One did not write programs in Forth; one simply made Forth bigger.  Forth was love.  Forth was life.  Kinda like Shrek, but less green.
Title: Re: Coming Soon
Post by: Arcana on June 29, 2015, 05:13:52 PM
Python, Java, C, Javascript, etc., -- humbug!

Ya wanna learn a real language, it's Forth (https://en.wikipedia.org/wiki/Forth_%28programming_language%29).  And I'm not talking about the modern Forths which run as just another language interpreter.  Nope -- that's sissy stuff.  I'm talking real Forth, where it was the:
  • multi-user operating system
  • device drivers
  • interpreter
  • assembler
  • shell language
  • database
  • text editor
  • application development environment
  • application(s)
(Of course, all this pre-dated GUI's, so all the above could fit into a 64 kbyte environment.)

One did not write programs in Forth; one simply made Forth bigger.  Forth was love.  Forth was life.  Kinda like Shrek, but less green.

I wrote in Forth once.  On my Atari 800.  As a professional, a similar language I had some experience with was Pick.  Technically Pick wasn't a language so much as it was an entire system.  Pick was a database masquerading as an operating system with a query language pretending to be a scripting system.  But most people associated the Pick language with Pick itself.  I worked on the Universe version, which had a kind of colorful history of hot potato.
Title: Re: Coming Soon
Post by: Arcana on June 29, 2015, 05:37:57 PM
the docs make you start as a beginner

Yes.

Title: Re: Coming Soon
Post by: FloatingFatMan on June 29, 2015, 05:48:25 PM
it made it so I was restricted to 2 options, communicate directly with the XMPP server or make my own client server system, the last option is still possible, and I'm tempted to try. [/b]

As has been said, your chances of being allowed to run your app on Titan's server are extremely slim.


yes the message format is what I was after but, I opened the links given and found pages upon pages or repository and wasn;t awake enough to skim through it to find the message format

I found it in just a couple of minutes.

meh, the way I figure it is; the docs make you start as a beginner

You are a beginner.

asking someone who already has a completed work in a program or API yields special extras that aren't apparent in the documentation and can usually summarize the info I need in a few paragraphs as opposed to a few chapters. that info is well enough if you don't plan to actually use the XMPP or XML format from the start (Which I planned not to use because I thought XMPP might supply some form of message customization rather than being bound strictly to XML) I was planning to mimic simple messages. now I see that's redundant as the info I want to send wont even be received..

When it comes to programming, shortcuts like this are bad. If you don't understand the fundamentals of talking to an XMPP server, you have no business doing it.  I once wrote my own MSN messenger client, and to get myself started I used a .NET library I found online. Big mistake.  It never worked right and I couldn't figure out WHY it wouldn't work right because I didn't know anything about the underlying technologies.  I ended up junking all my work, actually reading the damn docs, and starting again.  After I did that, it worked first time and I actually knew WHY the library had failed.

We had a guy at work some time ago who used to dream of all the things he could do, and took shortcuts all the time.  After trying to check in some code that included a copyrighted library he "found online somewhere", he now drives a cab for a living.  I pity any fares he takes anywhere...

after looking over the options with an awake mind today, I will not be using XML or XMPP, it's better to try and make my own client/server in python cause that would supply more freedom.

Best of luck.
Title: Re: Coming Soon
Post by: Arcana on June 29, 2015, 06:15:27 PM
after looking over the options with an awake mind today, I will not be using XML or XMPP, it's better to try and make my own client/server in python cause that would supply more freedom.
Best of luck.
He's going to need more than luck.  Its hard to be certain, because what the text says doesn't always map to what he intends, but it sounds like he's saying even though Codewalker has done the heavy lifting of figuring out how the client works, and mapped client actions to XML messages, Joshex is going to throw that out the window and just do the messaging raw, himself, because XML's docs are too long.  After, of course, he asks Codewalker "so, in a paragraph or two, how did you do that so I can replicate that work."  Because freedom.

I'm rather at a loss.  Codewalker's platform is about as good as it gets: anyone who can't bot this architecture deserves to have their programmer ID card confiscated.  But he wants to reinvent the wheel with marshmallows and a box of toothpicks, and he's never seen a circle before.

There's always someone that wants to do it the impossible way, because they don't understand the easy way, and can't execute the hard way.  If ever there was a time to sit down and learn the fundamentals, its now.  Its never going to get easier to write a line of code that does something City of Heroes-like.  Oh well.
Title: Re: Coming Soon
Post by: sdrawkcab on June 29, 2015, 06:26:01 PM
You are a beginner.

And you are a jerk.

Glad to see the typical condescending attitude of city of heroes forum members is still alive and well here. All he did was a bit of theorycrafting and ask a few questions and the way you guys spoke to him completely didn't line up with how he was presenting himself. Why do you feel the need to speak down to people like that? Does it make you feel good about yourself?

Edit: Also, Python is a great language for learning how to code and to work in a modern software company you absolutely do not need to know C. That's just something "veterans" (read: oldies) say because they're still working in grunt-work developer positions after 20+ years in the industry and they need something to maintain their air of superiority over the younger, smarter, faster developers climbing over them on the career ladder.
Title: Re: Coming Soon
Post by: benkenobi on June 29, 2015, 06:42:10 PM
This thread reminds me of *this thread* https://news.ycombinator.com/item?id=2069810

Anyway, every implementation (of life) is riddled with hidden gotchas, and we're all jerks.. including the guy who wants us to PM him what we think his (probably) one-way hashing algorithm says.  ;)

We could do with being nicer and less patronizing of one another methinks! <3
Title: Re: Coming Soon
Post by: Arcana on June 29, 2015, 07:24:20 PM
Funny thing: the COH client does not work with 127.0.0.1 as the server IP. If you pass it that IP, it will resolve the "real" IP for the local computer and connect to that, which triggers firewall warnings on Windows.

On my Windows machine trying to direct the client to 127.0.0.1 causes it to bind to and try to connect to my VMware virtual network adapter.  So its apparently just grabbing an interface and pulling the addresses off of that.

It also getaddrs whatever you feed it before checking it, because it wouldn't be tricked by all the normal ways of faking this sort of thing out (for example, feeding it cityofheroes.exe -project coh -db 2130706433 works, but also bounces you to a real address).  I gave it my best shot there.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 29, 2015, 07:45:30 PM
And you are a jerk.

As far as XMPP is concerned, he IS a beginner. So am I.  This is a fact and stating facts does not make one a jerk.  The difference between he and I is I'm reading the specification docs whilst waiting for CW to release his work. Then I might take a look to see if I want to write some RP bots.
Title: Re: Coming Soon
Post by: Arcana on June 29, 2015, 07:59:14 PM
We could do with being nicer and less patronizing of one another methinks! <3

I should point out that a lot of people have been asking a lot of questions, technical and operational, some interesting and some trivial, and pretty much all of them have been answered fairly directly and politely, including the majority of Joshex's questions.

However, leaving aside Joshex's history for grandiosity, Joshex committed a sin: the gravest sin you can commit in technical circles, and I don't think you or sdrawkcab fully appreciate it, because you may only be looking at the tone of the text.  The gravest sin you can possibly commit in technical circles, and its something Joshex will have to learn if he is going to function in them one day, is you never, ever, ever imply that your time is more valuable than the time of the people who's help you're asking for.  Particularly when it comes to doing your own homework, RTFM, and acquiring the context to ask realistic questions.  He may say he did no such thing, but that's irrelevant: the text speaks for itself.

When the average player says "I have no idea how any of this works but I'd like to know if we can use Paragon Chat from multiple computers" I answer that question in the spirit it was asked: the person genuinely has no technical knowledge, and doesn't need to know the technical details, but wants to know something about how the software is likely to work for them.  But when Joshex says he's going to script up the ski slopes, and he just wants to know how they work and how the data gets sent around and how to get the IP addresses of connected clients, that's different.  Giving him the full benefit of the doubt that he's actually going to try to do what he claims he's going to do, we - the technical we - know his very questions imply he doesn't have the requisite knowledge to attempt to do that.  Its not even enough to theorycraft it, because all of his assumptions about everything are wrong.  Again, giving him the full benefit of the doubt, the correct thing to do is to point him to the information not that answers his direct questions, because those direct questions don't have direct answers, but to the context information he needs so that when he just even thinks about the problem he's at least thinking about the right problem.

You can either try to learn enough so that you're asking reasonable questions in the first place, or you can drop the pretense of wanting to know things from a technical perspective.  But when you say, or even imply, that you're a technical person with all these great ideas, but you just need people to do the trivial stuff like tell you how everything works or explain how to actually make your idea work, that is never going to incite a good response.  There are many technical circles, in fact, where it will permanently mark you for life as one of those

Thing is, every time it happens, I forgive him these errors.  Every time Joshex asks a technical question, I tend to start from scratch and answer the question like I would any other, giving him the full benefit of the doubt with regard to how he intends to use that information.  As I would for anyone else.  That's not a courtesy most people get in the real world.

Now, if that sometimes comes off as condescending, so be it.  I'd be willing to bet even Joshex would prefer I answer his questions the way I currently do, rather than the alternative of ignoring them completely, which is the only other option.  But I'm willing to be disproved on that count.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 29, 2015, 08:05:22 PM
^ You have infinitely more patience than I, Arcana. I take my hat off to you (and sneak into your kitchen to steal some apples). ;)

Title: Re: Coming Soon
Post by: benkenobi on June 29, 2015, 08:22:40 PM
^ You have infinitely more patience than I, Arcana. I take my hat off to you (and sneak into your kitchen to steal some apples). ;)

HA! -- true, I would've just ignored him.

I guess I have the opposite problem, I have to constantly check myself for socially correct responses.
On the technical side, I have nothing to prove: the baddies I just ignore, (note above.)

 :-X
Title: Re: Coming Soon
Post by: FloatingFatMan on June 29, 2015, 08:35:07 PM
HA! -- true, I would've just ignored him.

I guess I have the opposite problem, I have to constantly check myself for socially correct responses.
On the technical side, I have nothing to prove: the baddies I just ignore, (note above.)

 :-X

I don't believe in being socially/politically correct.  I'd rather be blunt and honest, than spare someones feels by lying. :p  I dislike lying, a lot, and try to avoid it as much as I can.
Title: Re: Coming Soon
Post by: Gothenem on June 29, 2015, 08:44:08 PM
I don't believe in being socially/politically correct.  I'd rather be blunt and honest, than spare someones feels by lying. :p  I dislike lying, a lot, and try to avoid it as much as I can.

You, sir, are a better offal than I.

Oh, and I don't post much here, but I lurk, and follow. Paragon chat has me excited, but I have an interesting question.

Now, I understand we can connect to this via Trillian, which is awesome, since I use Trillian alot, and can thus get updates on the happening of the community while at work and such. I also understand that "local and emote" chats won't work, because you will not have an avatar, as that requires the CoH client.

How DOES one appear to the CoH Client users? Are you just a "Voice from the Heavens?" My question is more on the lines of if I try to pull up a window using the global handle. Also, can said Trillian User be logged in with a character, or just via global handle?

Also, as this is not Icon, I presume we cannot load NPC's onto the world. Am I correct in this or not?
Title: Re: Coming Soon
Post by: Arcana on June 29, 2015, 08:46:32 PM
^ You have infinitely more patience than I, Arcana. I take my hat off to you (and sneak into your kitchen to steal some apples). ;)

You can catch more flies with honey than vinegar.

Then again, the point of that is to kill the flies, so maybe there's something in there you can work with.
Title: Re: Coming Soon
Post by: benkenobi on June 29, 2015, 08:49:03 PM
I don't believe in being socially/politically correct.  I'd rather be blunt and honest, than spare someones feels by lying. :p  I dislike lying, a lot, and try to avoid it as much as I can.

I also dislike lying, and sometimes let emotion cloud my judgement like anyone.
But lying is not the same thing as articulating your responses to avoid conflict, which is a social tool.

 :)
Title: Re: Coming Soon
Post by: FloatingFatMan on June 29, 2015, 08:54:45 PM
Now, I understand we can connect to this via Trillian, which is awesome, since I use Trillian alot, and can thus get updates on the happening of the community while at work and such. I also understand that "local and emote" chats won't work, because you will not have an avatar, as that requires the CoH client.

How DOES one appear to the CoH Client users? Are you just a "Voice from the Heavens?" My question is more on the lines of if I try to pull up a window using the global handle. Also, can said Trillian User be logged in with a character, or just via global handle?

As I understand it, and I may be wrong, your messages would appear in Broadcast chat, under your global name.  I think you'd probably need to be in game to post from a character name.

Also, as this is not Icon, I presume we cannot load NPC's onto the world. Am I correct in this or not?

Again, only as I understand, but the only NPC's present will be ones CW has coded to be there.  I think he said something about the same set as you get in Icon when you start it up.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 29, 2015, 08:56:23 PM
I also dislike lying, and sometimes let emotion cloud my judgement like anyone.
But lying is not the same thing as articulating your responses to avoid conflict, which is a social tool.

 :)

Meh, I prefer to be direct. All this pussy footing around a subject just irritates me, and when I get irritated, I get very very polite. :p
Title: Re: Coming Soon
Post by: Arcana on June 29, 2015, 09:03:27 PM
How DOES one appear to the CoH Client users? Are you just a "Voice from the Heavens?" My question is more on the lines of if I try to pull up a window using the global handle. Also, can said Trillian User be logged in with a character, or just via global handle?

Based on what's been stated about the architecture of Paragon Chat, I assume if you connect to the server with a chat client then your chat shows up on the global channel (assuming you haven't left it) but because your chat client has no knowledge of and does not use the side channels that the Paragon Chat client uses to transmit game information to all other PC clients, you basically are like someone on Triumph global chatting with people on Freedom.  Which is to say, you can chat on global channels, but you otherwise do not exist to them at all.  You are not a disembodied voice, you just aren't there at all.
Title: Re: Coming Soon
Post by: benkenobi on June 29, 2015, 09:18:03 PM
Based on what's been stated about the architecture of Paragon Chat, I assume if you connect to the server with a chat client then your chat shows up on the global channel (assuming you haven't left it) but because your chat client has no knowledge of and does not use the side channels that the Paragon Chat client uses to transmit game information to all other PC clients, you basically are like someone on Triumph global chatting with people on Freedom.  Which is to say, you can chat on global channels, but you otherwise do not exist to them at all.  You are not a disembodied voice, you just aren't there at all.

Spiritworld! ooooOOOOOOoooo  :o /ghosty
Title: Re: Coming Soon
Post by: Codewalker on June 29, 2015, 09:22:41 PM
How DOES one appear to the CoH Client users? Are you just a "Voice from the Heavens?" My question is more on the lines of if I try to pull up a window using the global handle. Also, can said Trillian User be logged in with a character, or just via global handle?

FFM pretty much nailed it.

As I understand it, and I may be wrong, your messages would appear in Broadcast chat, under your global name.  I think you'd probably need to be in game to post from a character name.

Again, only as I understand, but the only NPC's present will be ones CW has coded to be there.  I think he said something about the same set as you get in Icon when you start it up.

To elaborate, if you join the XMPP room called "Paragon Chat", that's the global channel that gets added to new characters by default, so you'll see a lot of people joining it as their global name, and that's how what you type will appear as well.

By contrast, if you join the room called "Atlas Park" what you're actually joining is AP's broadcast chat. You'll see people using the Paragon Chat client join it using their character name as a nickname (though you can still click info to find out which account/global they are), and anything sent to zone broadcast or request chat will show up in the room. If you send a message to that room, people in game who arein AP will see it in broadcast chat as coming from your global, but of course there won't be an actual player in AP they could go find.
Title: Re: Coming Soon
Post by: Nyghtshade on June 29, 2015, 09:30:21 PM
FFM pretty much nailed it.

To elaborate, if you join the XMPP room called "Paragon Chat", that's the global channel that gets added to new characters by default, so you'll see a lot of people joining it as their global name, and that's how what you type will appear as well.

By contrast, if you join the room called "Atlas Park" what you're actually joining is AP's broadcast chat. You'll see people using the Paragon Chat client join it using their character name as a nickname (though you can still click info to find out which account/global they are), and anything sent to zone broadcast or request chat will show up in the room. If you send a message to that room, people in game who arein AP will see it in broadcast chat as coming from your global, but of course there won't be an actual player in AP they could go find.

Will there be an RP-designated chat channel, to avoid having to pick RP conversations out piecemeal from a general channel scroll (I still remember trying to sort RP out of the vast scrolling of Pocket D, yikes?)   

Or, failing that, would the players' proximity affect what appears in the chat window, the way it did later in the game  (i.e. - get far enough away from other groups and your RP conversation doesn't have overlap from other groups?)
Title: Re: Coming Soon
Post by: FloatingFatMan on June 29, 2015, 09:31:57 PM
Will there be an RP-designated chat channel, to avoid having to pick RP conversations out piecemeal from a general channel scroll (I still remember trying to sort RP out of the vast scrolling of Pocket D, yikes?)   

Or, failing that, would the players' proximity affect what appears in the chat window, the way it did later in the game  (i.e. - get far enough away from other groups and your RP conversation doesn't have overlap from other groups?)

Local chat is implemented and is range sensitive.
Title: Re: Coming Soon
Post by: Joshex on June 29, 2015, 09:53:19 PM
Coh doesn't need the NC launcher at all, so there is nothing to break. Paragon Chat doesn't implement authserver, either, since it handles auth on its own window. The command line for launching the client to talk to Paragon Chat is cityofheroes.exe -project coh -db <IP>.

Funny thing: the COH client does not work with 127.0.0.1 as the server IP. If you pass it that IP, it will resolve the "real" IP for the local computer and connect to that, which triggers firewall warnings on Windows. To get around that, Paragon Chat tells the client to connect to 127.0.0.2, which works fine in Windows but not in Mac/Linux, because only 127.0.0.1 is configured as loopback by default in those operating systems. So, firewall warning, no Mac/Linux compatibility, or hack in Island Rum is needed. I better go talk to Manga.

interesting on the IP, seems CoX must have that built-in somewhere with a loop getting the IP from system, naturally that sets off warnings in windows. OK so -project coh, is -db necessary or can that be replaced with -auth <IP>? I assume it can. you know what I should have done, assumed City had shell/command line support and done cityofheroes.exe -h to see what popped up.

Best of luck.

He's going to need more than luck.  Its hard to be certain, because what the text says doesn't always map to what he intends, but it sounds like he's saying even though Codewalker has done the heavy lifting of figuring out how the client works, and mapped client actions to XML messages, Joshex is going to throw that out the window and just do the messaging raw, himself, because XML's docs are too long.  After, of course, he asks Codewalker "so, in a paragraph or two, how did you do that so I can replicate that work."  Because freedom.

I'm rather at a loss.  Codewalker's platform is about as good as it gets: anyone who can't bot this architecture deserves to have their programmer ID card confiscated.  But he wants to reinvent the wheel with marshmallows and a box of toothpicks, and he's never seen a circle before.

There's always someone that wants to do it the impossible way, because they don't understand the easy way, and can't execute the hard way.  If ever there was a time to sit down and learn the fundamentals, its now.  Its never going to get easier to write a line of code that does something City of Heroes-like.  Oh well.

no.

I have a great deal of respect for Codewalker and Leandro's work, it's not the length of the XML docs, it's the java dead-end I see ahead ( a dead-end for me because I don't have the time to learn java though it's probably only slightly different). Either I code a plug-in in java to communicate with an exterior program and hope that I can use the plug-in to send game object messages to the client, then code the server to handle that operation, or I start fresh and write a new system that works as a stand alone server. that triggered a switch in my brain that said "dude you know squat about java, and the current system sounds a bit restricted, best stick with what you know or it could cost you a lot of time, could be a fun python puzzle, besides you already know how most of this works in python, why use a different system and confuse yourself?" and that's how I arrived at the conclusion that I have.

Paragon chat works well as a chat system with 3D movement support interfacing with the CoX client (Bravo! well done thankyou! amazing!), but they already stated it's restrictions, even if I could route an XML stanza through the XMPP server containing timer or gate info in CoX's message format it would be ignored by the XMPP client. dead end.

I only plow through dead ends if there's no way around them. the way around is to start over in a system that has no such inherent restrictions. the way over is to go with the flow and do things XMPP's way with a java plugin.

Spoiler for Hidden:
"Allmmoooost there....." "dude why are you climbing over that skyscraper?, that street right next to you goes to the same place!" "Because I decided to use java to try and resolve a dead-end in the current program, ok!?" then a random java programmer walks by:

"Oh yes, java very good! perfect program, you need nothing else, best program in the world, I have job as programmer at Apple, when I came in they told me I need know C++, I said I do, I write everything in java, they just businessmen and don't know difference, their computers have virus I made, everybody have virus I made, I very successful Troll. you want work in C++? Ha no! java better! java has web support, java can splash screen, java in everything because it great for molesting internet freedoms, you don't want to do 'if statement'!, in java we do Class(), you no need python or C++ or assembly language developer, I Java I better. Java used be own by sun for solaris, now it owned by troll, you no read news? you should learn java! everyone should learn java! nothing should be coded in anything but java!, you will like it."

It just sounds so sleazy, like a stereotypical bad car salesman or infomercial actor trying to sell you a "real winner" on the piece-o-crap scale. or like the tone they use in all those scam video sites "*JUST USE OUR PROGRAM TO GET THOUSANDS IN YOUR BANK ACCOUNT EACH WEEK*, I used cashquick and this is my paypal statement this month; I made 23 thousand dollars! *AND NOW YOU CAN TOO*"

second thought; walking around seems about good right now.

the above spoilered conversation is the outcome of every IRL conversation I've ever had with a Java coder professional or otherwise and why I gave up deep inside about making anything to work with PC the moment I heard 'plugin' + 'java' in this conversation. Not to say I'm discrediting PC, not to say I'm undermining their work or insulting them. not that I'm saying they can't go forwards with it.

I use python because I know it; I know it isn't the best or most capable and I know there is very little support for it in mainstream programs, and I will never force that opinion on others (especially with new python, there's a reason I use deprecated old 2.6.2 and it's not just because blender 2.49b runs it, it just so happens both blender and python made poor decisions to reconfigure themselves at about the same time and were/may still be crippled and not capable of what I need them to do) and as a final reason not to use java, I honestly don't want to be a douche like a lot of the people I've met to summarize the conversations into the paragraph above. Keep in mind I'm sure there are plenty of Java devs who aren't duche+bag+s, but I have never met them (I just have /ALL/ the luck don't I? at least I can't say my life is dull, I meet a corporate CEO? Corrupt_greedy_duche_INC., I meet a java developer? over-bragging Sir duchealot, I meet a duche? really funny, guy, really funny, why am I not laughing?, puts a bad impression in my mind of the things they own/use and people/society in general).

XMPP + needs java plugin == dead end + to me. #class that.

I'm not really ranting here, just explaining why I have this prohibition to working with java and that being the only option for adding in new features in Paragon Chat makes me consider starting over to accomplish the ski slopes timer and score system. I wanted to do a collab thing straight and simple: make timer, make player cubes to spawn when a message is received that they are in zone "pocket D", change their location to the location given by the server, when they hit a gate send the info to the server.

that way their work wouldn't go to waste, but XMPP has limitations I didn't expect. if I had made XMPP I would have forseen that people might someday want to send other 'miscellaneous' datatypes such as custom codes needed by other programs. So I expected the makers of XMPP to have done the same. nope. well then, Oh... Kay...

bad experiences with java people and programs, bad bad ones.

yes I know I've developed a bias against java from it, point is I don't want to associate myself with such a language if it's populated largely by those kind of people, it'd give me a bad name (yeah, I know that says a lot).

Spoiler for Hidden:
"Hi, I know java" Corporate CEO: "Ah Good! we need more of your kind here at Apple, our plans for world domination are founded on corrupt self-centered leapfrogging braggarts just like you!" "but.. I'm none of those things" CEO: "Of course you aren't!" *wink wink* "eh?!, eh?! seriously we got a project going right now, we need a java phone app that steals global location data from built in GPS systems and couples it with recorded sounds and video data without the user's permission or knowledge, it's for marketing purposes. I'll throw in 3 credit card numbers off the list we collect if you join today. and dont; worry about it they all agreed to this in the ToS to keep their iphones active."

"Hi NCSoft, we really want City of heroes back, we even made this program in Java to..." they stop reading: "What? Java? they are evil?! I had no idea they were part of the order of darkness just like we are! sheesh small world, then.. why would they want CoX back? everyone knows the order of darkness has some personal issues with that game..."

I joke, I joke.

final point, if you, codewalker or leandro want to use java to make new functions for PC, that's fine, more power to you and I'd be glad to see someone of your personality and knowledge caliber working with Java, seriously! it would be a welcomed change. but I'm not going to do java. Paragon chat was a lot of work and well done at that, major beyond kudos for it! very impressive and I'm sure you can eventually make all sorts of things happen with it! but for me to work on it in java, no.

But I want to try my hand at the ski slopes, and I know that's not a priority for codewalker at this moment, he has /MORE IMPORTANT/ things to do, I emphasize that on purpose, his work is important to us fans of CoX cause he indeed has something amazing to show that needs some finishing touches.

last time I met a java dev was in the supermarket, we were waiting for the final discounts to be done, he asks why I'm here in scotland, said for my masters, asked what I'm doing for my course, said making a game BOOM, JAVA DOUCHE ACTIVATE:

Spoiler for Hidden:
"you should use java, everything runs on java!, I use java, I make 23 quid an hour, java is perfect, why don;t you use java?"

because blender doesn't use java and I've already gotten a lot of the foundation built in blender and python

"oh you should scrap that and find a way to make a java plugin for blender"

blender doesn't use plugins like that.

"then you shouldn't use blender or find a way to hack it to accept java, use blahblah blah I know that runs java, if you want to be a real developer you need to use java or no one will ever buy your game and you can't publish it."

but programming from scratch in java like that means I'd need to program my own 3D space with complex linear algebra and physics, blender has that part done for me so I can focus on other things.

"of course, but then you have the pleasure of working with java, java is the best and I know a few companies who will buy your game if it's written in java"

I'm not making it for sale to some publisher not after what they did to some other games, I plan to run it myself

"just use java you'll feel like a better more intelligent person when you do, trust me just delete your work when you get home and go learn java you'll have your game in maybe 4 years."

but this is a one year masters and it's half way through

"don't worry about that, you tell your teacher java takes more time than that, it's ok if you flunk you will know java, you wont need an education, people will hire you"

so then I just said "uh huh..." and started nodding, got my discounts, and he was going on for another 45 minutes before he stopped following and let me go check out.

as I said, bad bad experiences with Java people that's why I sympathized with VV in another thread when she said "does Java get along with anybody?".

seriously the java coders I've met have literally given me a mental scar for life on all things Java.

or that company I went for an interview at, said they had a whole game system running on python and needed coders, they liked my work examples, said it was impressive, then said they normally don't use that much python actually, most of their system is written in Java, you know.. "for the web", but if I learned to use java they'd have a position for me, but right now that other guy over there knows java and knows squat of python so..

met these people at a python coders meeting too. fancy using 90% java and being a host at a python coders meeting.

If I made anything, I would not rival Codewalker and Leandro's project. It would be sent to them in source for their review, acceptance or rejection no strings attached. heck they can take credit for it as they did the ground work.

I may have spent my fair share of time playing on villain side, but even then I still had at least that level of moral code and ethics, even in a supervillain group with Reich in the name (not my choice of name, but it's my friend's, friend's base, you know how that goes).

Taking credit for the info they give me here or taking credit for it's application in a program would be like taking credit for python itself just for using it.

I thank Codewalker and Leandro for being so informative and accommodating, and I thank Arcana for being so intelligent when it comes to code and stats. You all rock and keep up the good work.

I really need to learn to express myself and my intentions more clearly rather than give it out in little bits.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 29, 2015, 10:03:23 PM
Joshex, I dislike Java almost as much as I dislike Ecmascript (javascript to mortals).  However, if the industry wants it, then as a professional, I have to learn it if I want to keep food on the table.  Sticking to one language just gets you one thing, unemployed.

Today, for example, my time was spent debugging someone else's WPF (XAML) code. Ew.  Tomorrow, I'll be debugging some ancient VB6 code (bleurgh), and the day after, who knows? It could be C#, C, ASM, HTML5, Fortran, SQL... Such is the dreary life of a programmer, and I've been one since 1988.  If you're not a polyglot, you've had it.
Title: Re: Coming Soon
Post by: Arcana on June 29, 2015, 10:53:11 PM
XMPP has limitations I didn't expect. if I had made XMPP I would have forseen that people might someday want to send other 'miscellaneous' datatypes such as custom codes needed by other programs. So I expected the makers of XMPP to have done the same. nope. well then, Oh... Kay...

How exactly do you think Codewalker got a generic XMPP server, that knows nothing about City of Heroes, to send messages between City of Heroes clients that make the game clients see each others' activity?  XMPP is just XML wrappers around data.  There's nothing you can't send.

Let's take a look at Codewalker's sample message (http://www.cohtitan.com/forum/index.php/topic,10947.msg183954.html#msg183954) again:

Code: [Select]
<message type="groupchat" to="test1@server.nice.try/Nomad"
from="novapraetoria_meta@conference.server.nice.try/Conan the Librarian">
<u xmlns="xx:u" p="-4742.7 40 -240.8" v="0 -0.6 0" o="0 -1.77 0" m="JUMPFALL"/>
</message>

XMPP messages are written in XML, this is a single <message> stanza, or message block.  The message type is "groupchat" which is a standard XMPP message type used to indicate multicast (many to many) communication.  The message has a defined "from" and "to" which can be used to determine where messages are destined for and where they come from.  Useful for message routing in the general case.  The actual meat of the message is the "u" block, which is probably part of a declared namespace from the start of transmission, and includes positional information (p=""), velocity information (v="") and orientation information (o="") and an action, like an emote or animation sequence, (i.e. m="JUMPFALL").  The only real parts of XMPP Codewalker is using are the wrappers to get message A to destination B.  The actual data being sent from client to client is basically just dumped into the XMPP message within a global wrapper.  Its not even "XML-ized" into XML blocks, because why bother.

What possible piece of information could you want to send that this can't accommodate?  This can literally accommodate anything.  Every piece of data any client could ever send to a server, or vice versa, could be written out in ASCII and stuck into a (longer) message.

That's why I'm still confused why you're opposed to learning XMPP.  You don't need to learn all of it.  Just the wrappers that Paragon Chat uses.  I've already starting taking some code I was futzing around with to play around with MMO architectures, and adapting it to making a PC bot and I haven't even seen Paragon Chat yet.  Don't have to.  The bot has to do certain things, and I already know what most of them are.  Login.  Broadcast the right information to start up, including character information.  Join the right rooms.  And then mostly move around and emote, tracking position, movement vector, and direction (orientation).  And a way to send the right bunches of those numbers at the correct rate for PC to send that properly to any other connected client in the same zone.  Once PC releases, all I have to do is take the numbers, and wrap them inside valid XMPP wrappers and ASCII encode the numbers in Codewalker's format, which is a completely separate routine I can write later.

None of this requires I be an expert at XMPP.  I just need to be sufficiently conversant with it to be able to understand what Codewalker did, and he's already tipped 80% of his hand already with that one message.  The rest is mostly details.

Incidentally, I'm worried a bit about the "once per second" throttle and how that affects what people logged into actual clients can see and do.  But I think its possible to make a punching dummy.  I'm not quite sure if it will work in practice, but in theory the pieces seem to be there.  Right now, can't spawn VFX (its on my list, Codewalker).  So no shooting.  But an MA kick like Crane Kick, that's just an animation sequence; basically an emote.  I can't make that animation actually do anything to anyone, but I could make a bot that tries to detect the kick, validate its in range and at the right orientation and then takes a dive. 

If Codewalker can create a primitive that spawns VFX, I could use the MUD** route and instead of having the caster execute powers, have the bot do it.  The bot can go faster than the client, and the bot can do things Codewalker can't allow players to do to each other, like fall down and die.  You just have to spawn the VFX backwards, making sure the animation plays towards the bot and away from the player, exactly the opposite of what powers normally do.

All that is possible without touching the server at all, except to connect the bot to it.  Before thinking about hacking the chat server, I think its important to see what's possible with a generic server first, leveraging the capabilities we already have, or could get just by torturing Codewalker until he writes them.  Custom servers and complicated, glitchy, horribly unstable things.  Standard XMPP servers are notorious for being that without customization.  And a chat server will always prevent players from abusing other players.  But a bot can do anything to itself when asked: we could do a lot by asking a bot to take one for the team, rather than asking Codewalker to add features that allow players to do things to the environment or each other.

Hypothetically speaking, an interesting feature for PC X.whatever for X>>>1 is opt-in.  Players could register with a bot, and opt into its effects.  When you opt in, you'd be granting the bot the ability to do things to you, like move you around.  Codewalker could then more safely add features that would be useful to, say, role playing GMs that would be unsafe to add globally.  Opt-in would whitelist the GM and any or all of his bots, whereupon the GM could do "unsafe" things.  Codewalker himself hinted that he might add the ability to create private rooms where the instantiator had roughly the same equivalent rights: anyone entering that room would be subject to greater control by the GM that people in public spaces are normally protected from.  That opens the door to all kinds of additional interesting possibilities.  Including things like ways to potentially operate the ski slopes.  Again, without tampering with the central chat server.

Putting most of my cards on the table, I'm thinking about server mods because I'm an architecture person; that's what I do.  But it may be months or years before I seriously mess with that, when there's so much you can do without touching the server.  And things you figure out how to do without messing with the server are highly portable, and thus more interesting.  They may require modifications to the Paragon Chat local, call it proxy, itself.  But I suspect every feature I want is currently something Codewalker really wants to do eventually anyway.  I just have to convince him to do my list before his list.  Not easy, but easier than say liking java.


** Back in the day, the way MUDs often worked is that rather than have the game understand what players could and could not do, programmers could add objects in the MUD that had self-contained intelligence that knew what could be done to them.  That way, all the brains were in the custom thing, and not in the engine or even in the clients, to the extent that MUDs even had clients as such.
Title: Re: Coming Soon
Post by: Nyx Nought Nothing on June 29, 2015, 11:08:05 PM
i've been contemplating the Dunning-Kruger effect (https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect) quite a bit more often than usual for the past week. For some reason.
Title: Re: Coming Soon
Post by: Leandro on June 29, 2015, 11:40:09 PM
The once-a-second restriction is there just to limit bandwidth usage, and that's just on what Paragon Chat itself is sending. It could certainly update more often, but it's better to be cautious and check server load and bandwidth usage with slow updates at first. If you send 10 packets a second, Paragon Chat will process them.

Part of the reason why the source isn't being released immediately is that we don't want someone to build a version that sends faster updates, distribute it as "use this, it has smoother movement!" and either kill the bandwidth or, worse, hide a keylogger or steal passwords.
Title: Re: Coming Soon
Post by: The Fifth Horseman on June 29, 2015, 11:42:45 PM
it made it so I was restricted to 2 options, communicate directly with the XMPP server or make my own client server system, the last option is still possible, and I'm tempted to try. -auth it all starts from there, no wait... I still need a way to break CityofHeroes.exe away from the NCSoft launcher. Codewalker, sorry to bother.. especially with an unrelated question but; how did you manage to make the client run without auto-triggering the NCSoft launcher?
That's not even a real question, Joshex. The client doesn't need the launcher to work. Temporarily replace the game executable with a simple application that will show you the arguments with which the client is started. Try running it from the launcher. See what you get.
Title: Re: Coming Soon
Post by: Arcana on June 30, 2015, 12:05:29 AM
The once-a-second restriction is there just to limit bandwidth usage, and that's just on what Paragon Chat itself is sending. It could certainly update more often, but it's better to be cautious and check server load and bandwidth usage with slow updates at first. If you send 10 packets a second, Paragon Chat will process them.

That's what I figured, which is why I figured bots would actually be able to do more than conventional players.  What I wasn't 100% certain about was whether Codewalker put throttles into the local client, to prevent the exploit you described.  If those existed, the bots could bot themselves to death at 30 frames per second, but nobody would actually see that happen.
Title: Re: Coming Soon
Post by: benkenobi on June 30, 2015, 12:14:21 AM
That's what I figured, which is why I figured bots would actually be able to do more than conventional players.  What I wasn't 100% certain about was whether Codewalker put throttles into the local client, to prevent the exploit you described.  If those existed, the bots could bot themselves to death at 30 frames per second, but nobody would actually see that happen.

Sounds quantum mechanically legit. ;)
Title: Re: Coming Soon
Post by: Codewalker on June 30, 2015, 01:46:44 AM
(lots of stuff about not wanting to write plug-ins in java snipped for brevity)

The fact that the server we happen to be using at launch is written in Java really isn't important. Yes, if you want to write a plug-in, it has to be in java, but I mentioned that only an aside, not a main point.

The whole reason for using XMPP is so that Paragon Chat doesn't rely on any particular server software. It's an open standard and there are many different servers. Just because we haven't tested them, doesn't mean they won't work.

In fact, none of the items on our short, medium, or even our long term goals for PC will require any kind of custom server plugin. They're all things that can be reasonably done in a cooperative manner between clients using a common transport.

That's why when you mentioned the ski slope thing, my first take on it was a bot that sits in the Pocket D channel and watches the traffic. I only mentioned server plugins as a second possibility because you were so focused on it needing a server component. For what you're trying to do there is literally nothing to be gained by using a plugin. There's nothing a plugin can do that a regular user cannot that would be useful to you for what you're trying to accomplish.

XMPP is extremely extensible, but you're limited not by the server but rather what data Paragon Chat is willing to process and act on. The initial release will be quite limited in that regard, but as more features are added, different ways of interacting with it will appear. Eventually I'll be adding a scripting interface to the client itself, probably Lua as it's easy for people to pick up and popular for game scripting due to its lightweight implementation. Once that happens almost anything becomes possible, so long as people are willing to install client-side addons to it.

And yes, I have read the majority of the XMPP specification in the course of this project, and learned a lot about how it works as a result. The docs aren't that bad, and the high level overview is not hard to find. A large portion of them involve detailed examples of what-if scenarios for both client and server and can be skipped over if you're not interested in that particular scenario from that particular point of view.
Title: Re: Coming Soon
Post by: ukaserex on June 30, 2015, 01:57:11 AM
It has been...12 years since I've taken a course in Java, and 11 years since I took C++. I dug around Windows MFC for extra credit ( I needed it) and somehow came out of Data Structures with an A ( one of 4 in a class of 26 I found out later)

And all that stuff you guys wrote - about 80% of it went over my head. It's been years since I used it - and I might be able to code "hello world" at gunpoint, but I'd probably forget the closing paren. (isn't that the singular form of parenthesis?)

So, glad you folks are doing all the heavy lifting, for sure.

Are we going to have to do any light lifting? Or just log in per usual and avoid swearing at people who keep stealing my kills? (Yes, I'm aware that there will be no powers - but I fully expect someone to say they finished off that level 5 Hellion boss I was scratching to death, pretend-wise. )
Title: Re: Coming Soon
Post by: Codewalker on June 30, 2015, 02:01:12 AM
That's what I figured, which is why I figured bots would actually be able to do more than conventional players.  What I wasn't 100% certain about was whether Codewalker put throttles into the local client, to prevent the exploit you described.  If those existed, the bots could bot themselves to death at 30 frames per second, but nobody would actually see that happen.

I didn't see any reason to rate limit the incoming updates. By that time the bandwidth is already wasted and there's nothing it can do about it. Perhaps limiting incoming messages could serve as a deterrent to writing misbehaving bots, but to me that seems like a problem that should be dealt with by server admins instead.

The one second rate limit is actually only for position updates; the absolute outgoing rate limit is two updates per second. If something else changes in the interim such as orientation, that can still be sent separately, but the position will tend to not be sent more often than once per second except under special circumstances. Velocity transitioning to a 0 magnitude vector is one of those.

The starting values for those are fairly conservative until we have a better idea of what bandwidth and server load we're looking at. In one experimental build I reduced them for more frequent updates, but it actually made things worse for jumping due to the updates for different variables not lining up together as often and having to wait for a future tick instead of all going out at once.

I have some plans for future versions to actually reduce the update frequency to the metadata channel, perhaps to 5 seconds at the most, while simultaneously implementing limited multicasting of more frequent updates to characters who are actually close to you, similar to how local chat works. Perhaps eventually shift toward a timecoded history stream to replay in between absolute updates, which is very similar to how the game itself achieves its extremely fluid motion even in laggy conditions.
Title: Re: Coming Soon
Post by: Takinalis on June 30, 2015, 02:04:41 AM
i've been contemplating the Dunning-Kruger effect (https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect) quite a bit more often than usual for the past week. For some reason.

i've been contemplating The BDLPSWDKS Effect (http://xkcd.com/1531/) quite a bit more often than usual for the past week. For some reason.
Title: Re: Coming Soon
Post by: Arcana on June 30, 2015, 02:16:22 AM
That's why when you mentioned the ski slope thing, my first take on it was a bot that sits in the Pocket D channel and watches the traffic. I only mentioned server plugins as a second possibility because you were so focused on it needing a server component. For what you're trying to do there is literally nothing to be gained by using a plugin. There's nothing a plugin can do that a regular user cannot that would be useful to you for what you're trying to accomplish.

Joshex conflated the client throttle with a server message queue and wanted to bypass that by sending messages directly to the clients without using the XMPP channel, not realizing those words only sound like they say something meaningful, but are actually programmatically nonsensical.

Also, he was worried that the one second positional interval would be too imprecise for race tracking, but unfortunately I don't think he has sufficient experience to come up with motion interpolation using player motion vectors and orientation.

I also don't think he's reached the same Eureka moment the more experienced developers have arrived at yet, namely that every client fundamentally gets basically everything every other client sends to the "server" which gives every client the same opportunity to be a "server" as the XMPP server itself, maybe moreso.  There's only one thing really you'd need a server mod for, and that's the case where you want a message from a client to *not* go to every other client.  Full on combat, rather than the simulated pretend combat I've described, would need something like that.  Sophisticated chat moderation might.  But anything that can in effect be done with a "referee" can be done with a chat client pretending to be a god-mode player.

The Really Big Eureka moment came for me two seconds after I saw the XMPP-signal, when I realized that the XMPP chat server wasn't really going to be "the server," its really the network stack.  In effect, Paragon Chat is a peer-to-peer distributed virtual environment, with XMPP as the network layer.  The network layer has a server, but the virtual environment has no server.

When Joshex realizes this, not just on paper but intuitively, he'll realize he can do everything he wants to do in python or any other language, and the limiting factor isn't language or XML, its algorithmic cleverness.
Title: Re: Coming Soon
Post by: Takinalis on June 30, 2015, 02:28:05 AM
Um... hello, skyscraper logic people.... is everything OK? (http://xkcd.com/698/) Not all of us can fly... I code some, but it's more like fitness with sprint active, not really super speed or SJ or anything...
Title: Re: Coming Soon
Post by: Codewalker on June 30, 2015, 02:39:04 AM
In effect, Paragon Chat is a peer-to-peer distributed virtual environment, with XMPP as the network layer.  The network layer has a server, but the virtual environment has no server.

Potentially it's even more "Euraka-y" than that. After all, the protocol itself is designed to be decentralized, with people on different servers seamlessly communicating with each other...

While the first version mostly assumes that everybody is on a single server together, multi-server federation was definitely kept in mind during development and much of the framework takes it into account, even if the frontend for it isn't finished. If you connect to a server with s2s enabled, with the help of some slash commands, you already can add a global friend with a JID on another domain, join a global channel that is on a different server, or switch the default conference service that is used for the zone broadcast and metadata channels, letting you /mapmove to a zone that is hosted on a server other than your own.

Eventually I'd like to see that not be such a manual process. Ideally you could log on and see your friend on another server is online, then click on them (or be invited) and seamlessly transition into their reality without having to type a bunch of commands to do it. However those are ideas just floating around in my head, and there's a lot of work to do before we're ready to even begin moving in that direction.
Title: Re: Coming Soon
Post by: Arcana on June 30, 2015, 03:03:44 AM
I have some plans for future versions to actually reduce the update frequency to the metadata channel, perhaps to 5 seconds at the most, while simultaneously implementing limited multicasting of more frequent updates to characters who are actually close to you, similar to how local chat works. Perhaps eventually shift toward a timecoded history stream to replay in between absolute updates, which is very similar to how the game itself achieves its extremely fluid motion even in laggy conditions.

That might actually require a plugin.

Although thinking about it a bit more, perhaps you could implement something purely client-side with voxel-based microzones.  You divide up Atlas into cubes a hundred feet on a side, and whatever cube you are standing in you subscribe to that subchannel - Atlas.32.12.1, say, and also every adjacent cube.  That way, no matter where in your cube you are, even if you are right at an edge, you are guaranteed to be subscribed to the correct subzones which contain action at least 100 feet away.  You then send rapid updates to those 27 subchannels, and infrequent updates to a global AtlasRoot channel.  Whenever you cross a block boundary, you announce that on the global channel so everyone else knows something interesting boundary-wise just happened, with hysteresis to prevent flapping on the boundary.

I'm not certain, but maybe nested roster groups could be used for backward compatibility, where by default clients would subscribe to all zones of a particular name pattern, like Atlas_XX_[blank] rather than just Atlas_XX (i.e. Atlas_23).  Then when microzones were deployed, older clients would subscribe to all of them, while modern clients would subscribe only to the most local ones.

Just thinking out loud: steal/discard/set_on_fire as desired.
Title: Re: Coming Soon
Post by: Arcana on June 30, 2015, 03:11:34 AM
Potentially it's even more "Euraka-y" than that. After all, the protocol itself is designed to be decentralized, with people on different servers seamlessly communicating with each other...

While the first version mostly assumes that everybody is on a single server together, multi-server federation was definitely kept in mind during development and much of the framework takes it into account, even if the frontend for it isn't finished. If you connect to a server with s2s enabled, with the help of some slash commands, you already can add a global friend with a JID on another domain, join a global channel that is on a different server, or switch the default conference service that is used for the zone broadcast and metadata channels, letting you /mapmove to a zone that is hosted on a server other than your own.

Eventually I'd like to see that not be such a manual process. Ideally you could log on and see your friend on another server is online, then click on them (or be invited) and seamlessly transition into their reality without having to type a bunch of commands to do it. However those are ideas just floating around in my head, and there's a lot of work to do before we're ready to even begin moving in that direction.

When I wrote my "how to make a decentralized MMO no one could shut down" article on the official game forums, this idea of having local servers run a game, but federated to other servers you could transfer to like alternate reality shards was one of the core concepts of the design.  Although this is not the game, and there is not quite yet a built-in local server as such, it seems to be moseying in that general direction.  The notion that federated chat could form the underlying basis of the whole thing is really the quantum leap I needed to shown; it makes perfect sense in retrospect, but it didn't occur to me until actually presented.  Once presented, it seemed like one of those things so obvious you kick yourself for not realizing it sooner.
Title: Re: Coming Soon
Post by: Nyx Nought Nothing on June 30, 2015, 03:24:02 AM
i've been contemplating The BDLPSWDKS Effect (http://xkcd.com/1531/) quite a bit more often than usual for the past week. For some reason.
Huh. (http://what-if.xkcd.com/123/)
Title: Re: Coming Soon
Post by: Codewalker on June 30, 2015, 04:31:15 AM
You divide up Atlas into cubes a hundred feet on a side, and whatever cube you are standing in you subscribe to that subchannel - Atlas.32.12.1, say, and also every adjacent cube.

Joining an xmpp room is a fairly heavyweight operation involving receiving presence for everyone in that room, so I don't think it would be a good idea to try something like that (not to mention I shudder thinking about looking at the server admin page for something like that). Possibly you could create them as 'blind' rooms with presence disabled, so you'd have to have some other room to coordinate them.

The path I'm considering leverages the same tech we're using for local chat: XEP-0033, aka XMPP multicasting. That XEP allows you to specify multiple recipients for a direct message, so you can send it to an arbitrary group of people and the server will take care of the details. It even works efficiently across server boundaries -- servers that support it will coordinate with each other to only send the message once across the s2s link even if it's going to multiple recipients on that server.

The downside is that the JID of each recipient has to be included in the outgoing message stanza, which could add a lot of overhead in crowded areas. I'll need to run some tests and see how much compression can mitigate that. I suspect it would still be less overhead than frequently joining and leaving rooms though.

Interestingly, the whole microzone idea is very similar to a design I've been working on for another other project with more intensive requirements than just chatting. I came up with it as a way to simultaneously accomplish the goal of a seamless world where zones would not necessarily have to run on separate servers, but also where a single zone could have geographical areas running on different hardware to mitigate extreme load. Think RWZ with a mothership raid running on one server, while the vanguard base happily sails along on a different one. The only difference is I've been calling them "chunks". It's not exactly a new idea, but surprisingly doesn't seem to be implemented to the logical extreme that I think it could be taken.
Title: Re: Coming Soon
Post by: Arcana on June 30, 2015, 04:52:13 AM
Interestingly, the whole microzone idea is very similar to a design I've been working on for another other project with more intensive requirements than just chatting.

It would be ridiculous overkill for just chatting, but when you said "metadata channel" I assumed you were talking about situations where you needed to determine and leverage locality to handle more game-y effects than just chatting.  Perhaps I misunderstand what the metadata channel is used for.
Title: Re: Coming Soon
Post by: Fifth on June 30, 2015, 05:40:19 AM
I feel ashamed to think that after the demise of CoH I've neglected to return to titan network. Sure every few weeks my soul would pine for Paragon and Rogue Isles but, I would merely pop up the old Icon and play with costumes...and listen to the CoH soundtrack. I decided to check on the old CoH sites after such a binge and find that Icon has been made better and is still being worked on "O_O omgomgomgomg" was all I could manage while waiting for the new installer and now theirs a mysterious banner here. What could it mean?

I love you guys! You work so hard.  I love everyone who is active here, who kept true to CoH even after all this time. This is why we had the best MMO community that ever was or will be <3

Now making Titan my homepage so I don't miss a thing o-o
Title: Re: Coming Soon
Post by: Codewalker on June 30, 2015, 05:54:34 AM
It would be ridiculous overkill for just chatting, but when you said "metadata channel" I assumed you were talking about situations where you needed to determine and leverage locality to handle more game-y effects than just chatting.  Perhaps I misunderstand what the metadata channel is used for.

The metadata channel is just used for position data. Each zone gets two XMPP rooms, one named after the zone that is its broadcast chat, and the other that the position data, and potentially other stuff in the future, is sent over. The metadata channel is hidden from searches by default, and PC tries to turn off conversation logging on it if the server supports that, since no real conversations happen over it.

The main reason for the split is so that normal XMPP clients can join broadcast chat without having to get a ton of apparently empty messages they don't care about.
Title: Re: Coming Soon
Post by: benkenobi on June 30, 2015, 06:57:00 AM
The metadata channel is just used for position data. Each zone gets two XMPP rooms, one named after the zone that is its broadcast chat, and the other that the position data, and potentially other stuff in the future, is sent over. The metadata channel is hidden from searches by default, and PC tries to turn off conversation logging on it if the server supports that, since no real conversations happen over it.

The main reason for the split is so that normal XMPP clients can join broadcast chat without having to get a ton of apparently empty messages they don't care about.

Ah, the tried and true. #WoWAddons lol :)
Title: Re: Coming Soon
Post by: Fifth on June 30, 2015, 07:49:46 AM
Codewalker and team.

I don't have words that can adequately convey how grateful I am for this. I know it isn't the game but it's closer than we have come in two years and it is a phenomenal technical achievement.

Thank you!
This is my thoughts exactly
We have the best community ever. I may not post much , but i read these forums everyday. Thank you Codewalker , and others for your hard work and dedication.
best mmo community ever indeed <3 every one is either an asshole or secretly working for Nemesis on the other MMOs >.>
I've got a few costumes I saved back when the game was alive, and a few I've done in ICON that I really liked.

But, yes, definitely time to play around and make some more!
yup I even remade some of my old ones even thought I have the originals saved :)


Anyway, all my old friends from when this game was live are MIA, anyone want to be my friend when SOON is live? :)
Title: Re: Coming Soon
Post by: Arcana on June 30, 2015, 08:18:05 AM
The metadata channel is just used for position data. Each zone gets two XMPP rooms, one named after the zone that is its broadcast chat, and the other that the position data, and potentially other stuff in the future, is sent over. The metadata channel is hidden from searches by default, and PC tries to turn off conversation logging on it if the server supports that, since no real conversations happen over it.

The main reason for the split is so that normal XMPP clients can join broadcast chat without having to get a ton of apparently empty messages they don't care about.

Logical.  Hopefully soon I'll be testing SleekXMPP; I really hope that library works.  I would hate to have to write my own.  Although the moment I realized that any bot you write has to either have preprogrammed pathing/motion or have to read the mapfiles and do geometry and collision calculations...

(https://media.giphy.com/media/ToMjGpFtV09jzt0RE5O/giphy.gif)
Title: Re: Coming Soon
Post by: Joshex on June 30, 2015, 08:57:55 PM
Joshex, I dislike Java almost as much as I dislike Ecmascript (javascript to mortals).  However, if the industry wants it, then as a professional, I have to learn it if I want to keep food on the table.  Sticking to one language just gets you one thing, unemployed.

yeah, the other option is one a lot of people can't afford to do and I'd never suggest it; be a starving artist. It's what I do,  fight the fads I don't like regardless the cost to me. cause eventually I'll develop something my way and it won't work with java and if I make it cool enough people will use it, and then... I will have no use for java applicants now will I? and if it starts a fad then... hehe.. mwahahahaha! lets see their wonderful java get out of that one. /em evil

Although the moment I realized that any bot you write has to either have preprogrammed pathing/motion or have to read the mapfiles and do geometry and collision calculations...

(https://media.giphy.com/media/ToMjGpFtV09jzt0RE5O/giphy.gif)

At least you didn't just bluescreen because you forgot your memory was near full and opened a youtube video on how to stretch a shrunken wool sweater.  lost some graphical work.

this is why I wanted to write a timer system in python and blender. Much easier if you already have a 3D environment built for games doing these operations.

again, if you take the character Location that XMPP is sending as scripture then you don't need collision geometry. but for a race, you need a crosschecking system and that means something more complicated, either as you say "using movement prediction" or logging [keypresses, order pressed, and time pressed for], for the whole duration of the one second message wait, then send this data as one message when allowed and the server and other players update based on it. by the time they are done updating one second has passed and the next movement datapack is received. No lag, no rubber banding. it does require a "not received" message saying what movement number is missing and for the player to send that info back just in case the net has a hiccup and then there might be some lag and a necessary slowdown/speed up of processing movement data to resync.

How exactly do you think Codewalker got a generic XMPP server, that knows nothing about City of Heroes, to send messages between City of Heroes clients that make the game clients see each others' activity?  XMPP is just XML wrappers around data.  There's nothing you can't send.

I'm willing to work with this set-up, but so far I'm getting conflicting messages from everyone here on one key topic, which makes me take what codewalker said in reply as the correct answer, codewalker said even if you send other data (battle, timer, race, gates ETC.) to the client as an XML stanza it's not built to handle those so it will just ignore them, and codewalker doesn't have time to make it able to handle them.

I even confirmed it several times after in my own comments saying things like "Injecting just 'any' CoX server messages into an XML stanza designed in XMPP's messaging message composition format would not work according to Codewalker."

there needs to be a java plug-in on the client to handle that operation by parsing the message and looking for CoX message headers that Codewalker has not already included code for, then route the info to the COX client. right now it would either dump it in chat or just ignore it all together, that is what I gathered from what has been said.

if it's not movement/location data, animation/emote data, or a chat message, there is no support for it at present. from what I gather costumes are updated from player to player through the CoX client natively as I seem to remember that not being a server function.

We have motion, ability to see one another all costumed and animated, and ability to chat (and an ability to click doors and use single target zone transport). anything else is not currently supported and it may be a long time before it is. unless you want to write a plugin.

If I sent (mind you I don't know what City of heroes Gate collision (c) messages looked like so I'm just using words there):

Code: [Select]
<message type="groupchat" to="test1@server.nice.try/Nomad"
from="novapraetoria_meta@conference.server.nice.try/Conan the Librarian">
<u xmlns="xx:u" c="finishline.geo, 1:22:10, first place"   m=""/>
</message>

Paragon chat would currently raise a flag where it wonders " 'c' ? what is 'c'? Error Globaltype 'c=' is not defined"

if I did:

Code: [Select]
<message type="groupchat" to="test1@server.nice.try/Nomad"
from="novapraetoria_meta@conference.server.nice.try/Conan the Librarian">
<u xmlns="xx:u" p=-4742.7 40 -240.8" v="0 -0.6 0" o="0 -1.77 0"   m="finsihline.geo, 1:22:10, first place"/>
</message>

it would process it as a message block and would trigger Codewalker's function which looks for CoX game keywords that he has specified, this list would be read in an instant and no loops would be followed because their triggers don't match, the final trigger Else: would trigger and send:

Conan the Librarian: finishline.geo, 1:22:10, first place

to the game chat window. now while the player has received their result, the results window has not been called and any subsequent race finish text has not flashed on screen and the message including the finishline object was included. this seems stupid to worry over, it's just a topical thing right? wrong. what if you want to see the whole results window with scores from others?

Conan the Librarian: Superhero Wan, 1:22:10, first place, Supergal, 1:22:11, second place....... etc.

now again a topical thing, there's no window. but this message might be truncated by the message limit, or might be on multiple lines, and if the list is long you could end up missing chat messages from people as they are bumped off by the results.

best to keep data like this where it belongs, in it's own window, or chat tab, that's fine too and probably could be done. but why not call the window for nostalgia's sake? it's like the difference of between 1: me saying I'll show you the lost city of gold and showing you a real lost city of gold somewhere in peru and 2: me saying I'll show you the lost city of gold and showing you the sentence "the lost city of gold" on a piece of paper. yes it's still 'the lost city of gold' but not quite what you were expecting.

what if it's a long race with all the gates? gate collision messages in chat? next gate = messages in chat?. what about the timer? would kinda be annoying to receive your time in the chat window as a message once a second till you finish or till it hits a max time reset.

now Codewalker does not have time to program more loops into Paragon chat to look for these keywords not on the client not on the server (it's not a priority). and obviously he's not gonna release it just yet and obviously he will probably never release the server except to key people. so the only other option is a plugin made and sent to him or a standalone which communicates with the server and a plugin for the client with a module and loop looking for the message type you wish to send and referencing what to do in the CoX client with that message data instead of just plopping it in chat.

besides this if I made a stand alone timer and gate server, I would also need a plugin to collect player location from the XMPP server and send it to my program, and a plugin to receive the timer info and gate collision info to route back to the player, then a plugin on ParagonChat to know what to do with it. It also sounds like this system actually doesn't send anything from server to player unless it's global info for everyone which poses the consideration that the timer and gate system would have to be on the player side where they calculate it themselves and send the results to the server. gosh oh lordy that would be abused.. SuccessfulTroll autoset to all recordable places with times of 00:00:00 through 00:00:10. plus it would need a plugin for the server to save this data.

ok head spinning, message end.

Title: Re: Coming Soon
Post by: Arcana on June 30, 2015, 09:27:41 PM
besides this if I made a stand alone timer and gate server, I would also need a plugin to collect player location from the XMPP server and send it to my program, and a plugin to receive the timer info and gate collision info to route back to the player, then a plugin on ParagonChat to know what to do with it.

Or, you could write a bot that just logged into the zone and sat there, watching all the players move around, since every player connected to the server gets position updates from everyone else via the XMPP server.  That's what the XMPP server is there to do: act as a broadcasting system that takes one player's position and chat messages and forwards them to everyone else (within the right zone and group and blah blah blah).  Then you figure out by hand where the starting line and finishing line are in map coordinates, and then whenever someone crosses the imaginary start line the bot says "Player X through the start gate" and whenever someone crosses the imaginary finish line the bot says "Player X through the finish line: time = TTTT."  The bot doesn't even need to move, figure out geometry, or do anything.  This is actually *easier* than making a bot that actually pretends to be a player.

Chances are, you'd need to do some calculations.  At time T, you'll be told that Player Alpha is at position X,Y,Z, and moving with velocity J,K,L.  At time T+1 you'll be told that Player Alpha is at position X',Y',Z' and moving with velocity J',K',L'.  If you draw a line from X,Y,Z to X',Y',Z' and that line intersects the starting plane of the race course, you detect that as a valid start.  You could also check the movement vectors to perform bounds and error checking: given that the velocity of the player during the interval of T/T+1 was between J,K,L and J',K',L', is the necessary velocity (X',Y',Z')-(X,Y,Z) within the reasonable bounds of [(J,K,L),(J',K',L')].

Quote
I'm willing to work with this set-up, but so far I'm getting conflicting messages from everyone here on one key topic, which makes me take what codewalker said in reply as the correct answer, codewalker said even if you send other data (battle, timer, race, gates ETC.) to the client as an XML stanza it's not built to handle those so it will just ignore them, and codewalker doesn't have time to make it able to handle them.

I even confirmed it several times after in my own comments saying things like "Injecting just 'any' CoX server messages into an XML stanza designed in XMPP's messaging message composition format would not work according to Codewalker."

there needs to be a java plug-in on the client to handle that operation by parsing the message and looking for CoX message headers that Codewalker has not already included code for, then route the info to the COX client. right now it would either dump it in chat or just ignore it all together, that is what I gathered from what has been said.

Not so much conflicting messages as the reasonable assumption that you're not likely to be able to do that faster than Codewalker, even if its your number one priority and its Codewalker's number 100 priority.  Sorry, but its the truth.  Prove me wrong and actually do it, and we'll all be wondering what took you so long.  I'm likely to be a hundred times faster than you at this, and I'm inclined to wait for Codewalker to do it.

Given that, what we're trying to tell you is that its better to try to get creative and innovative with what you have, than try to do things you're heavily underestimating the effort for and will likely give up on eventually.  As I point out above, there's lots you could do just with what you have, if you stop trying to swing for the fences and start practicing just getting on base.  You are throwing signals in all directions that you need to reduce your reach.  When you say things like "this is why I wanted to to write a timer system in python and blender. Much easier if you already have a 3D environment built for games doing these operations" people wonder if you know what exactly you're talking about.  I'm taking my timer code and sticking it right into my bot.  My bot has no idea what 3D graphics are, nor will it ever really need to know.  What it needs to know is where the ground is, so its not constantly floating in mid-air or chatting from under the pavement, and it sort of needs to know where the buildings are so it doesn't pass through them like a Scooby Doo ghost, although even that's strictly speaking optional.  A sky slope bot doesn't even need to know any of that in theory, because you could just find the correct places in Icon and /loc them, then hard code them into the bot.

Attempting what you're describing, I'm sorry to say I'd bet against you.  With a lot of money.  But actually making a bot that could do something with the ski slopes, your original idea itself, that might be something within your ability to accomplish, if you tackled the problem from the right direction.  You just need to simplify.  Get something done, rather than the perfect thing.  Refine from there.  I do that, everyone else that has commented does that, and Codewalker himself is doing that just to get Paragon Chat out to the people.  None of us swings for the fences like you seem to do.  Aim for something you can build on.  Aim to make a platform for better ideas.  Play the long game.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 30, 2015, 09:31:11 PM
And never ever EVER lose sight of every decent programmers primary principle.

K.I.S.S.
Title: Re: Coming Soon
Post by: Arcana on June 30, 2015, 10:04:21 PM
And never ever EVER lose sight of every decent programmers primary principle.

K.I.S.S.

Keyboard isn't so strong.

I kinda got upset with my logitech K350 a few months back.  It didn't end well.  For the K350.
Title: Re: Coming Soon
Post by: FloatingFatMan on June 30, 2015, 10:12:42 PM
Keyboard isn't so strong.

I kinda got upset with my logitech K350 a few months back.  It didn't end well.  For the K350.

Keep It Simple, Stupid! :p

One thing I learned years and years ago.  if it's taking you more than half a dozen lines of code to do something, you're probably doing it wrong.
Title: Re: Coming Soon
Post by: Arcana on June 30, 2015, 10:59:29 PM
One thing I learned years and years ago.  if it's taking you more than half a dozen lines of code to do something, you're probably doing it wrong.

#include <stdio.h>
#include <stdlib.h>

main(int argc, char *argv[])
{
int loop;
for(loop=0;loop<52;loop++)


FloatingFatMan: Dammit, that's too long.  Start over, you worm.

#:: ::-| ::-| .-. :||-:: 0-| .-| ::||-| .:|-. :||
open(Q,$0);while(<Q>){if(/^#(.*)$/){for(split('-',$1)){$q=0;for(split){s/\|
/:.:/xg;s/:/../g;$Q=$_?length:$_;$q+=$q?$Q:$Q*20;}print chr($q);}}}print"\n";
#.: ::||-| .||-| :|||-| ::||-| ||-:: :|||-| .:|

FloatingFatMan: That's better.



(No, I did not write that evil, evil thing.  Credit Les Peters (http://www.foo.be/docs/tpj/issues/vol5_3/tpj0503-0014.html), apparently the Mephistoperles of perl).
Title: Re: Coming Soon
Post by: Joshex on June 30, 2015, 11:52:11 PM
Keep It Simple, Stupid! :p

One thing I learned years and years ago.  if it's taking you more than half a dozen lines of code to do something, you're probably doing it wrong.

or too dynamic, setting all definitions to variables and random number rolls so the game is in effect doing calculus in each operation and setting all names and other text data to input defined variables and finding ways to reference to those names that don't exist yet, yeah it's a headache, but then it's much more rewarding when it all ties together and works.

I do agree there is a certain length of code unique to each operation that defines if you did it right. my first python text-typing-box scripts were THE WRONG WAY. Wish it were as easy as in VB printscreen loc "" or color for the pixel, it's been so long since windows 3.1 when I first got a hold of it.

I got mah U key fixed after it was stuck for months and months. but in doing that the repair man fudged my power button, easy to turn on with a press at the right angle, hard to find that angle to hold it to turn off when I accidentally [something] and then bluescreen.

Or, you could write a bot that just logged into the zone and sat there, watching all the players move around, since every player connected to the server gets position updates from everyone else via the XMPP server.  That's what the XMPP server is there to do: act as a broadcasting system that takes one player's position and chat messages and forwards them to everyone else (within the right zone and group and blah blah blah).  Then you figure out by hand where the starting line and finishing line are in map coordinates, and then whenever someone crosses the imaginary start line the bot says "Player X through the start gate" and whenever someone crosses the imaginary finish line the bot says "Player X through the finish line: time = TTTT."  The bot doesn't even need to move, figure out geometry, or do anything.  This is actually *easier* than making a bot that actually pretends to be a player.

Chances are, you'd need to do some calculations.  At time T, you'll be told that Player Alpha is at position X,Y,Z, and moving with velocity J,K,L.  At time T+1 you'll be told that Player Alpha is at position X',Y',Z' and moving with velocity J',K',L'.  If you draw a line from X,Y,Z to X',Y',Z' and that line intersects the starting plane of the race course, you detect that as a valid start.  You could also check the movement vectors to perform bounds and error checking: given that the velocity of the player during the interval of T/T+1 was between J,K,L and J',K',L', is the necessary velocity (X',Y',Z')-(X,Y,Z) within the reasonable bounds of [(J,K,L),(J',K',L')].

Not so much conflicting messages as the reasonable assumption that you're not likely to be able to do that faster than Codewalker, even if its your number one priority and its Codewalker's number 100 priority.  Sorry, but its the truth.  Prove me wrong and actually do it, and we'll all be wondering what took you so long.  I'm likely to be a hundred times faster than you at this, and I'm inclined to wait for Codewalker to do it.

Given that, what we're trying to tell you is that its better to try to get creative and innovative with what you have, than try to do things you're heavily underestimating the effort for and will likely give up on eventually.  As I point out above, there's lots you could do just with what you have, if you stop trying to swing for the fences and start practicing just getting on base.  You are throwing signals in all directions that you need to reduce your reach.  When you say things like "this is why I wanted to to write a timer system in python and blender. Much easier if you already have a 3D environment built for games doing these operations" people wonder if you know what exactly you're talking about.  I'm taking my timer code and sticking it right into my bot.  My bot has no idea what 3D graphics are, nor will it ever really need to know.  What it needs to know is where the ground is, so its not constantly floating in mid-air or chatting from under the pavement, and it sort of needs to know where the buildings are so it doesn't pass through them like a Scooby Doo ghost, although even that's strictly speaking optional.  A sky slope bot doesn't even need to know any of that in theory, because you could just find the correct places in Icon and /loc them, then hard code them into the bot.

Attempting what you're describing, I'm sorry to say I'd bet against you.  With a lot of money.  But actually making a bot that could do something with the ski slopes, your original idea itself, that might be something within your ability to accomplish, if you tackled the problem from the right direction.  You just need to simplify.  Get something done, rather than the perfect thing.  Refine from there.  I do that, everyone else that has commented does that, and Codewalker himself is doing that just to get Paragon Chat out to the people.  None of us swings for the fences like you seem to do.  Aim for something you can build on.  Aim to make a platform for better ideas.  Play the long game.

I'll wait till it comes out, rather than actually going in and reworking all the server responses to client messages for CoX start-up, I just have to figure out how to get the values from a bot.

multiple ways to do trajectories at one second intervals, could rig a multipoint path to follow a character then when they touch a "start run" point drop one point per location message received (similar to Arcana's idea) then set the gates to be sensors which bool TRUE if the path touches them in the right order.  but then what if a player is really fast and the path at the next second misses one gate... would be handy to have all the location data the player did in between messages to draw a proper line. but without it... even velocity and orientation with location wont do the job perfectly but it's at least closer, but then I'd defintiely need geometry, setting a static or sensor object to move to a location or follow another object's motion is fine, just /NEVER/ under any circumstances make a non dynamic object have it's own motion or velocity! or it will fly away in an odd direction on startup. if it's not static, then it will fall with gravity, that's a sad fact of blender. then again the way around that is to make the motioned object Dynamic and parent it to a static empty so it can't fall, that may well be useful here to avoid map geometry.

might be better to actually do it a different way, get the player's starting loc (wait till you see "Begin your run"), put the start a short distance in front of the slop so people wont slide around while waiting. then after that simulate a perfect run at the player's velocity starting from the first point picked up, following a path to the 1 second point, if the next location message received puts the player within a controlled distance of that point assume they went through all the gates between there, return which gate is next and get the player's new loc and velocity offset the trajectory of the path by this amount and continue to the 2 second point at the player's new velocity ETC till finish.

meh even thats got too many flaws. must think out good set-up...
Title: Re: Coming Soon
Post by: Takinalis on July 01, 2015, 01:13:43 AM
Just realized... we're still talking about the ski slope! Man, I really need to buy a hat! All this stuff keeps going over my head!  :o
Title: Re: Coming Soon
Post by: Arcana on July 01, 2015, 01:41:38 AM
multiple ways to do trajectories at one second intervals, could rig a multipoint path to follow a character then when they touch a "start run" point drop one point per location message received (similar to Arcana's idea) then set the gates to be sensors which bool TRUE if the path touches them in the right order.  but then what if a player is really fast and the path at the next second misses one gate... would be handy to have all the location data the player did in between messages to draw a proper line. but without it... even velocity and orientation with location wont do the job perfectly but it's at least closer, but then I'd defintiely need geometry, setting a static or sensor object to move to a location or follow another object's motion is fine, just /NEVER/ under any circumstances make a non dynamic object have it's own motion or velocity! or it will fly away in an odd direction on startup. if it's not static, then it will fall with gravity, that's a sad fact of blender. then again the way around that is to make the motioned object Dynamic and parent it to a static empty so it can't fall, that may well be useful here to avoid map geometry.

might be better to actually do it a different way, get the player's starting loc (wait till you see "Begin your run"), put the start a short distance in front of the slop so people wont slide around while waiting. then after that simulate a perfect run at the player's velocity starting from the first point picked up, following a path to the 1 second point, if the next location message received puts the player within a controlled distance of that point assume they went through all the gates between there, return which gate is next and get the player's new loc and velocity offset the trajectory of the path by this amount and continue to the 2 second point at the player's new velocity ETC till finish.

meh even thats got too many flaws. must think out good set-up...

You know, I literally handed you a solution that works, and the first thing you did was to counter-propose an idea that requires modifying the client code, point out problems with the suggestion that don't exist, and then made a statement about blender that's irrelevant to Paragon Chat.  Then decide the problem is too complicated to solve directly.  I handed you a solution that works.

You are your own worst enemy.  The reason why I'm so confident the approach I gave you will work is because its a trivial modification of how generalized boundary collision detection works in practically every three dimensional computer game ever written ever that contains continuous motion.  You compute the path the object will take based on its velocity or motion vector within the interval, and determine if that vector intersects with a boundary surface.  If it does, you hit it and you normally calculate the intersection and stop the object there.  Its something I learned in the 1980s, and the technique shows up again and again in gaming, simulation, and basic computer graphics.

It might actually be faster to write it, than convince you that it works.  I would rather you write it, because it sounds like something you're interested in.  But if you keep overthinking the problem, you will never get beyond listing all the ways it won't work.  Eventually, someone else will do it, and leave you in a position only to comment on how your solution would have been so much better.  Which literally no one will care about. 

Codewalker could have PMed me about this great idea to use XMPP to connect game clients, and we could have discussed all the ways that wouldn't have worked for years.  It still doesn't execute powers.  It still can't execute mission content.  It can't emulate NPC AI.  Its not as fast as the game was.  Its a good thing Codewalker ran out of F-s to give about any of that, isn't it?

Write the software.  After you see it run, or not run as the case may be, then improve it.  Don't fall into the trap of constantly cheating yourself out of the experience you need to ever get remotely good at this.  You do not miracle yourself into being good at this by thinking about it abstractly.  First you get good at it, then you start thinking about it abstractly.  After actually making things work first.

Write the software.  Or don't.  I sent a canoe, I sent a boat, and finally I sent a helicopter.  You decide.


Note to mods: If I type "Codewalker doesn't give a $-t" the forum pancakes that.  If I say "Codewalker ran out of f---s to give" it apparently passes that through.  Is that because "$-t" is abused more, or because the forum software literally knows Codewalker ran out of F-s back in 2013?
Title: Re: Coming Soon
Post by: Todogut on July 01, 2015, 02:11:00 AM
Its a good thing Codewalker ran out of F-s to give...

Codewalker is like Chuck Norris. He never runs out of Fs.
Title: Re: Coming Soon
Post by: Sekoia on July 01, 2015, 02:11:28 AM
Note to mods: If I type "Codewalker doesn't give a $-t" the forum pancakes that.  If I say "Codewalker ran out of f---s to give" it apparently passes that through.  Is that because "$-t" is abused more, or because the forum software literally knows Codewalker ran out of F-s back in 2013?

It's a hard-coded exception. We might've gotten carried away a bit when we were celebrating the loss of his last f---.  ;)
Title: Re: Coming Soon
Post by: Codewalker on July 01, 2015, 02:28:00 AM
Well, I was going to point out that the amount of movement state a player can alter in a 1 second interval is actually not all that much, especially considering the lack of travel powers (or even swift) in version 1.0 and level 1 speed caps*. So a simple linear interpolation between the two points and testing if there is a collision with a well-defined plane for the waypoints and endpoint is trivial to do. It's extremely unlikely that a player could confuse that no matter crazy they're trying to move. The rate that they can alter their velocity simply isn't high enough.

If you wanted to get really fancy you could probably even take the starting and ending velocities into account and do a cubic spline or something to get an approximate acceleration curve for the interval.

Thinking about it some more, with that kind of interpolation it would be quite possible to get sub-1-second resolution for the finish times despite the relatively low sample rate. You can determine from the starting and end position and velocities approximately when during the interval they they passed through the plane within a quite reasonable margin of error. Doing so involves basic math that is a prerequisite for doing any kind of 3D game engine work.

But then I see a lot of confused stuff -- there is no Java in the paragon chat client, it's written in C, and doesn't yet support any kind of plugins. I also see a lot of wrong assumptions -- it's not simply wrapping the COH server protocol in XML. The server protocol is about 3 orders of magnitude more complex than what Paragon Chat is distilling things down to, and I am not exaggerating. It couldn't relay messages from XML that it doesn't know how to translate even if it wanted to. So I'll let Arcana continue fielding this one since she seems to know exactly how to write a ski slope bot and could probably have done so by now, and I really do have a lot of work to do getting things ready for release.

P.S. If you are working on something the actual xml namespace for the update message on the metadata channel is <u xmlns="pc:u" />. I masked the 'pc' prefix to 'xx' for the example message since the name had not yet been revealed at that time.



* Which don't really matter anyway since speed caps apply to movement buffs and there's no way to get them or even an attribute engine to apply them...
Title: Re: Coming Soon
Post by: Codewalker on July 01, 2015, 02:38:19 AM
Also I keep seeing orientation being mentioned. Orientation does not matter one single bit. Only position and velocity matter. Orientation is for looks only.

Which way the player is facing has no bearing on which way they're moving, and doesn't even limit their options as far as adding acceleration (see also: strafing).

Enough distraction, back to the grind. I am running low on Fs.
Title: Re: Coming Soon
Post by: Arcana on July 01, 2015, 02:46:03 AM
Also I keep seeing orientation being mentioned. Orientation does not matter one single bit. Only position and velocity matter. Orientation is for looks only.

Orientation only matters for weirds-checking, as I mentioned.  Only position and velocity matter for calculations, but if you're trying to determine if something weird happened and you might not want to trust your calculations, assuming that the player didn't run the race sideways might be something you might consider looking at.
Title: Re: Coming Soon
Post by: Takinalis on July 01, 2015, 02:56:43 AM
All of my Fs are belong to Codewalker (if he needs them!)
Title: Re: Coming Soon
Post by: Victoria Victrix on July 01, 2015, 03:05:04 AM


Enough distraction, back to the grind. I am running low on Fs.

I'd give you some of mine, but I ran out in 2000.

(https://i.imgur.com/FAQDh0f.jpg)
Title: Re: Coming Soon
Post by: Codewalker on July 01, 2015, 03:13:36 AM
Orientation only matters for weirds-checking, as I mentioned.  Only position and velocity matter for calculations, but if you're trying to determine if something weird happened and you might not want to trust your calculations, assuming that the player didn't run the race sideways might be something you might consider looking at.

Heh, I would never assume that since I run sideways or at least at a diagonal in video games as much or more than I run forwards.
Title: Re: Coming Soon
Post by: Arcana on July 01, 2015, 03:38:04 AM
Heh, I would never assume that since I run sideways or at least at a diagonal in video games as much or more than I run forwards.

Even when you're racing downhill?  I assumed that a lazy bot writer might forget a human being needs to occasionally see the course, and might set their orientation to 0,0,0 and keep it like that throughout the entire race, which a race bot monitor might notice.  But if its just Codewalker showing off his turn-by-turn ski slope directional HUD, I might have to rethink that.

Or just black flag you anyway, cheating bastard.

On a related note, I did finally break down and write a bot to play Dabo in STO (extremely trivial) so I didn't have to sit in front of my computer for hours listening to Taylor Swift and mouse click every minute.  But just in case, I made a crappy bot.  It goes to sleep for a random number of seconds at a time, clicks the button in different places, and even sometimes misses a round completely because its going to the bathroom.  It plays like someone pissed off at having to play Dabo for eight hours at a stretch.  This ain't my first rodeo.  If I made a ski running bot (and not a ski course monitoring bot) it would your mama its competitors and occasionally try to teabag the players it beat.

But first I gotta get my bot to actually log in correctly to Openfire.  At least I got Openfire to work.  Not sure if I had the fqdn problem with pidgin or not, but when its after midnight and you're in Keyboard Isn't So Strong mode, you start pushing all kinds of buttons.  At least I can actually start writing python now.  Gotta go find my pigg decoder and write a map decode since I never actually did that back in the day.  Blech. 
Title: Re: Coming Soon
Post by: Felderburg on July 01, 2015, 05:16:05 AM
I did finally break down and write a bot to play Dabo in STO

I got super excited for a minute there, and then I realized I removed STO from my computer recently.
Title: Re: Coming Soon
Post by: Von Krieger on July 01, 2015, 05:29:33 AM
(https://i.imgur.com/ErgGiCd.jpg)
Title: Re: Coming Soon
Post by: Carnildo on July 01, 2015, 05:58:50 AM
P.S. If you are working on something the actual xml namespace for the update message on the metadata channel is <u xmlns="pc:u" />. I masked the 'pc' prefix to 'xx' for the example message since the name had not yet been revealed at that time.
Thanks.  That'll be one fewer bug to swat once I've got real data to test against.
Title: Re: Coming Soon
Post by: Codewalker on July 01, 2015, 06:34:14 AM
Even when you're racing downhill?  I assumed that a lazy bot writer might forget a human being needs to occasionally see the course

The camera angle isn't necessarily the same thing as player facing.

True it does make the controls a bit more difficult... or not depending on what you're trying to accomplish.
Title: Re: Coming Soon
Post by: Victoria Victrix on July 01, 2015, 06:37:12 AM
The camera angle isn't necessarily the same thing as player facing.

True it does make the controls a bit more difficult... or not depending on what you're trying to accomplish.

Why are you still awake?  It's 1:30 AM CST.
Title: Re: Coming Soon
Post by: FloatingFatMan on July 01, 2015, 07:16:22 AM
You know, I literally handed you a solution that works, and the first thing you did was to counter-propose an idea that requires modifying the client code, point out problems with the suggestion that don't exist, and then made a statement about blender that's irrelevant to Paragon Chat.  Then decide the problem is too complicated to solve directly.  I handed you a solution that works.

He forgot KISS.

Also, this is a perfect demonstration of why he's a dreamer.  Even when given the solution, he chucks it out and comes up with yet another fancy way of doing something that isn't going to work.
Title: Re: Coming Soon
Post by: FloatingFatMan on July 01, 2015, 07:20:11 AM
#include <stdio.h>
#include <stdlib.h>

main(int argc, char *argv[])
{
int loop;
for(loop=0;loop<52;loop++)


FloatingFatMan: Dammit, that's too long.  Start over, you worm.

Hey! I'm not THAT rude! Besides, includes, method definitions and var declarations don't count as they're not really doing stuff code!  That would be your FOR loop which is nicely on one line. We have a guy here who, believe it or not, would whitespace that out to at least 6 lines "to make it more readable".  He's a f***wit.
Title: Re: Coming Soon
Post by: Arcana on July 01, 2015, 08:17:27 AM
The camera angle isn't necessarily the same thing as player facing.

True, but at the point where I detect someone facing one direction, while camera pointing in a different direction**, while they are moving in a third direction, while trying to reach a destination in a fourth direction, I'll just have the bot wave hello to you.

SleekXMPP seems to work fine, and its sample code is pretty straight forward.  Importing every freaking xep is kind of annoying, but small price to pay.  I wrote a bot that said hi.  I called that the HelloBot.  Then I wrote one that said hi when you told it hi.  I called that the EchoBot.  Then I wrote one that when you said the name of a power out loud it told you a random fact about it pulled from City of Data (Did you know that the Recharge time of Blaster_Ranged.Energy_Blast.Power_Bolt is 4 seconds?) .  I called that one the ArcanaBot.

Its Mickey Mouse stuff, just getting the training wheels oiled and seeing what's involved in just making things work, but if anyone is interested, here's the ArcanaBot.  A word of warning: I do not condone testing bots on the production Paragon Chat server.  I don't even condone running bots on the Paragon Chat live server without permission at all.  I'm strictly running this on my own server just to see what's possible.  Anything possible on the real servers will also be possible on your own test server once Paragon Chat is released and you can connect at least one real client to your own server.  This is just in case someone out there is thinking about what they might be able to do with Paragon Chat, but wants to see what's involved just to get off the ground.  I still have to get PC specific stanzas working, and get map collisions working, and get timers involved with automated sending of data, etc, etc.  But a PC bot is really just a chat bot that happens to be writing some really funky chat.  Once you can chatbot, you can PC bot.  So if anyone is wondering, it ain't hard to make a chat bot.  My test platform is the Windows version of Openfire, python 2.7.10, and the SleekXMPP python library.  That's it.

Next step: start working on entity models, maps, and clocks, and wait for Paragon Chat.  Entity model (i.e. position, velocity vector, orientation, mock acceleration, impulse, naive pathing) and clocks probably this week.  Maps, err, some time after that.  Making sure it doesn't blow up at the slightest provocation, maybe even an error handler or two, some time after that.  Also would be nice if I could type input into the bot to make it do stuff without having to rewrite it.  Like change room.

Boy, once I put more than ninety minutes into this thing, it might actually do something.

Code: [Select]
import logging
import ssl
import urllib2
import random

from sleekxmpp import ClientXMPP
from sleekxmpp.exceptions import IqError, IqTimeout

cod_items = ['PvE damage scale','Accuracy','Range','Cast time','Recharge time','Endurance cost',
             'Attack types','Radius','Arc','Entities affected','Target','Target visibility']


class ArcanaBot(ClientXMPP):

    def __init__(self, jid, password, room, nick):
        ClientXMPP.__init__(self, jid, password)

        self.room = room
        self.nick = nick       

        self.add_event_handler("session_start", self.session_start)
        self.add_event_handler("message", self.message)
        self.add_event_handler("groupchat_message", self.muc_message)
        self.add_event_handler("muc::%s::got_online" % self.room, self.muc_online)

        # for Openfire
        self.ssl_version = ssl.PROTOCOL_SSLv3


    def session_start(self, event):
        self.send_presence()
        self.get_roster()

        # if room needs password, insert password=room_password between nick and wait
        self.plugin['xep_0045'].joinMUC(self.room, self.nick, wait=True)

    def message(self, msg):
        if msg['type'] in ('chat', 'normal'):
            msg.reply("Thanks for sending\n%(body)s" % msg).send()

    def muc_message(self, msg):
        if msg['mucnick'] != self.nick and self.nick in msg['body']:
            self.send_message(mto=msg['from'].bare,
                              mbody="Same to you, %s." % msg['mucnick'],
                              mtype='groupchat')
        # power names have to be enclosed in square brackets, just like Real Numbers, but at the
        # moment also must be fully qualified.  Need to add short name look up later
        if msg['mucnick'] != self.nick and msg['body'][0] == '[' and msg['body'][-1] == ']':
            msg_power = msg['body'][1:-1]
            codurl = 'http://tomax.cohtitan.com/data/powers/power.php?id='+msg_power
            codpage = urllib2.urlopen(codurl)
            codhtml = codpage.read()
            codpage.close()

            if codhtml[1:6] != 'Fatal': # oopsie, City of Data go boom
                cod_value = '-'
                while cod_value == '-' or cod_value == '':
                    cod_item = random.choice(cod_items)
                    cod_item_search = ">"+cod_item+"<" # this prevents finding the item name in the plain text
                    marker = codhtml.find(cod_item_search) + len(cod_item) + len('/th><td>') + 2
                    marker2 = codhtml.find('</td>',marker)
                    cod_value = codhtml[marker:marker2]
                    if cod_value == '-' or cod_value == '':
                        # skipping because uninteresting data
                        self.send_message(mto=msg['from'].bare,
                                          mbody="Debug: skipping "+cod_item+" because value is:"+cod_value,
                                          mtype='groupchat')
                       
                self.send_message(mto=msg['from'].bare,
                                  mbody="Did you know that the "+cod_item+" of "+msg_power+" is "+cod_value,
                                  mtype='groupchat')
            else:
                self.send_message(mto=msg['from'].bare,
                                  mbody="I don't know what power "+msg_power+" is.", # and neither does CoD
                                  mtype='groupchat')
           

    def muc_online(self, presence):
        if presence['muc']['nick'] != self.nick:
            self.send_message(mto=presence['from'].bare,
                              mbody="Hello, %s %s" % (presence['muc']['role'],
                                                      presence['muc']['nick']),
                              mtype='groupchat')



if __name__ == '__main__':

    logging.basicConfig(level=logging.DEBUG,
                        format='%(levelname)-8s %(message)s')

    # fill in with appropriate jid, password, initial room, and visible nickname
    pcbot = ArcanaBot('arcanabot@core3770', 'ab', 'test@conference.core3770','ArcanaBot')

    pcbot.register_plugin('xep_0030') # Service discovery
    pcbot.register_plugin('xep_0045') # Multiuser chat
    pcbot.register_plugin('xep_0199') # XMPP Ping support
   
    pcbot.connect()
    pcbot.process(block=True)

** I know I can't tell that.  Yet.
Title: Re: Coming Soon
Post by: Kyriani on July 01, 2015, 10:07:08 AM
If I've learned anything from reading the old COH forums and the forums here... 9.9 times out of 10, Arcana is right. Arguing with Arcana is an exercise in futility and asking to shine a spotlight on your own ignorance. What's that old saying...? Oh yea... "Better to remain silent and be thought a fool than to speak out and remove all doubt."
Title: Re: Coming Soon
Post by: Joshex on July 01, 2015, 11:17:15 AM
You know, I literally handed you a solution that works, and the first thing you did was to counter-propose an idea that requires modifying the client code, point out problems with the suggestion that don't exist, and then made a statement about blender that's irrelevant to Paragon Chat.  Then decide the problem is too complicated to solve directly.  I handed you a solution that works.

You are your own worst enemy.  The reason why I'm so confident the approach I gave you will work is because its a trivial modification of how generalized boundary collision detection works in practically every three dimensional computer game ever written ever that contains continuous motion.  You compute the path the object will take based on its velocity or motion vector within the interval, and determine if that vector intersects with a boundary surface.  If it does, you hit it and you normally calculate the intersection and stop the object there.  Its something I learned in the 1980s, and the technique shows up again and again in gaming, simulation, and basic computer graphics.

It might actually be faster to write it, than convince you that it works.  I would rather you write it, because it sounds like something you're interested in.  But if you keep overthinking the problem, you will never get beyond listing all the ways it won't work.  Eventually, someone else will do it, and leave you in a position only to comment on how your solution would have been so much better.  Which literally no one will care about. 

Codewalker could have PMed me about this great idea to use XMPP to connect game clients, and we could have discussed all the ways that wouldn't have worked for years.  It still doesn't execute powers.  It still can't execute mission content.  It can't emulate NPC AI.  Its not as fast as the game was.  Its a good thing Codewalker ran out of F-s to give about any of that, isn't it?

Write the software.  After you see it run, or not run as the case may be, then improve it.  Don't fall into the trap of constantly cheating yourself out of the experience you need to ever get remotely good at this.  You do not miracle yourself into being good at this by thinking about it abstractly.  First you get good at it, then you start thinking about it abstractly.  After actually making things work first.

Write the software.  Or don't.  I sent a canoe, I sent a boat, and finally I sent a helicopter.  You decide.


Note to mods: If I type "Codewalker doesn't give a $-t" the forum pancakes that.  If I say "Codewalker ran out of f---s to give" it apparently passes that through.  Is that because "$-t" is abused more, or because the forum software literally knows Codewalker ran out of F-s back in 2013?

I took your solution, and mulled it over, yes I know I'm my own worst enemy, I like to think out new and interesting ways of doing things, and if those ways all fail then I go the normal course. I know that's bad, means it's hard to learn from other people's research outcomes, because typically the research errors are not wide spread info.

your thing will work, I just want to see if anything else might work better suited to this condition of one second message intervals especially in the future for 5 second message intervals.

Blender; now that I know the message format, blender and python can send this easily, so, the bot I would make is to route player location info to my blender program, then mimic the PC client and send the outcomes through the network to said account. I work in blender, because it's already a 3D environment and has the freedom of a timer and custom collision rules..

Collisions, I was going to handle them in blender because though the location of the gates is known in PC, there is no inherent timer, I'd have to call that outside of the application. typically the timer and gate collision should be in the same program for easier communication.

I'm not talking about changing the client, I'm talking about using blender for everything and sending results back to the client.

Last method: blender's player cube will spawn trajectory lines (similar to calculating velocity and orientation) in fact the outcome is exactly the same, EXCEPT that it will spawn + and - trajectory lines at each message location interval. Bend Trigger Priority: if the player's cube is seen hitting a gate in order, trigger it for that player. if one forward trajectory line and one reverse trajectory line both Cross at a gate then the gate was hit. Add time error percent cones at the ends of each trajectory line, if those both collide with the gate assume collision was true. 

Or just do it your way cause setting an object in motion at a certain velocity and orientation from the last message then jumping to the next spot and seeing if at any point the player crossed the gate is easier.

I'll do it your way first. I'll make the last method I mentioned here as well after, then see which one is better at dealing with time lagged location info. the winner works, no biases on my part.

I can make the blender program(s) in an afternoon (though probably not till after the 10th.) especially seeing as we know gate locations from paragon wiki (and if not, We have Icon, thankyou codewalker!). then.. I will.. have to use java to make a few loops of what-dos, it would be handy to know the official messages the CoX client needs to start the race and spawn a timer window, same for gate collision and same for the finish line and results window. I will store things in that format for easy reading.

as for now, back to work on school things for the deadlines.
Title: Re: Coming Soon
Post by: FloatingFatMan on July 01, 2015, 11:54:24 AM
So, you're going to use an entire game engine, just for a simple race timer?

My god, your "bot" is gonna be sooooo fat.
Title: Re: Coming Soon
Post by: benkenobi on July 01, 2015, 12:32:45 PM
(No, I did not write that evil, evil thing.  Credit Les Peters (http://www.foo.be/docs/tpj/issues/vol5_3/tpj0503-0014.html), apparently the Mephistoperles of perl).

HA! -- I bet Larry has him beat at obfuscation contests. :P
Title: Re: Coming Soon
Post by: Arcana on July 01, 2015, 05:05:20 PM
My god, your "bot" is gonna be sooooo fat.

Jealous?
Title: Re: Coming Soon
Post by: FloatingFatMan on July 01, 2015, 05:21:00 PM
Jealous?

Not really! My bot is humongous! :p
Title: Re: Coming Soon
Post by: Codewalker on July 01, 2015, 05:31:52 PM
My bot is a Haskell program than generates Modula-3 code, which is JIT compiled by a Lisp program and executed on a Z-80 emulator, which is implemented as a redstone machine in Minecraft.
Title: Re: Coming Soon
Post by: MWRuger on July 01, 2015, 05:38:43 PM
You know, I literally handed you a solution that works, and the first thing you did was to counter-propose an idea that requires modifying the client code, point out problems with the suggestion that don't exist, and then made a statement about blender that's irrelevant to Paragon Chat.  Then decide the problem is too complicated to solve directly.  I handed you a solution that works.

You are your own worst enemy.  The reason why I'm so confident the approach I gave you will work is because its a trivial modification of how generalized boundary collision detection works in practically every three dimensional computer game ever written ever that contains continuous motion.  You compute the path the object will take based on its velocity or motion vector within the interval, and determine if that vector intersects with a boundary surface.  If it does, you hit it and you normally calculate the intersection and stop the object there.  Its something I learned in the 1980s, and the technique shows up again and again in gaming, simulation, and basic computer graphics.

It might actually be faster to write it, than convince you that it works.  I would rather you write it, because it sounds like something you're interested in.  But if you keep overthinking the problem, you will never get beyond listing all the ways it won't work.  Eventually, someone else will do it, and leave you in a position only to comment on how your solution would have been so much better.  Which literally no one will care about. 

Codewalker could have PMed me about this great idea to use XMPP to connect game clients, and we could have discussed all the ways that wouldn't have worked for years.  It still doesn't execute powers.  It still can't execute mission content.  It can't emulate NPC AI.  Its not as fast as the game was.  Its a good thing Codewalker ran out of F-s to give about any of that, isn't it?

Write the software.  After you see it run, or not run as the case may be, then improve it.  Don't fall into the trap of constantly cheating yourself out of the experience you need to ever get remotely good at this.  You do not miracle yourself into being good at this by thinking about it abstractly.  First you get good at it, then you start thinking about it abstractly.  After actually making things work first.

Write the software.  Or don't.  I sent a canoe, I sent a boat, and finally I sent a helicopter.  You decide.


Note to mods: If I type "Codewalker doesn't give a $-t" the forum pancakes that.  If I say "Codewalker ran out of f---s to give" it apparently passes that through.  Is that because "$-t" is abused more, or because the forum software literally knows Codewalker ran out of F-s back in 2013?


This is very similar to what I tell writers who ask how to "get into" writing.

If you want to be a writers, then write. If you don't write then you are not a writer. There is NO substitute for experience. You may suck balls for a while, but eventually you will get better.

Same for coders.

If you want to be a programmer, you need to code. You may not do it very well at start, or maybe at all, but if you keep working at it, then eventually you will get better.
Title: Re: Coming Soon
Post by: FloatingFatMan on July 01, 2015, 05:43:22 PM
If you want to be a programmer, you need to code. You may not do it very well at start, or maybe at all, but if you keep working at it, then eventually you will get better.

Well, you won't if you don't read the docs! ;)
Title: Re: Coming Soon
Post by: Ankhammon on July 01, 2015, 06:17:17 PM
And it helps to read others code. Gives great ideas sometimes.
Title: Re: Coming Soon
Post by: Arcana on July 01, 2015, 06:21:16 PM
My bot is a Haskell program than generates Modula-3 code, which is JIT compiled by a Lisp program and executed on a Z-80 emulator, which is implemented as a redstone machine in Minecraft.

Well then I might as well just implement Minecraft in Forth, and then I can just run your bot.
Title: Re: Coming Soon
Post by: FloatingFatMan on July 01, 2015, 06:24:38 PM
Well then I might as well just implement Minecraft in Forth, and then I can just run your bot.

Right that does it, I'mma boot up an old CPM machine and write a bot in dBase 2!!
Title: Re: Coming Soon
Post by: Arcana on July 01, 2015, 06:37:51 PM
Right that does it, I'mma boot up an old CPM machine and write a bot in dBase 2!!

Don't be ridiculous, you can't write a bot in dBase 2.  Lemme dig up my eight inch disks with Clipper on it.
Title: Re: Coming Soon
Post by: FloatingFatMan on July 01, 2015, 06:40:55 PM
Don't be ridiculous, you can't write a bot in dBase 2.  Lemme dig up my eight inch disks with Clipper on it.

Ooh, now that brings back memories... First professional project I did way back in 1987, runner registration database for the Hastings Half Marathon, done in dBase III+ and Clipper!
Title: Re: Coming Soon
Post by: Arcana on July 01, 2015, 07:00:24 PM
I can make the blender program(s) in an afternoon

Took me ninety minutes just to type in the sample SleepXMPP programs and figure out how they work by tinkering with them.

Quote
especially seeing as we know gate locations from paragon wiki (and if not, We have Icon, thankyou codewalker!). then.. I will.. have to use java to make a few loops of what-dos, it would be handy to know the official messages the CoX client needs to start the race and spawn a timer window, same for gate collision and same for the finish line and results window. I will store things in that format for easy reading.

Before trying to figure out how to send your own raw messages to CoH clients, perhaps we should start just a tiny bit easier.  How about if the bot just yells out the race instructions in zone chat.  How about that? 

Three... two... one... goooooooo!.  And they're off.  TheInedibleBulk hops out to an early lead, followed eight inches behind by someone stuck in the whirlwind animation, look at those feet shuffle.  PrincessSparkles is in third, followed closely by the rest of her costume.  Oooh, and __***Wolver1ne***___ appears to have lagged out.  Its hard to tell at this blistering pace.  We'll be back at the top of the hour to pick up the action in turn one.
Title: Re: Coming Soon
Post by: Arcana on July 01, 2015, 08:02:33 PM
If I've learned anything from reading the old COH forums and the forums here... 9.9 times out of 10, Arcana is right. Arguing with Arcana is an exercise in futility and asking to shine a spotlight on your own ignorance. What's that old saying...? Oh yea... "Better to remain silent and be thought a fool than to speak out and remove all doubt."

There's nothing wrong with speaking, and certainly nothing wrong with arguing with me.  People do it all the time.  The one thing you can't do, is put on airs.  Its not that I'm particularly good at spotting it, lots of people are.  But where some will ignore it and others will berate it, I will tend to dissect it into little pieces and put it on display in labelled jars.

If you want to argue with me because you think I'm wrong, and you want the truth to come out in public discussion, have at it.  Win or lose, you'll get what you want.  If you want to debate me because you want people to see your mad debate skills in action, or you think random words will stick to my posts and sound more logical, I'm afraid I'm less cooperative in those circumstances.  I'm gracious in victory and gracious in defeat but I hate intellectual dishonesty and enjoy setting it on fire.

Not precisely relevant, but I'm reminded of one of my favorite movie dialog scenes, and I never run out of excuses to reference it:

https://www.youtube.com/watch?v=-PkOc-B64dY
Title: Re: Coming Soon
Post by: Ohioknight on July 01, 2015, 10:01:39 PM
Don't be ridiculous, you can't write a bot in dBase 2.  Lemme dig up my eight inch disks with Clipper on it.

COBOL
Title: Re: Coming Soon
Post by: The Fifth Horseman on July 01, 2015, 10:22:48 PM
And it helps to read others code. Gives great ideas sometimes.
Or, more often, examples of how not to do things.
He forgot KISS.

Also, this is a perfect demonstration of why he's a dreamer.  Even when given the solution, he chucks it out and comes up with yet another fancy way of doing something that isn't going to work.
I actually... kind of recognize the pattern.
He's trying so hard to find a clever solution, that he starts mistaking the solution for the goal. That he also often tries to combine it with the most recent tool or technology that caught his eye only adds to the confusion.
Title: Re: Coming Soon
Post by: Kyriani on July 01, 2015, 10:24:16 PM
There's nothing wrong with speaking, and certainly nothing wrong with arguing with me.  People do it all the time.  The one thing you can't do, is put on airs.  Its not that I'm particularly good at spotting it, lots of people are.  But where some will ignore it and others will berate it, I will tend to dissect it into little pieces and put it on display in labelled jars.

If you want to argue with me because you think I'm wrong, and you want the truth to come out in public discussion, have at it.  Win or lose, you'll get what you want.  If you want to debate me because you want people to see your mad debate skills in action, or you think random words will stick to my posts and sound more logical, I'm afraid I'm less cooperative in those circumstances.  I'm gracious in victory and gracious in defeat but I hate intellectual dishonesty and enjoy setting it on fire.

Not precisely relevant, but I'm reminded of one of my favorite movie dialog scenes, and I never run out of excuses to reference it:

https://www.youtube.com/watch?v=-PkOc-B64dY

he he I've read too many of your posts over the years to believe its ever a good idea to argue with you. You've proven your intelligence (and patience... my goodness how patient you've been with people over the years). Sure its not "wrong" to argue with you... but the chances any argument made against you would be shot down in such detail as to embarrass the person arguing are so high its just not worth it in my book lol. The only value I've seen from anyone arguing with you is how you use your posts to educate with your arguments. I have never seen you reply to a dissenting post without thoroughly explaining your position and why the dissenters argument is flawed. Reading your posts has not only been a pleasure over the years but also enlightening on varied numerous topics.
Title: Re: Coming Soon
Post by: Arcana on July 01, 2015, 11:58:01 PM
COBOL
I see your COBOL and raise you RPG-II.
Title: Re: Coming Soon
Post by: Vee on July 02, 2015, 12:43:03 AM

This is very similar to what I tell writers who ask how to "get into" writing.

If you want to be a writers, then write. If you don't write then you are not a writer. There is NO substitute for experience. You may suck balls for a while, but eventually you will get better.

I keep trying this but no matter how many reams of sparkly vampire stories I write my light bondage stories just never seem to have that zip I'm looking for.
Title: Re: Coming Soon
Post by: Ankhammon on July 02, 2015, 01:56:22 AM
Or, more often, examples of how not to do things.I actually... kind of recognize the pattern.

True enough.
Title: Re: Coming Soon
Post by: Arcana on July 02, 2015, 03:43:26 AM
True enough.

Its very easy to find yourself trapped by a false dilemma.  You can believe in yourself, in which case you have to believe your judgment is always correct, or you don't, in which case everything is pointless.  The middle ground, that you believe you can always learn what's necessary, but you might not know it now, and you might need to go through many intermediate steps to get to where you want to go, is an incredibly frightening proposition in many complex ways.  Even people who acknowledge this fact on an intellectual level can fall prey to its grasp in ways they cannot find a way to escape from.  Its just sometimes more obvious than others.

The truth is that most people believe if they understand the words, they understand the concepts.  That you can get from A to Z directly, if only you learn the language of Z.  And the sad fact is many people go from cradle to grave believing this fallacy.  This is why most home improvement projects go awry, why everyone thinks they understand the law even though law school is one of the harder academic institutions, why players who were computer science majors were the worst City of Heroes players when it came to figuring out how the game worked.  Computer science students knew the language of software - not programming syntax, but the language programmers use to talk to each other about software - so they automatically thought they knew how all software was written, including MMOs.  I have so many computer science students' heads on my wall they block out the windows.  But they were so (cock-)sure, so insistent, so unwilling to concede that everything they knew was wrong.  The notion that everything they were spoon-fed might be completely worthless to attacking this problem?  Too scary to admit, ever.  They could have tried to learn, but that would require admitting what they couldn't admit.  So they went down fighting instead.  And walked away from an opportunity to learn something new.

There are people watching us chat about card decks and LISP machines, and believe the conversation is the thing.  What they don't know, and can't know, is that 90% of this conversation is happening outside of the words.  Its happening in the things our words are evoking, like when I give FFM PTSD flashbacks about writing Clipper code.  I know what that was like, he apparently knows what that was like, we're sharing a war story in which all of the casualties are unmentioned.  The words are not the thing.  The words are shorthand for the thing.

This is something else I often talked about on the forums, that because the words are not the thing, when the words don't evoke the right thing, alarm bells go off.  Take Codewalker's insane bot proposal:

My bot is a Haskell program than generates Modula-3 code, which is JIT compiled by a Lisp program and executed on a Z-80 emulator, which is implemented as a redstone machine in Minecraft.

That's not just random computer languages strung together.  All of that properly evokes the right things to me, and probably to most experienced veteran programmers.  Haskell is a functional language that is both tricky to learn, and has a history of doing very powerful things in specific problem spaces, like code generation.  Its logical that a Haskell program would be generating Modula-3 code, but a sign of someone spewing randomness if it was the other way around (besides: who else writes Modula-3 besides bots?).  Of course LISP is going to compile Modula-3, and not the other way around.  This is a joke that works on two levels, the informal one (this is ridiculous, look at all the unnecessary layers) and also some inside ball (its ludicrous, and yet I can imagine someone doing that just to melt people's brains).  But that second level only works if you are an experienced programmer or computer engineer, no amount of knowing the language and navigating wikipedia is going to communicate the joke.  And without that experience, you can't easily construct the joke either.  If he had said this instead:

My bot is a LISP program running in a redstone machine in Minecraft, which is written in Modula-3 and running on a Z-80 emulator implemented in Haskell

I would have wondered if someone hacked his PC or he was powering his push to release Paragon Chat with tequila.  There's nothing technically wrong about that version of the joke, and yet there's everything wrong.  On the informal level, its the same joke.  On the deeper level, its a cry for help.

Again: there's nothing wrong if you can't see the difference between those two jokes.  There's nothing wrong with not knowing everything everyone else knows.  The problem comes when you claim to know, but don't actually know.  Because those two jokes are why its impossible to pretend for long.  Soon enough, everyone will know.  Little things which are actually big things will give the game away.  You won't know what they are, you'll strongly deny what they mean, but everyone will know.

And what's the point of pretending, when you could be learning instead?

Besides which, if I was Codewalker, I would have gone all the way with that bot:

My bot is a Haskell program than generates Modula-3 code, which is JIT compiled by a Lisp program into Redcode and executed on a MARS vm running in a Z-80 emulator, which is implemented as a redstone machine in Minecraft.

Damn skippy.
Title: Re: Coming Soon
Post by: Victoria Victrix on July 02, 2015, 03:53:19 AM
There's nothing wrong with speaking, and certainly nothing wrong with arguing with me.  People do it all the time.  The one thing you can't do, is put on airs.  Its not that I'm particularly good at spotting it, lots of people are.  But where some will ignore it and others will berate it, I will tend to dissect it into little pieces and put it on display in labelled jars.

If you want to argue with me because you think I'm wrong, and you want the truth to come out in public discussion, have at it.  Win or lose, you'll get what you want.  If you want to debate me because you want people to see your mad debate skills in action, or you think random words will stick to my posts and sound more logical, I'm afraid I'm less cooperative in those circumstances.  I'm gracious in victory and gracious in defeat but I hate intellectual dishonesty and enjoy setting it on fire.

Not precisely relevant, but I'm reminded of one of my favorite movie dialog scenes, and I never run out of excuses to reference it:

https://www.youtube.com/watch?v=-PkOc-B64dY

Basically, Arcana, having run out of F***S when it comes to wannabe self-taught "programmers" ever attracted to the New Shiny and refusing to acknowledge that with all your decades of experience you might have something to teach them, you cut straight to the chase, leave them dangling by a thread over a chasm of their own making.

Kinda like I tell people when they ask me to critique their writing.  "I can be kind, and tell you nice things, or I can give you a professional critique and leaving you flayed and bleeding.  I can't do both."
Title: Re: Coming Soon
Post by: Arcana on July 02, 2015, 04:21:35 AM
Kinda like I tell people when they ask me to critique their writing.  "I can be kind, and tell you nice things, or I can give you a professional critique and leaving you flayed and bleeding.  I can't do both."

Like I told you when I asked for your opinion a while back, why would I ask a professional writer to give me an opinion my neighbor's dog could give me?  That seems like such a waste of an opportunity.  If I wanted a professional writer to give me an unthinkingly warm feeling about my writing, I would have asked you to set it on fire.
Title: Re: Coming Soon
Post by: Paragon Avenger on July 02, 2015, 04:32:48 AM
Like I told you when I asked for your opinion a while back, why would I ask a professional writer to give me an opinion my neighbor's dog could give me?  That seems like such a waste of an opportunity.  If I wanted a professional writer to give me an unthinkingly warm feeling about my writing, I would have asked you to set it on fire.

LOL.

I don't dare ask her to read my Fan Fiction.  I know that it is full of holes and mistakes and etc.
Title: Re: Coming Soon
Post by: Golden Aurora on July 02, 2015, 04:52:41 AM
That was a rather interesting post up above (the long one), Arcana. I actually gave that two reads before deciding on writing this. The portion relating to others not seeing the complexities involved in undertakings and in knowing their own lack of understanding was rather profound. A great way to paraphrase would be to state 'The devil is in the details'. It's a reason when I get asked for Level of Effort estimates on projects I always get wary. There's my gut feeling, then what my mind tells me should be the appropriate time and cost, and ultimately my final response which usually is some multiple of second item.

The other part which made me start to think was that 90% of the conversation was outside of the words. That says to me that you (and others) are intending to be more stimulating thought than necessarily attempting to convey a point. While that may be a coder specific example, I'd admit to not having got that joke of Codewalkers. It was enough outside of my field of experience that it might was well be Star Trek technobabble.

Anyways, having the joke broke down like that made me realize just how differently you and him must see things in comparison to myself and others.
Title: Re: Coming Soon
Post by: FloatingFatMan on July 02, 2015, 05:00:29 AM
LOL.

I don't dare ask her to read my Fan Fiction.  I know that it is full of holes and mistakes and etc.

Best way to learn to write well is to get someone to rip it to shreds.

You'll either learn, or go sob into a beer! ;)
Title: Re: Coming Soon
Post by: Golden Aurora on July 02, 2015, 05:08:45 AM
The two options aren't mutually exclusive you know.
Title: Re: Coming Soon
Post by: Arcana on July 02, 2015, 05:09:36 AM
Anyways, having the joke broke down like that made me realize just how differently you and him must see things in comparison to myself and others.

Don't think of it as we seeing things differently from you.  Think of it as everyone seeing things differently based on their life experience.  Think about what people who did not play City of Heroes would think about half our conversations.  Think about what someone who wasn't following the "New Efforts" Hail Mary thread all this time must think when they jump into the middle of it.

The general point is you can't fake life experience, nor should you want to.  Think of all the things we could talk about in short hand about playing City of Heroes, that someone else couldn't really understand.  Now, if the game was still running, wouldn't it be better to play the game than pretend you played the game just to participate in that conversation?  Why would you cheat yourself of that experience?  If I said this thread was like Pocket D, and we're all waiting to jump into a Lambda, you might know what I'm talking about.  If you do (assuming you did Incarnate trials and were on a server that congregated in Pocket D to launch them at one time) I don't need to explain all the nuance in that comment.  That's just you and me sharing a life experience.  And you can't parse it from the text, nor can you easily replicate it by google searching.

That's the point.  Not that programmers are special people.  Rather, thinking about it and reading about it is not the same thing as doing it.  We were there.  We can teach others what it was like when we were there.  But until the game comes back, they will never have been there.  Even if it does come back, they will never have been there then.  Thinking about it doesn't substitute for having done it.
Title: Re: Coming Soon
Post by: Golden Aurora on July 02, 2015, 05:20:21 AM
In some ways this feels more like the first generation BAF runs where the effort is valiant though half baked, with a couple respawns at the hospital. Eventually things start coming around and progressing in picking up steam. I remember when BAF first came out just how much I got stomped on. Didn't all the IDF mobs get a tohit bonus or something that ate alive most def based builds like shield? I remember needing more def and respeccing. Fun times.

I can't decide if I feel guilty or not about checking these forums multiple times a day over lunch while at work. Just that inkling of hope that some small part of what I loved is returning.

I was on virtue heroside, so we had a fairly large collection of people arranging the iTrials. Not as large as freedom, naturally, but we liked to pretend we were the more literate server. What did they used to call it, Freedumb right? I wasn't the one who made that up either. Sorry to derail the topic!
Title: Re: Coming Soon
Post by: Paragon Avenger on July 02, 2015, 05:28:48 AM
Best way to learn to write well is to get someone to rip it to shreds.
You'll either learn, or go sob into a beer! ;)

So true, but fan fiction is, well slop, for the most part, I mean my is.  Anyway, I write to crack me up, which I usually do.  Fragile ego about "Where Have All The Heroes Gone" series, I do not possess.  As a matter of fact, you can reply to the forum topic and say, "... and Bob's your uncle."
(I like using that as a epitah.)

Title: Re: Coming Soon
Post by: Golden Aurora on July 02, 2015, 05:35:58 AM
Some fanfics completely deserve the notoriety they get, as well.
https://en.wikipedia.org/wiki/Mary_Sue
Title: Re: Coming Soon
Post by: Codewalker on July 02, 2015, 05:36:34 AM
My bot is a Haskell program than generates Modula-3 code, which is JIT compiled by a Lisp program into Redcode and executed on a MARS vm running in a Z-80 emulator, which is implemented as a redstone machine in Minecraft.

Damn skippy.

Yeah, but then I'd have to deal with some punk DAT bomber constantly trying to crash my bot.

Hmmm, we should do a corewars tournament sometime. Maybe a Titan forumite showdown in between PC releases...
Title: Re: Coming Soon
Post by: Aggelakis on July 02, 2015, 05:56:12 AM
Some fanfics completely deserve the notoriety they get, as well.
https://en.wikipedia.org/wiki/Mary_Sue
And some fanfics get published.
--> https://en.wikipedia.org/wiki/Twilight_%28series%29

And some fanfic of fanfics get published.
--> --> https://en.wikipedia.org/wiki/Fifty_Shades_of_Grey
Title: Re: Coming Soon
Post by: Arcana on July 02, 2015, 05:59:15 AM
Didn't all the IDF mobs get a tohit bonus or something that ate alive most def based builds like shield? I remember needing more def and respeccing. Fun times.

Some Praetorian mobs had base 64% tohit, the equivalent of running around with +14% tohit buffs all the time.  And they were high level so they hit more often because of that as well.

Quote
Sorry to derail the topic!

Which one?
Title: Re: Coming Soon
Post by: Paragon Avenger on July 02, 2015, 06:01:31 AM
Hmmm, we should do a code-wars tournament sometime. Maybe a Titan forumite showdown in between PC releases...

My Bot can destory your bot 'cause my bot get kenl-ration, my bot is better than yours.  lol.
Title: Re: Coming Soon
Post by: Paragon Avenger on July 02, 2015, 06:03:17 AM
I wonder which one of my characters is a Mary Sue.
Probably The Tattered Avenger.
Title: Re: Coming Soon
Post by: Arcana on July 02, 2015, 06:04:26 AM
Hmmm, we should do a corewars tournament sometime. Maybe a Titan forumite showdown in between PC releases...

With you writing assembly for the past year and me running last decade's python?  Why not.  People would pay Titan's network bills for the next ten years to see me get my ass kicked in a test of technical skill.
Title: Re: Coming Soon
Post by: Paragon Avenger on July 02, 2015, 06:09:04 AM
And some fanfics get published.
--> https://en.wikipedia.org/wiki/Twilight_%28series%29

And some fanfic of fanfics get published.
--> --> https://en.wikipedia.org/wiki/Fifty_Shades_of_Grey

Aggelakis wants to see the 'Where Have All The Heroes Gone" series published.
Thanks, Ag.

That's 1, ok 2 with me.

Title: Re: Coming Soon
Post by: Golden Aurora on July 02, 2015, 06:10:02 AM
With you writing assembly for the past year and me running last decade's python?  Why not.  People would pay Titan's network bills for the next ten years to see me get my ass kicked in a test of technical skill.

Sounds like a perfectly valid kickstarter... Might even be a project which meets its stated goals.
Title: Re: Coming Soon
Post by: Paragon Avenger on July 02, 2015, 06:18:09 AM
Ok, VV, if you aren't too busy, please rip my "Where Have All The Heroes Gone" series of fan fiction to shreds.
http://www.cohtitan.com/forum/index.php/board,159.0.html (http://www.cohtitan.com/forum/index.php/board,159.0.html)

There, are you happy now?

Title: Re: Coming Soon
Post by: FloatingFatMan on July 02, 2015, 06:38:56 AM
So true, but fan fiction is, well slop, for the most part, I mean my is.  Anyway, I write to crack me up, which I usually do.  Fragile ego about "Where Have All The Heroes Gone" series, I do not possess.  As a matter of fact, you can reply to the forum topic and say, "... and Bob's your uncle."
(I like using that as a epitah.)

I *think* I did fairly well with my fan fic, well enough that I won one of the fan fic writers prizes on the official boards, at least! But tbh, I didn't worry so much about the -way- it was written, and more trying to get a compelling tale down on paper.  The technical parts of the writing are what improve most over time, but if you can't get a decent story out of your head, well... That's a little harder to improve. :P
Title: Re: Coming Soon
Post by: FloatingFatMan on July 02, 2015, 06:39:23 AM
And some fanfics get published.
--> https://en.wikipedia.org/wiki/Twilight_%28series%29

And some fanfic of fanfics get published.
--> --> https://en.wikipedia.org/wiki/Fifty_Shades_of_Grey

And some things should -never- have been published. Ever.

*shudder*

Title: Re: Coming Soon
Post by: FloatingFatMan on July 02, 2015, 06:40:45 AM
Ok, VV, if you aren't too busy, please rip my "Where Have All The Heroes Gone" series of fan fiction to shreds.

There, are you happy now?

You forgot to link it. :p
Title: Re: Coming Soon
Post by: Paragon Avenger on July 02, 2015, 06:53:42 AM
You forgot to link it. :p
http://www.cohtitan.com/forum/index.php/board,159.0.html (http://www.cohtitan.com/forum/index.php/board,159.0.html)

Done and done.  :-D

Wow, to have my silly stories ripped to shreds by a professional writer, a dream come true.
Title: Re: Coming Soon
Post by: FloatingFatMan on July 02, 2015, 08:50:30 AM
Done and done.  :-D

Wow, to have my silly stories ripped to shreds by a professional writer, a dream come true.

Well, if you want my poor opinion (off topic alert!), for me, the story just doesn't work.  I just don't like how you've tried to make the game mechanics such as power levels and mob colour conning a real thing... It's just.. jarringly unrealistic, to me at least.  But that's enough OT-ness. ;)
Title: Re: Coming Soon
Post by: Arcana on July 02, 2015, 09:26:56 AM
Ok, VV, if you aren't too busy, please rip my "Where Have All The Heroes Gone" series of fan fiction to shreds.
http://www.cohtitan.com/forum/index.php/board,159.0.html (http://www.cohtitan.com/forum/index.php/board,159.0.html)

There, are you happy now?

Don't be bullied into doing that.  Seriously: if you can honestly say harsh criticism won't affect your ability to write, and you honestly want it, do it.  If not, don't jump into the deep end of the pool on a dare.  I was fully prepared to be told that on a scale of one to ten, would I consider learning a musical instrument.  But genuine honest criticism stings.
Title: Re: Coming Soon
Post by: Victoria Victrix on July 02, 2015, 09:30:56 AM
Ok, VV, if you aren't too busy, please rip my "Where Have All The Heroes Gone" series of fan fiction to shreds.
http://www.cohtitan.com/forum/index.php/board,159.0.html (http://www.cohtitan.com/forum/index.php/board,159.0.html)

There, are you happy now?

I honestly do not have time to do a line-by-line.  But like FFM said....no.  If you really want your epic published you must get rid of all game mechanics.  Back in the day when PnP DnD was all the rage, I got shown a lot of books that were based on someone's campaign.  Short form: if you can hear the dice roll (or the RNG generating) every time someone does something, it's nothing anyone who was not there wants to read.
Title: Re: Coming Soon
Post by: Nyx Nought Nothing on July 02, 2015, 11:02:42 AM
I honestly do not have time to do a line-by-line.  But like FFM said....no.  If you really want your epic published you must get rid of all game mechanics.  Back in the day when PnP DnD was all the rage, I got shown a lot of books that were based on someone's campaign.  Short form: if you can hear the dice roll (or the RNG generating) every time someone does something, it's nothing anyone who was not there wants to read.
This was actually my problem with some of the story arcs a la "The Origins of Power" that were added to CoH. There were quite a few of the stories in game that weren't very well written and didn't tell a compelling story, but seeing game design abstractions and game mechanics codified as official in-game lore that way made me cringe internally regardless of writing quality. That and the whole thing with Dr. Aeon's jiggery-pokery causing heroes and villains to suddenly get access to each others' powersets, but at least that wasn't called out in game, just in news announcements on the official site.


Powerset proliferation as an in-universe event raised all sorts of Calvinist issues. Was there some sort of force granting characters power suites based on knowing their current and future morality and actions? Did receiving certain suites of powers force you to become a particular type of person? Was it a mixture of both? Regardless, the implication was that a superpowered being's moral path was predetermined the moment they gained their powers. Until it suddenly wasn't, and i was very grateful that at least that wasn't presented as an in-universe event.
Title: Re: Coming Soon
Post by: Codewalker on July 02, 2015, 05:17:48 PM
If the game somehow comes back I will make it my personal mission to excise the Origin of Power arc from canon with extreme prejudice.
Title: Re: Coming Soon
Post by: Leandro on July 02, 2015, 05:52:01 PM
Ooh, now that brings back memories... First professional project I did way back in 1987, runner registration database for the Hastings Half Marathon, done in dBase III+ and Clipper!

Yeah! That brings back memories! Last government work I did in 2013, electoral database for the national elections, done in dBase III+ and Clipper!

Nope, not joking.

(https://i.imgur.com/8pYdD4I.png)

The government here has used the same dBaseIII / Clipper program to handle electoral records for the last 20 years at least. There have been multiple attempts to migrate it to other formats (Access, FoxPro) but there were always complaints from towns in the middle of nowhere that only had an old computer with Windows 95 that they couldn't run the new thing, so the dBase version was dug out over and over and over again and shipped at the last minute (the FoxPro migration attempt was particularly awful; I still have nightmares about it).

The last attempt actually tried to install Apache, PHP and MySQL on the user's machine and open a query page in the default web browser. The less said about that, the better.

During the last election, some places requested an application that would run on tablets, since we do have a flood of cheap Android tablets all over the place. But because the database is only meant to be kept in the hands of people in charge of electoral authorities (in practice, they leak with everybody's personal data every single election year) they couldn't just put it on the Play store. And installing an APK through disabling the "Unknown Sources" warning was considered too confusing. What was the solution?

(https://i.imgur.com/yGn5Wxa.jpg)

The same Clipper application, running on DOSBOX on Android.
Title: Re: Coming Soon
Post by: FloatingFatMan on July 02, 2015, 05:56:50 PM
Oh wow... That dBase code brings back memories!  I can't believe people are still using it in 2015 though...

Mind you, for it's day, it was totally awesome... Nothing could match it for database needs, not even close.
Title: Re: Coming Soon
Post by: Arcana on July 02, 2015, 07:11:11 PM
This was actually my problem with some of the story arcs a la "The Origins of Power" that were added to CoH. There were quite a few of the stories in game that weren't very well written and didn't tell a compelling story, but seeing game design abstractions and game mechanics codified as official in-game lore that way made me cringe internally regardless of writing quality. That and the whole thing with Dr. Aeon's jiggery-pokery causing heroes and villains to suddenly get access to each others' powersets, but at least that wasn't called out in game, just in news announcements on the official site.

I think there's a right way to do it and a wrong way to do it, but I think actual in-game fiction doesn't suffer the same fatal flaw that VV mentions, because you're actually there.  The game has to hand-wave its own mechanics all the time, so you're not introducing something players aren't being confronted with all the time.  The question is execution.

There were many story arcs that were not well written objectively, and Origins of Power was one of them.  But the thing that really burned my noodle about Origins of Power was one of the few areas I think I disagreed with Paragon Studios as a whole irreconcilably.  Knowing the time constraints of MMO development, and knowing the limitations of collaborative efforts, and knowing everything I know about how this works, and factoring in all of that, I am *still* not even *remotely* convinced that its a good idea to treat your canon as extremely flexible, and the rules of your universe as mere excuses to have things happen.  Origins of Power, and the entire rest of the Incarnate story line, treats how things work as a fuzzy unimportant thing that you can simply string words together that sound cool and no one should care if they make sense.  And I can suspend the part of my brain that rails against that and just play the game, but its always there, having a tantrum and tossing neurons around my skull.

It doesn't really take any more work to make a coherent backstory and set of world rules than it does to make crazy patchwork ones.  It just takes more thought.  And the excuse that its just comic book logic so anything goes is particularly offensive to me.  All fiction, including comic books, rely on rules for the reader to have any sense of drama or consequence.  If literally anything can happen, if literally nothing has to make sense, its impossible to know what the ramifications of anything are.  Is this good or bad?  Who knows.  What will the characters do next?  Who cares.  Its impossible to care, because anything can happen.  So why bother trying to understand anything.

This really has its roots in origin of origin, where someone in the dev team said we need a way to designate how the player got his or her powers, and they decided Science, Technology, Natural, Mutation, and Magic were reasonable necessary and sufficient descriptors.  Except Science, Technology, and Mutation are all the same damn thing.  Sure, you can ask stupid irrelevant questions like isn't being hit by lightning totally different from making a suit of armor?  Yeah, in the same way getting hit by lightning is different from being doused in chemicals.  The problem is all technology works on scientific principles, so the overlap between those two was going to be hefty.  And Mutation?  Is there a non-scientific kind of mutation?

There are really only three origins.  Science/Tech, Magic, and Natural.  If your powers come from a scientific discovery or technology, then it operates based on presumably similar principles to what we know as science.  All of those are understandable as extrapolations of real world science and technology.  If your powers come from magical sources, then it operates completely differently than how real world science works.  Instead, it works based on a set of fictional internal rules that contradict how the real world works, but are at least internally consistent and have a flavor we'd recognize as magical.

If you're Natural, your powers are in fact normal for the world of City of Heroes.  Just like Arnold Schwarzenegger can get blown up by a grenade in Commando, James Bond can get shot and go back to chasing villains in a week, and Ethan Hunt can get thrown onto a train by an explosion and survive, but all those people are not superhuman in their movie worlds, we're just supposed to assume that in their world, that's possible, in the world of City of Heroes, "natural" isn't the same as it is here.  Its the world of Kung Fu movies where if you just practice enough you can split a rock with your little finger. 

And that's it.  Either you obey the rules as we basically understand them, you're proof the rules are radically different here, or you defy the rules.  No other options exist.  Neat and simple.  And because those origins aren't just pulled out of thin air but are actually justified, you can actually use them narratively.  The devs actually originally had plans to use origin beyond a blank on your character sheet and an unnecessary blizzard of enhancement types.  But when they created their names randomly, and added the additional "players have the freedom to make up their own reasons for choosing them" they killed that narrative opportunity in the crib, and they know it.

Knowing exactly how and why the Well of Furies did what it did isn't just a nit pickers exercise.  It lays the groundwork for the narrative rules that guide its storyline.  But the "official" story about Origin of Power is honestly Dan Brown levels of bad.  And not even "well researched then spat on" Da Vinci Code bad.  I'm taking Deception Point bad.  Even Digital Fortress bad.

You don't make stories consistent and well-thought out for the nit-pickers.  You do it for yourself, so that you don't paint yourself into narrative corners.  So you can build on foundations that won't collapse.  So you do not have to keep telling your readers "check brain at door, illegal to operate on the premises."  So you don't have to paint a line this high on your story and say "must be at least this stupid to ride."

Did I mention I'm not a fan of Origin of Power?  Yeah, not a fan.
Title: Re: Coming Soon
Post by: Arcana on July 02, 2015, 07:15:02 PM
If the game somehow comes back I will make it my personal mission to excise the Origin of Power arc from canon with extreme prejudice.

My escape hatch was to presume that everyone in that arc, including the Well was an unreliable narrator.  No one knew how the Well worked, so they were unreliable.  The Well when speaking through other people was echoing their stupidity, and was unreliable.

And Prometheus was an asshat and thought we were too stupid to know the truth, and straight up lied to us.

And yes, I know my solution was strong meta-commentary on the arc.  In this case I think it deserved it.
Title: Re: Coming Soon
Post by: Leandro on July 02, 2015, 07:23:08 PM
There is enough evidence that Prometheus is straight up lying to us and not reliable. Prometheus has a major beef with Zeus; shortly after he arrives, Darrin Wade somehow learns how to kill the Zeus Incarnate of our dimension, and Prometheus basically recruits us to kill the Zeus Incarnate of another dimension. That screams "I am using you and I have ulterior motives".
Title: Re: Coming Soon
Post by: FloatingFatMan on July 02, 2015, 07:26:08 PM
Did I mention I'm not a fan of Origin of Power?  Yeah, not a fan.

You, me, and just about every single RPer in the game, plus all the others.  It was bloody stupid, annoying, and was rightfully ignored as much as possible.

Especially annoying was everything to do with the Well.
Title: Re: Coming Soon
Post by: Arcana on July 02, 2015, 07:36:33 PM
There is enough evidence that Prometheus is straight up lying to us and not reliable. Prometheus has a major beef with Zeus; shortly after he arrives, Darrin Wade somehow learns how to kill the Zeus Incarnate of our dimension, and Prometheus basically recruits us to kill the Zeus Incarnate of another dimension. That screams "I am using you and I have ulterior motives".

There's evidence to believe that Prometheus, for some reason, believes "champions" of the Well are a bad idea, that somehow investing all that power in a single or too few hands will be ineffective against the Battalion.  Given what the devs have said about how the Well works and what the Battalion were likely to be, that's totally illogical, whether the devs had plans to try to make it logical or not.  But I believe, discounting future plans, that the Prometheus in the game is not so much manipulating us as treating us like children, not sophisticated enough to know the truth, and so have to be told what we need to hear to do the right thing, whether that's the truth or not.  So he's totally unreliable as a source of information.

What I believe, again separate from dev future plans, is that his plan ultimately fails, and Silos knows that.  Silos has seen Prometheus fail, he's seen the Dream Doctor fail, and he's seen Ouroboros itself fail, and that's why he's taken the big risk to leap from tether to tether to get back to the present.

Which makes his clumsy ignorance in Ramiel's arc all the more inexplicable.  Even if you toss out everything I conjecture and look only at the in-game information, it makes no sense whatsoever for Silos to be so ignorant about Incarnates, when he's done what he did to the Dream Doctor and given the respect he otherwise has from the other Menders.  He's had a million years to learn what Ramiel knows, and it slipped his mind to research the one most important element of his current goal in life?  That's not Nemesis.
Title: Re: Coming Soon
Post by: Arcana on July 02, 2015, 07:42:28 PM
You, me, and just about every single RPer in the game, plus all the others.  It was bloody stupid, annoying, and was rightfully ignored as much as possible.

Especially annoying was everything to do with the Well.

Ironically perhaps, when something is irrevocably broken I tend to give it a pass.  If I can't figure out how to fix it, I tend to cut the devs slack that maybe they just didn't have time to fix it, but needed it for some developmental reason.

But when its trivially fixable, as Origin of Power and the Well of Furies story was?  That's grating.  I'm not saying its trivially fixable in the sense that what I would have done is what everyone else would have done and we all agree.  I'm saying I think in a head to head shootout I could write something that a supermajority of players would think was more acceptable to their game narrative.  I'm saying there are ways to make Origin/Incarnates narratively stronger, and yet simultaneously less unpalatable to roleplayers (particularly with regard to where incarnate power comes from).  And I'm saying they are obvious solutions.

Actually, some of the Loregasms imply at least some of the devs were thinking in similar directions, but their thoughts didn't make it explicitly to the storyline.
Title: Re: Coming Soon
Post by: Paragon Avenger on July 02, 2015, 08:42:34 PM
Well, if you want my poor opinion (off topic alert!), for me, the story just doesn't work.  I just don't like how you've tried to make the game mechanics such as power levels and mob colour conning a real thing... It's just.. jarringly unrealistic, to me at least.  But that's enough OT-ness. ;)

I understand and if this were a more serious piece, I would make a Voodoo doll of your likeness. :)
Title: Re: Coming Soon
Post by: Arcana on July 02, 2015, 08:44:06 PM
(https://i.imgur.com/8pYdD4I.png)

Kids these days don't even know how good they have it.  All their fancy javascript and Ruby on Rails.  They don't know what it was like to have databases without stored procedures, cpus without memory management, and languages you had to learn Spanish to code in.
Title: Re: Coming Soon
Post by: Paragon Avenger on July 02, 2015, 09:04:44 PM
I honestly do not have time to do a line-by-line.  But like FFM said....no.  If you really want your epic published you must get rid of all game mechanics.  Back in the day when PnP DnD was all the rage, I got shown a lot of books that were based on someone's campaign.  Short form: if you can hear the dice roll (or the RNG generating) every time someone does something, it's nothing anyone who was not there wants to read.

Yup, as a stand alone story it doesn't work.  It wasn't meant to.  I guess I really don't need anybody to critique it.  I am not planning on having it published.  Besides there may be ownership issues with it being on the forum.
Title: Re: Coming Soon
Post by: Golden Aurora on July 02, 2015, 09:41:04 PM
The whole issue of lore reminds me of what my mom used to say: If you don't have anything nice to say, keep your <expletive> mouth shut. In this case however, this refers to the devs. In other words, unless your lore is moderately bulletproof don't try to shoe horn crap in. It's just embarrassing to have what was once decent lore a mockery of its former glory due to either ignorance or laziness.

I remember that arc though and always wondered how a natural origin should be for cosmetics only. Wouldn't it seem that a superhuman is somehow on a fundamentally basic level more than a mere human? They should be either smarter, faster, or more resilient somehow.

Ugh. Star Trek flashback. Khaaaaannnnnn.
Title: Re: Coming Soon
Post by: Arcana on July 02, 2015, 10:00:23 PM
I guess I really don't need anybody to critique it.

Most people write because they want to write, because they want to see their ideas on paper, and if someone else likes it great.  Most people who knit aren't planning on selling socks.  They just enjoy knitting, and if it means one less present to buy at Christmas, fair enough.

There's no specifically good reason to expose a hobby to critical dissection.  I actually recommend against it.  I only recommend, *if* you decide that critical review is something you want, to get an intellectually honest one.

I'm not a published fiction writer, but I am a writer, a teacher, a speaker, a composer of words.  Not just in a professional sense, but in a "that's who I am" kind of way.  For me, I'm always thinking about finding the right turn of phrase, the right way to express a thought, the right way to be engaging.  I am always critiquing my own words.  I am open to external critique, because my words are always being critiqued and nitpicked constantly.  Just by me.  And I hit hard.  So its ok for me to ask for external criticism.  Its not going to discourage me from writing, or speaking, or composing.

In a sense, that's why I would often tell City of Heroes players that I didn't recommend following the forums as a general rule.  Certainly, I strongly recommended playing the game for a while before doing so.  You had to know why you were playing the game and what you were enjoying about the game before a bunch of other people tried to tell you otherwise.  We were a fairly decent bunch but we were also a very opinionated and vocal bunch.  Before everyone tells you Blasters are broken and Regen is weak, I recommended players form their own opinion first, so they could engage in that conversation with some experience to back them up.

Don't let other people dictate your fun.  If you want to be a professional published writer, then fun is not your primary priority.  Eating is.  You need to learn the skills of the craft or you'll starve.  But if you're doing it for fun, don't let someone else steal your fun.
Title: Re: Coming Soon
Post by: Arcana on July 02, 2015, 10:18:53 PM
I remember that arc though and always wondered how a natural origin should be for cosmetics only. Wouldn't it seem that a superhuman is somehow on a fundamentally basic level more than a mere human? They should be either smarter, faster, or more resilient somehow.

When this subject came up on the forums, I would sometimes be challenged to name a superhero that had super powers but I could still credibly call with a straight face "Normal."  And I had one ready: Daredevil.

During Frank Miller's run on Daredevil, Miller snuck in a tiny but important retcon that to the best of my recollection is still considered canonical.  At one point Murdock gets exposed to the same chemicals he was struck with as a child, and it causes his supersenses to go haywire.  In desperation, he shuts himself inside of a sensory deprivation tank to prevent himself from going crazy from all the sounds, smells, sensations.  He's discovered by Stick, who in Stick fashion chastises him for running away and hiding.  When Murdock tells him he can't leave because the chemicals have enhanced his senses to impossible to control levels, Stick tells him that's baloney.  The chemicals didn't give him super senses in the first place.  The chemicals only temporarily revealed to him the senses he already had, the senses anyone could have if they only had the proper training.  When he was re-exposed, those senses were temporarily boosted again, but with Murdock's years of training to be aware of them, he was now seeing everything amplified to painful levels, like someone trained to see in darkness being blinded by bright light.  What's more, the chemicals wore off quickly, and Murdock only believed their effects were permanent because he continued to use and train those senses once aware of them.

And as proof of this, Stick, Stone, Shaft, Claw are all depicted as having equal or superior senses to Daredevil, all obtained through training and not chemical enhancement.  Therefore, within the Marvel Universe, its possible to have every ability you'd call a superpower that Stick and his followers have through nothing more than rigorous training (and being hit in the head thousands of times by Stick) without supernatural enhancement.  So not only is Daredevil a Natural superhero within the Marvel Univese, Stone is.  That means even Invulnerability can be a Natural power in the Marvel Universe.

The Natural Origin is a convenient way of saying I have powers that in the real world are supernatural, but in the City of Heroes world they are possible to achieve through natural albeit difficult means.  The difference between me and everyone else is not that I'm superhuman, its that I was smart enough, lucky enough, or determined enough to figure out how to unlock them.
Title: Re: Coming Soon
Post by: LaughingAlex on July 02, 2015, 11:03:39 PM
I often feel that, seeing some things said above about the origin of power story, is that keeping the games lore and gameplay separate is somewhat important.  Tying the two together to much can lead to silly things like the powerset proliferation and whatnot.  Some ties between gameplay and story can work, but they have to be sensible and within reason.  Some good example would be Deus Ex: HR or Spec Ops: The Line.  Spec Ops: The line's gameplay is a stressful slogfest, and the story is the same way and you can see it's effects on the characters.  Human revolution, save the boss fights(unless you got the directors cut) also does similar, whether you use stealth or combat can very well effect how the story develops in some spots, and the gameplays difficulty and adjustments reflects that.

At one point in DX:HR for example all enemies are INSTANTLY on alert, so if your spotted for even a second your enemies are fully alerted.  This is in contrast to most areas where if your spotted but you slip out of sight right away and move smart enough you can evade detection still.  It's done to reflect the story and the situation, rather than just difficulty.

Course one doesn't want like, MAx Payne 3 and "Oh, Max is totally wasted and completely washed up, wait, why is he dive rolling with super reflexes and moving like a ninja?".  It's just an amount of balance between gameplay and story one has to consider.
Title: Re: Coming Soon
Post by: Paragon Avenger on July 02, 2015, 11:05:47 PM
Eating is for fun, don't let someone else steal your fun.

Thanks Arc.  Yeah, When somebody suggested VV look at my fan fcition, I was like, oooo I'll get tips and advice and maybe some small praise.  Then I realized that a professional writer might want to help get some one started down the professional writer career path.  That's not for me.
Title: Re: Coming Soon
Post by: Zombie Hustler on July 03, 2015, 02:33:54 AM
You, me, and just about every single RPer in the game, plus all the others.  It was bloody stupid, annoying, and was rightfully ignored as much as possible.

It was easy xp if you needed it, though!  :D

(Except for that last mission, sometimes...)
Title: Re: Coming Soon
Post by: Zombie Hustler on July 03, 2015, 02:36:08 AM
Which makes his clumsy ignorance in Ramiel's arc all the more inexplicable.  Even if you toss out everything I conjecture and look only at the in-game information, it makes no sense whatsoever for Silos to be so ignorant about Incarnates, when he's done what he did to the Dream Doctor and given the respect he otherwise has from the other Menders.  He's had a million years to learn what Ramiel knows, and it slipped his mind to research the one most important element of his current goal in life?  That's not Nemesis.

Would you believe Doombot Fake Nemesis?  :P

But yeah, that whole conversation between those two was a head scratcher in an otherwise pretty interesting arc.
Title: Re: Coming Soon
Post by: benkenobi on July 03, 2015, 02:41:09 AM
This convo has taken an interesting turn.

I very much agree Arcana's assessment here: and in fact when I had the Old Ben Kenobi character (for like a month before it was nerfed :P) he was a Natural Regen Scrapper (Katana). The "force" like "chi" or "ki" of any martial art is definitely "natural."

Things like this develop: sometimes out of necessity, other times out of mere conditioning.
(N.B. Star Wars canon has midichlorians as force bearing organisms, also natural.)
Title: Re: Coming Soon
Post by: Victoria Victrix on July 03, 2015, 03:34:58 AM
Thanks Arc.  Yeah, When somebody suggested VV look at my fan fcition, I was like, oooo I'll get tips and advice and maybe some small praise.  Then I realized that a professional writer might want to help get some one started down the professional writer career path.  That's not for me.

Hey if you are a hobbyist writer and that is all you want to be, awesome.  Have fun, enjoy yourself.  I cannot turn off the professional critic anymore, so you probably will not enjoy anything I would say to you.

Therefore I will point you in the direction of the most powerful books I know of that will hone your skills, which is all you really want, and once you've bought them, you'll have them around all the time, as guides you can refer to whenever you need them.

Save the Cat by Blake Snyder.  Although this is a book intended for screenwriters, it is the most powerful dissection of plot and character development I know of.  Using Blake's beatsheet technique you can immediately identify where the holes in your narrative are, and where you might have gone wrong.  Plus, Blake titles each section of his BeatSheet in a way that makes sections of the flow of a story instantly memorable.

Zen In the Art of Writing by Ray Bradbury.  This is a series of essays on creativity; extremely useful as a (literally) Zen approach to the craft.

On Writing by Stephen King.  I don't entirely agree with Stephen King on some points; for instance, he feels that anyone who writes from an outline (in my case, a beatsheet) is a hack.  I think it's purely a timesaver that gets all the hard brainwork out of the way at once so you can get down to the meat of putting words on the page.  But this is a damn good book on all facets of writing.

The Deluxe Transitive Vampire  Grammar, grammar, grammar, in a way that makes things memorable.

The New Well-Tempered Sentence  Punctuation, by the same author.

The Disheveled Dictionary  If you love words, you'll love this.  By the same author.

Torn Wings and Faux Pas  Grammar and style, same author.

Out of the Loud Hound of Darkness  Putting all of the above in action, by the same author.
Title: Re: Coming Soon
Post by: Paragon Avenger on July 03, 2015, 03:49:49 AM
Therefore I will point you in the direction of the most powerful books I know of that will hone your skills, which is all you really want, and once you've bought them, you'll have them around all the time, as guides you can refer to whenever you need them.

Save the Cat by Blake Snyder.  .

Zen In the Art of Writing by Ray Bradbury.

On Writing by Stephen King.

The Deluxe Transitive Vampire

The New Well-Tempered Sentence

The Disheveled Dictionary 

Torn Wings and Faux Pas

Out of the Loud Hound of Darkness

Are you suggesting that I read books before I try to write one?

Seriously, thanks for the recommendations.
Title: Re: Coming Soon
Post by: Arcana on July 03, 2015, 04:45:52 AM
A word on grammar.  Most people think Strunk and White is best used to level their desk while they write, but while grammar is often considered boring, trivial, even irrelevant to creative writing, I believe that the study of grammar is absolutely paramount.  I think people get the wrong idea about studying grammar, thinking that its just a bunch of rules that no one cares about, and besides, the best writers don't follow those rules so why should they?

That's missing the point entirely.  Words, and sentence structure, are the writers tools.  They are the writer's weapons of mass discussion.  You have to know the rules, and *why* they exist, in order to manipulate them.  Everyone starts by trying to find the "right" words to express their thoughts.  Then maybe they tweak them in some vague sense of sprinkling style to them.  But there are no right words.  Its not a test.  Composition and grammatical construction separates the good writers from, well, everyone else on the internet.  Ultimately, writing isn't just about dictionary meaning, its about the way that words construct the scaffolding of meaning.

Quote
He hid his money in a secret hollow in his left shoe.  This was the new reality.  You had to take whatever precautions you could think of in Atlas Park these days.  Gone were the good old days when you could walk down the street unaware of your surroundings.  When if some Hellions tried anything, five heroes would jump them.  As you would back away, you would see the bad guys frozen, inside fire circles with electricity shooting towards them.  And a weird hum, and a green aura filling the area.  What a sight to see.

"You had to take whatever precautions you could think of" is grammatically correct.  However, its also second person.  Second person has implications.  It dictates to the reader.  As a result, it can be distancing: the reader tends not to build their own sense of perspective, their own viewpoint, because they are being told what they see, what they think, what they feel.  It can make it difficult for readers to become invested in anything.  Grammar can tell you what your weapons are shooting at.  Grammar can tell you if you're aiming at the right things.  Were you trying to create distance between the reader and the story?  Or did you want to pull them in?  The meaning of the words say one thing, the structure of the writing says something else.  How about this:

Quote
He hid his money in the secret hollow in his left shoe.  This was his new reality.  Gone were the good old days when you could walk down the streets of Atlas Park unaware of your surroundings.  When if some Hellions tried anything, five heroes would jump them.  He remembered the days when it was the criminals who had to be cautious, lest they find themselves frozen inside fire circles with electricity shooting towards them.  When a weird hum and a green aura filling the area was a sign to everyone that while they might not be exactly safe on the streets of Paragon City, there was always someone watching.  They were a sight to see.  But now he was the one taking precautions, wondering what might jump out at him, for trying to cross the street.

I'm not saying this is better (nor am I judging your writing specifically, it was just a convenient example).  I'm just saying I thought about every single word, and tried to apply some technique to them, while still maintaining as much of the original text and ideas as possible.  I'm not a fiction writer by trade, so this is novice stuff.  But I felt mixing "he" and "you" diluted the text.  There was a lost opportunity to try to connect the reader to something, to anchor them in a perspective.  I wanted the reader to immediately lock onto the "he" from the passage, and put them in his place.  See through his eyes.  Feel what he was feeling.  Put them somewhere concrete.  I even changed a single word: He hid his money in the secret hollow in his left shoe.  Not "a hollow" but rather "the hollow."  Saying he put his money in a hollow sounds random, like there's multiple hollows and he picked one, or it just happened to be a good place now.  Saying he put his money in the hollow makes it sound like that's the one and only hollow, the one and only place he puts his money, because he has done this enough times that he has an actual place that is the place, and not just a place.  It makes it seem like this has been going on a while.  I injected (or at least tried to) a sense of time with a single swap of an article.

Some of that is style, some of that is judgment.  But a lot of that is just deploying the weapons of grammar.  That thing nobody cares about on the internet.  Knowledge of grammar and tense and voice are important.  Without them, as a writer you're bringing a tweet to a poetry slam fight.
Title: Re: Coming Soon
Post by: Paragon Avenger on July 03, 2015, 05:17:35 AM
Thanks, Arcana.  You are right about grammar.  I was trying to imply that there might be multiple hiding places for his money, but I dropped the ball on that one.  Also, I didn't want the reader to be in the same place as the "He".  It was supposed to be life after we heroes had left, but I probably dropped the ball there too.  Further in the story we almost don't want to like him.  Again, maybe one should like the main character of the story.  Oh, did I mention that this was my very first fan fiction I ever wrote?  So, yes, I am well aware of several glaring errors in the story.  If I were serious about this series, I might want to go back and modify the posts.  Actually, it might be fun to pick it apart.
Title: Re: Coming Soon
Post by: Vee on July 03, 2015, 05:30:36 AM


This really has its roots in origin of origin, where someone in the dev team said we need a way to designate how the player got his or her powers, and they decided Science, Technology, Natural, Mutation, and Magic were reasonable necessary and sufficient descriptors.  Except Science, Technology, and Mutation are all the same damn thing.  Sure, you can ask stupid irrelevant questions like isn't being hit by lightning totally different from making a suit of armor?  Yeah, in the same way getting hit by lightning is different from being doused in chemicals.  The problem is all technology works on scientific principles, so the overlap between those two was going to be hefty.  And Mutation?  Is there a non-scientific kind of mutation?


Science origin and tech origin just sound a bit better than 'unintentional science origin' and 'intentional science origin'. As to mutation, that strikes me as natural origin and only science in the amorphous sense that anything studied by scientists is science (unless we're saying mutation of this kind is caused by radiation ala early Marvel, in which case, fine - unintentional environmento-biological science origin :P). We can easily admit that though science and technology are both science in the sense that they both depend on scientific principles (or vice versa if you're a Heideggerian), but the difference between gaining an accidental power from a science experiment and intentionally developing technology to acquire super powers seems enough of a difference in kind to justify a distinction. Similarly if we take mutation to be 'natural' in the broad sense we can still draw a distinction in kind between that and abilities acquired through training. I should mention I never read the origin of power arc because I barely read any of the arcs, but the 5 origin types do seem sufficiently distinct to me. As to the actual terms used to designate them, they seem to me about as good as any we're likely to come up with but ymmv.
Title: Re: Coming Soon
Post by: Arcana on July 03, 2015, 05:52:40 AM
We can easily admit that though science and technology are both science in the sense that they both depend on scientific principles (or vice versa if you're a Heideggerian), but the difference between gaining an accidental power from a science experiment and intentionally developing technology to acquire super powers seems enough of a difference in kind to justify a distinction.

Why?  They are different narratively but City of Heroes is supposed to leave the narrative of the character up to the player.  Getting your powers because you are a scientist who is experimenting on yourself is certainly different from getting them because of an industrial accident, but that distinction is best left up to player bios to resolve.

When you say that powers from a science experiment and powers from a technological invention are different enough to justify a distinction, in what way do you want *the game* to honor that distinction.  In what way do you want the game to make Science powers work differently from Tech powers such that the player has no say in the matter.  When you are Science origin, you can only use Science enhancements.  You aren't allowed to use Tech enhancements (at least when we get to SOs).  You have no say in the matter: that's how the game works.  Fortunately, there's really no difference between Science SOs and Tech SOs, so its not a big deal.

But that's the point.  Why make a distinction - Science Origin and Tech Origin - and then deliberately make sure there exists no actual in-game difference between the two.  That's a worthless distinction.  They could have just made a blank on your character bio called "origin" and you could have put anything in there you wanted.  You could have put "alien transdimensional lifeforce transfer" and that would have been just as valid of an origin as "Tech."

You don't make a game option, tell the players to pick one, and then tell them it won't matter.  That's stupid.  You only make options if the options mean something.  So: do you want Science and Technology to work differently in City of Heroes?  Probably not.  Some players probably didn't want anything to operate differently than anything else.  They wanted origin to be just a free label they could stick on anything.  For that matter, some players felt "Fire" should be just a label they could stick on anything they wanted to, and if they wanted a Fire attack that held instead of doing DoT, that should have been their option.

Let me know if any of them become game designers.  In the meantime, real games are a balance between freedom and structure, and good games balance the two.  Contrary to some people's belief, there is such a thing as too much freedom.  When anything goes, the game has no structure, no rules, and nothing interesting can happen.  Choices don't matter, because there are no choices.  No matter what you do, you still get the same everything as everyone else.  For some that's paradise.  For most, including me, that's a disaster.

*If* they wanted Origins to really exist at all, the only reason for Origins to actually exist as a game mechanic is if different origins were going to work differently, have different rules, be able to do certain things and not do others.  If you don't want that, toss Origins into the bit bucket and make it a free text form on the bio.  But if you do want that, I don't think Science, Technology, and Mutation should work differently.  They all work by the rules of what passes for science in your world.  In fact, even calling them "Origin" is slightly misleading.  Its not about how you acquired the powers.  Its about the source of those powers themselves, the rules by which you can use them.  Fire burns, bullets make holes in things.  Mutations are a different way to acquire powers, but those powers will still (most likely) work on the basis of scientific principles.  They will give you a biological healing factor.  They will make your bones as hard as carbon fiber.  They will increase your metabolism and your muscle strength.  They will change you in ways you'd assume grant abilities in a scientifically (or pseudo-scientifically) extrapolatable way.

TL;DR version.  Its the beginning of time, and we're making City of Heroes.  I tell you we're going to make something called origins, and what the player chooses will be significant.  Origin A will have features Origin B won't have, and vice versa.  If you pick Origin A you'll be able to do things origin B can't do and vice versa.  How many origins do you want?  One?  Ten?  What should they be, given each one will work differently.  Do you even want them at all?
Title: Re: Coming Soon
Post by: Vee on July 03, 2015, 06:39:15 AM
I don't really disagree with any of that, I was just resistant to the application of the vague 'science' to three things that seem sufficiently distinct to count as different in kind. But yeah, that is a narrative distinction that could easily have been left up to the players. The distinctions in origin were completely arbitrary from a game standpoint, but I suppose it's understandable that they would want to put in some sort of 'explainey-type-thing' for why the city is so populated with powered individuals. Rather than go the causal event ala DCUO's 'all the super powers were redistributed except for the ones from the recognizable supers' they basically came up with a featureless way of saying 'everyone got their powers the same ways everyone in comics gets their powers.

But from the standpoint of the in-game differences (or lack thereof), the distinction between e.g. natural and magic is just as arbitrary as the other three. So much so that after my second toon I picked mutation for all my heroes because the mutation store in steel was more conveniently located, and after I learned about the Yin store I made everyone magic because the damage SOs made the DO levels go so fast. And plenty of people would pick their origin solely based on whichever one had the tiny bit of -resist in the base ranged power.

From a design standpoint they seem to have been trying to avoid annoying the people who'd say 'hey how'd all these people get these powers anyway' and ended up annoying the rp crowd, the lore crowd, the crowd who don't want pointless game mechanics, and probably the group they were initially trying to satisfy as well, given that 'the usual ways' isn't really much of an explanation.
Title: Re: Coming Soon
Post by: Arcana on July 03, 2015, 07:09:02 AM
But from the standpoint of the in-game differences (or lack thereof), the distinction between e.g. natural and magic is just as arbitrary as the other three. So much so that after my second toon I picked mutation for all my heroes because the mutation store in steel was more conveniently located, and after I learned about the Yin store I made everyone magic because the damage SOs made the DO levels go so fast. And plenty of people would pick their origin solely based on whichever one had the tiny bit of -resist in the base ranged power.

You and a lot of players.

Quote
From a design standpoint they seem to have been trying to avoid annoying the people who'd say 'hey how'd all these people get these powers anyway' and ended up annoying the rp crowd, the lore crowd, the crowd who don't want pointless game mechanics, and probably the group they were initially trying to satisfy as well, given that 'the usual ways' isn't really much of an explanation.

We're conflating two different things here, and its important to keep them separate.  There's the "Origins of Power" story arc, where the devs tried to come up with an in-game narrative for what being a superpowered being meant, and eventually led to the basis for what being an Incarnate is, and how it relates to the kinds of superpowers that existed before.  That was an epic dud.  It pissed off the roleplayers, the lorekeepers, the continuity trackers, the fiction writers, the nit pickers, and the backstory thinkers.  Basically, everyone literate enough to actually read Origin of Powers in the first place.

Then there's the original origin of origins, which is the question of why we even have origins in the first place.  That's a game design question, with a game design answer.  That one is a case of the devs having big ideas in 2002 they couldn't execute in 2004 and decided to forget about in 2005 then got the bright idea to revisit in 2006 (with origin temp powers).  It wasn't until Issue 12 circa 2008 that the Origin of Power storyline was introduced, in part to address power proliferation (i.e. Dr. Brainstorm), and in part to lay the groundwork for what eventually became Incarnates.

The singular idea about Origin of Power that is honestly retarded is that what we call "Science" and "Technology" are fundamental and Magical properties of the world.  There's some mystical force that brings "Science" into the world and with it Science superpowers.  Without this force, I guess there'd be no more Science and we'd all be throwing rocks at each other.  In that arc, you learn that "Science" and "Technology" and "Mutation" and"Natural" and "Mutation" just happen to be the origins that hold sway now, but in the past there were sometimes more and sometimes less.  You know, like how in the past sometimes there were more numbers and sometimes less.

In effect, and there's no escaping this, all superpowers in the world of City of Heroes are magical.  Science is a form of magic.  Mutations are a form of magic.  All origins only exist because magical forces make them exist.  I call them "magical" but of course, there's a "magical" source for "Magic."  Call it a meta-magic.  That meta-magic would eventually be discovered to be Incarnate power: the pseudo-mystical-metamagic that includes the potential of all sentient life.  That potential transforms into power through the conduits of Origins.  Science isn't Science, its metamagical Incarnate energy powering something we think is Science.

In another few sentences, I'm going to bite my keyboard in half, so you'll have to look up the rest yourself.
Title: Re: Coming Soon
Post by: Vee on July 03, 2015, 07:31:01 AM
In another few sentences, I'm going to bite my keyboard in half, so you'll have to look up the rest yourself.

Pass, the bit you summed up already filled my lulz quota for the day. Though I do have to hand it to them, that's just about silly enough to have actually been a comics retcon.
Title: Re: Coming Soon
Post by: Shadowe on July 03, 2015, 07:45:35 AM
Knowing that CoH borrowed a lot from the Champions RPG helped a lot for me when it came to origins. In Champions both mutation and science (as we know them) fall under the banner of mutation, which is split into "natural" mutations (this character developed this mutation on their own, no external factors were involved) and "accidental" mutations (at some point after birth, the character was altered by an external scientific event). Technology requires devices (could be bionic implants, a power suit, or whatever) that allow the character to manifest their powers.

In this schema, the X-men are all Mutation origin, while Spider-man is Science, and Iron Man is Technology (just to cover the other two, and to touch on DC, Zatana would be Magic and Superman would be Natural). It's something of a fine distinction, and I think I get why CoH adopted it, but the implementation fell a little short because of the desire to allow a huge amount of freedom to the players on how they defined their own powers.

The differences were most telling if you carefully cherry-picked your story arcs based on the reward enhancements: at low levels, if you picked up arcs which granted Science rewards, you spent an inordinate amount of time fighting Vahzilok, for example (I was something of a purist when I began, so I did this on my main, and it really stuck with me when I made characters of other origins and had a completely different experience). And that was one of the beautiful aspects of CoH: you could (for a while, at least) focus on your origin's story arcs, and have enough to do to level up without having to touch too much on other origins (though it did help to diversify), but you weren't railroaded into only those stories. If you wanted to be a Science origin character who spent their life helping Azuria deal with magical problems, you could.

So, at the end of the day, origin mattered as much or as little as you wanted it to, and because of that freedom, combined with the really very loose descriptions of the origins themselves, it appears as though origins don't matter. From the perspective of your character's story (and how you went about realising that story through the arcs in the game), it actually mattered a lot.

Edit: But yes, Origin of Power was seriously annoying and dumb.
Title: Re: Coming Soon
Post by: Arcana on July 03, 2015, 08:04:33 AM
The differences were most telling if you carefully cherry-picked your story arcs based on the reward enhancements

Which, I should point out, 99% of all players were not capable of doing.  Another pet peeve of mine: informed choices.  The occasional surprise is fine, but if you (the developer "you") want to claim that one of the effects of Origin is that it could influence your decisions of what content to run, based on what content would reward you congruent enhancements (i.e. the stuff that would help someone like you) you actually had to inform the players about that.  You needed to actually tell them that choice even existed, and provide them with enough information to actually make that choice in an informed manner.

I think a lot of MMO devs believe in the notion of discovery, that the point of the game is for the players to figure out how to play it.  My response to that, for any developer wishing to make that argument is: I would like to design your next car.
Title: Re: Coming Soon
Post by: FloatingFatMan on July 03, 2015, 08:15:22 AM
In effect, and there's no escaping this, all superpowers in the world of City of Heroes are magical.  Science is a form of magic.  Mutations are a form of magic.  All origins only exist because magical forces make them exist.  I call them "magical" but of course, there's a "magical" source for "Magic."  Call it a meta-magic.  That meta-magic would eventually be discovered to be Incarnate power: the pseudo-mystical-metamagic that includes the potential of all sentient life.  That potential transforms into power through the conduits of Origins.  Science isn't Science, its metamagical Incarnate energy powering something we think is Science.

And that's what annoyed me the most, because my main was a Peacebringer. An alien/human conglomeration and had absolutely nothing magical about her whatsoever.  She couldn't even do basic card tricks!  Bloody railroading devs!
Title: Re: Coming Soon
Post by: Shadowe on July 03, 2015, 08:17:20 AM
Which, I should point out, 99% of all players were not capable of doing.  Another pet peeve of mine: informed choices.  The occasional surprise is fine, but if you (the developer "you") want to claim that one of the effects of Origin is that it could influence your decisions of what content to run, based on what content would reward you congruent enhancements (i.e. the stuff that would help someone like you) you actually had to inform the players about that.  You needed to actually tell them that choice even existed, and provide them with enough information to actually make that choice in an informed manner.

I think a lot of MMO devs believe in the notion of discovery, that the point of the game is for the players to figure out how to play it.  My response to that, for any developer wishing to make that argument is: I would like to design your next car.
It's a concept that has hit the tabletop RPG market with so-called "Ivory Tower Game Design" (coined by Monte Cook, I believe for 3rd Edition D&D) where the assumption is that casual players can pick whatever option they want and have a fun experience, but to actually "beat the system" you need to develop a degree of system mastery to pick good options.

It's dumb as all hell, and I agree that informed choice should be the goal.
Title: Re: Coming Soon
Post by: Victoria Victrix on July 03, 2015, 09:39:05 AM
Further in the story we almost don't want to like him.  Again, maybe one should like the main character of the story. 

This, by the way, is the reason Blake Snyder's book is called Save the Cat.  He points out that in order to become immersed in a story or movie we must at least identify in some way with the hero (or antihero) even if we don't precisely like her.  He uses as his example, the moment in Alien where Ripley goes back to save her cat, Jones.  We don't much like Ripley until that point.  She's a pretty cold character.  But when she saves Jones, we start cheering for her and we want her to win.
Title: Re: Coming Soon
Post by: Nyx Nought Nothing on July 03, 2015, 01:14:05 PM
I honestly do not have time to do a line-by-line.  But like FFM said....no.  If you really want your epic published you must get rid of all game mechanics.  Back in the day when PnP DnD was all the rage, I got shown a lot of books that were based on someone's campaign.  Short form: if you can hear the dice roll (or the RNG generating) every time someone does something, it's nothing anyone who was not there wants to read.
In some cases certain game mechanics can be worked into the story in an organic way. One of my current favorite manga is One Punch Man (http://www.mangahere.co/manga/onepunch_man/) and the villains and heroes are ranked by power levels by a central hero registration authority. Heroes rise in rank through a combination of demonstrated abilities and public acclaim. In a variety of ways it does an excellent job of capturing the flavor of CoH's setting, at least in terms of a world covered with superhuman beings with a dizzying number of unique origins. The main character, Saitama, is a natural origin hero who became so powerful that at the start of the manga he's wrestling with boredom and melancholy because fighting evil has no challenge anymore since everything he fights is defeated in one punch.
Title: Re: Coming Soon
Post by: Ohioknight on July 03, 2015, 06:17:33 PM
You, me, and just about every single RPer in the game, plus all the others.  It was bloody stupid, annoying, and was rightfully ignored as much as possible.

Especially annoying was everything to do with the Well.

^^^^^^^^
That Floating Fat Man know what he's talking about
Title: Re: Coming Soon
Post by: Ohioknight on July 03, 2015, 06:19:30 PM
Kids these days don't even know how good they have it.  All their fancy javascript and Ruby on Rails.  They don't know what it was like to have databases without stored procedures, cpus without memory management, and languages you had to learn Spanish to code in.

Hey, inheritance is radical nonsense.... And screens should be BLACK with GREEN letters, dammit
Title: Re: Coming Soon
Post by: Ohioknight on July 03, 2015, 06:28:41 PM
I often feel that, seeing some things said above about the origin of power story, is that keeping the games lore and gameplay separate is somewhat important. ...

At one point in DX:HR for example all enemies are INSTANTLY on alert, so if your spotted for even a second your enemies are fully alerted.  This is in contrast to most areas where if your spotted but you slip out of sight right away and move smart enough you can evade detection still.  It's done to reflect the story and the situation, rather than just difficulty....


It always bothered me from a "making sense" perspective that you could beat the crap out of 5 guys in a big room for five minutes and have none of the other 5 groups of 5 thugs notice that you were beating the crap out of their friends in full view of everybody -- I really wish there had been more line-of-sight mechanics in the game (though I realize the problems there -- I suppose it was an optimal solution but it bugged me)
Title: Re: Coming Soon
Post by: mad skills on July 03, 2015, 07:07:14 PM
It always bothered me from a "making sense" perspective that you could beat the crap out of 5 guys in a big room for five minutes and have none of the other 5 groups of 5 thugs notice that you were beating the crap out of their friends in full view of everybody

I'm quite sure that those other groups hoped that they would be the group that you skipped. As for the defeat all missions, they did not know that it was a defeat all mission so it was okay for them to be in denial.
Title: Re: Coming Soon
Post by: switch on July 03, 2015, 10:03:25 PM
so i had a  idea and wonder if anyone else has thought about it   so  here it is  making a Raidcall channel so all of us running around in game chatting could actualy be in voice chat as well with some old friends  to catch up and talk about the good old days  and stuff   

was just a random thought
Title: Re: Coming Soon
Post by: Fifth on July 03, 2015, 10:41:33 PM
If the game somehow comes back I will make it my personal mission to excise the Origin of Power arc from canon with extreme prejudice.

oh I thought that was the Red Coral mission arc which I loved to death, but no its the story arc I never finished because it was boring XD all good! yes remove that abomination!
Title: Re: Coming Soon
Post by: Fifth on July 03, 2015, 11:26:46 PM
There's evidence to believe that Prometheus, for some reason, believes "champions" of the Well are a bad idea, that somehow investing all that power in a single or too few hands will be ineffective against the Battalion.  Given what the devs have said about how the Well works and what the Battalion were likely to be, that's totally illogical, whether the devs had plans to try to make it logical or not.  But I believe, discounting future plans, that the Prometheus in the game is not so much manipulating us as treating us like children, not sophisticated enough to know the truth, and so have to be told what we need to hear to do the right thing, whether that's the truth or not.  So he's totally unreliable as a source of information.

What I believe, again separate from dev future plans, is that his plan ultimately fails, and Silos knows that.  Silos has seen Prometheus fail, he's seen the Dream Doctor fail, and he's seen Ouroboros itself fail, and that's why he's taken the big risk to leap from tether to tether to get back to the present.

Which makes his clumsy ignorance in Ramiel's arc all the more inexplicable.  Even if you toss out everything I conjecture and look only at the in-game information, it makes no sense whatsoever for Silos to be so ignorant about Incarnates, when he's done what he did to the Dream Doctor and given the respect he otherwise has from the other Menders.  He's had a million years to learn what Ramiel knows, and it slipped his mind to research the one most important element of his current goal in life?  That's not Nemesis.

I agree! I love how in your story Silos does know that and plans accordingly.  Have I ever told you how much I love your story.
Title: Re: Coming Soon
Post by: Arcana on July 03, 2015, 11:28:02 PM
so i had a  idea and wonder if anyone else has thought about it   so  here it is  making a Raidcall channel so all of us running around in game chatting could actualy be in voice chat as well with some old friends  to catch up and talk about the good old days  and stuff   

was just a random thought

City of Heroes never directly supported voice chatting, but nothing stops people from making their own voice chat friends lists.  I have heard there are some issues with broad compatibility for voice support in XMPP, and I don't know if resolving that directly is a priority for the Paragon Chat team.
Title: Re: Coming Soon
Post by: Fifth on July 03, 2015, 11:46:41 PM
Science origin and tech origin just sound a bit better than 'unintentional science origin' and 'intentional science origin'. As to mutation, that strikes me as natural origin and only science in the amorphous sense that anything studied by scientists is science (unless we're saying mutation of this kind is caused by radiation ala early Marvel, in which case, fine - unintentional environmento-biological science origin :P). We can easily admit that though science and technology are both science in the sense that they both depend on scientific principles (or vice versa if you're a Heideggerian), but the difference between gaining an accidental power from a science experiment and intentionally developing technology to acquire super powers seems enough of a difference in kind to justify a distinction. Similarly if we take mutation to be 'natural' in the broad sense we can still draw a distinction in kind between that and abilities acquired through training. I should mention I never read the origin of power arc because I barely read any of the arcs, but the 5 origin types do seem sufficiently distinct to me. As to the actual terms used to designate them, they seem to me about as good as any we're likely to come up with but ymmv.

I always thought of Mutation and Natural ast he same thing. As to mean that this character was born like this but, its not considered a normal thing for their species. As far as any mutation given later in life, I bulked into science. I think of Science as Chemical/Biological and Technology as, well, playing a robot like in my case. :P 
Title: Re: Coming Soon
Post by: Sekoia on July 04, 2015, 12:06:12 AM
All 5 origins can be argued to be the same. Magic is just science we haven't figured out yet, and using magical artifacts is thus the same as using technology. Magic is something anyone can learn, therefore it is natural. Mutation is apparently a natural phenomena. Psychic abilities could be argued to be natural to humans (even that horrible arc mentions that they aren't really the same as mutations and have been around much longer).
Title: Re: Coming Soon
Post by: Arcana on July 04, 2015, 12:33:25 AM
All 5 origins can be argued to be the same. Magic is just science we haven't figured out yet, and using magical artifacts is thus the same as using technology. Magic is something anyone can learn, therefore it is natural. Mutation is apparently a natural phenomena. Psychic abilities could be argued to be natural to humans (even that horrible arc mentions that they aren't really the same as mutations and have been around much longer).

Its not really a question of what you can make a case for, its a question of what you're willing to enforce.

But as to the semantics, the difference between "Natural" and "Mutation" is hazy, but at least for humans there is a very specific distinction.  We don't normally consider "natural" to be "whatever might happen in the world."  That's vague enough to be meaningless.  Normally, the general consensus meaning is "an ability that a normal biological human being could acquire through means that primarily involve learning to use the abilities all human beings have to some extent, as opposed to being altered genetically in some why that's fundamentally different from normal humans.

Mutations can be "natural" in the sense of happening because of natural processes, but a mutation-based superpower cannot be Natural in the sense of not altering a human in a genetically significant way.

And while you can argue that "Magic" is just Science we don't understand, Science itself makes assumptions about the way the universe works.  Magic is by its very definition things that violate those assumptions on a fundamental level.  You can argue that super-advanced technology *looks* like magic, but actual magic operates on the basis of rules that can never be integrated with conventional science.  The fact that its difficult to conceive of a phenomenon that cannot even in principle be integrated with Science is a reflection of the fact that by definition it is difficult to explain something that by its own definition is ultimately unexplainable.  If you believe Magic is just Science before its discovered, that's really tantamount to believing there is no such thing as magic.

When you make the case for saying all five origins are really the same, you are really making the case for all five origins working the same way.  There's no right or wrong of that, but it does have consequences when you design a game around that principle, assuming consistency is a goal you're striving for.  That I can make a case for saying there's really just three origins - Sci/Tech/Mutation, Natural, and Magic - isn't making the case for saying that's the one right answer, but rather that I believe it would make for a more interesting game if there were three different "kinds" of superpowers, each with different rules, strengths, and limitations.  You know how in the comic books Superman was said to be "weak to magic?"  That's a concept that's fundamentally impossible to represent in City of Heroes in any consistent way, because "Magic" is just a word in City of Heroes.  Its a label for enhancements.  But there's no such thing as magical defenses and magical attacks.  They might be called that, but the game engine is totally blind to that.    Its something you can't do, because there is only one set of rules for how powers work.  All five origins are exactly equal, and exactly indistinguishable.  There is no "magic" in City of Heroes: not really.  There are only things we can choose to call magic if we wish, but calling them that has absolutely no effect on anything.

I contend it might have made a more interesting game if that had meaning.  But I don't make the case that the game would be "better" or that that is the "right" way to do origins.  I do contend its an internally consistent way of doing origins that is meaningful to game play, rather than the unnecessary non-entity Origin was in the actual game.  Making the case is not the end, its the beginning.  What you do with that case once you've made it, and how you would wrap the game around that case, is the interesting part.
Title: Re: Coming Soon
Post by: Ohioknight on July 04, 2015, 01:01:01 AM

  You can argue that super-advanced technology *looks* like magic, but actual magic operates on the basis of rules that can never be integrated with conventional science. 


Science, Magic, it's all the same crap:

http://www.adultswim.com/videos/the-venture-bros/im-a-super-scientist/ (http://www.adultswim.com/videos/the-venture-bros/im-a-super-scientist/)
Title: Re: Coming Soon
Post by: Felderburg on July 04, 2015, 06:10:48 PM
Title: Re: Coming Soon
Post by: Arcana on July 04, 2015, 07:06:42 PM
I think the biggest things to take away from this response is that Origin of Powers is an arc told from the point of view characters in the world of City of Heroes, and they don't really know what's truly going on. Because of this, the TRUE nature of the origin of powers will be revealed to players later, restoring what most of us think of as the "proper" origin of powers - namely, our characters.    .....or something like that.

While that might have been their intent - and different developers have different intents - that's not what the later stories about Incarnates and the Well explicitly stated, and would have been difficult to retcon.  Even after Origin of Power's fuzzy, annoying, and scattershot aspects were complained about, their remedies for that if anything tried to help a drowning man by setting him on fire.  Prometheus, who is supposed to know the story we don't yet, and in what legal minds might refer to a "excited utterances" refers to the Well as something more than just an amorphous construct, Prometheus is seen to hate the Well, as if it was an entity and not a mere reflection of human potential.  The Well is given a personality.  And it is shown capable of taking over other beings, like Statesman and Recluse.

I believe those developers were sincere, but I believe in this case they were also wrong, even about their own intentions.  And regardless, the wheel of mmo development often grinds independently of intent, with the momentum of cumulative contribution often overriding individual developer's intentions.

The exact, precise, word-for-word way the Battalion were going to try to demolish us was really going to be their last chance to rectify all of this, and I have my doubts they would have.  I think they were trying to do too much with the Battalion, and it was going to paint them into narrative corners, again.  For an extremely powerful destroyer of worlds and species and something Prometheus believes an Incarnate army of the caliber of Emperor Cole's was totally incapable of dealing with, the Battalion seemed content to use spies and front men to do their dirty work for them.  If they needed that sort of deception and subterfuge, the odds are they could not really be the big bad incarnate-crushers they were being built up to be.  Doing all of that allowed the devs to turn the Coming Storm into a power play story before the actual shooting started, but that stretches the narrative out at the expense of diluting it greatly.

And that would have made it very difficult to salvage Origin of Power/Incarnates.  To be a threat to the very existence of Incarnate power, the Battalion could not possibly be entities that fought at that level.  They had to be cosmic threats, fighting on planes vastly above such matters.  A politician and a spy cannot dismantle the Well of Furies if the Well is a reflection of human potential.  That would be like Back Ally Brawler trying to punch the concept of Sadness into submission.  Sure, its just comic books so you can Deus Ex Machina all you want.  But when the end game is bringing in Rularuu, destroyer of dimensions on your side, the enemy cannot be Cobra Commander.

When Galactus comes for you, he doesn't send spies, he doesn't send scouts, he sends a Herald.  And the Herald is not there to spy on you, he's not there to bargain with you, he's not even there to fight you.  He's there to ring the dinner bell.

If the true origin of power is actually inside us and not something externally powering us, then there's no way to steal that potential from us, except by taking it from all of us individually.  Like, say, by enslaving an entire race of beings and using their life force to power your warp drives.  We can't be cheated of it, or forced to give it away.

I get the feeling from the Lore answers that at least some of the devs felt we were too harsh on some of the build up stories, because we lacked the context to interpret what was happening correctly.  That can be true sometimes, but I don't believe its true in this case, at least for me.  I believe the narrative direction wasn't ambiguous, and was thus going to be extremely difficult to reverse.  And at best, you might try, and end up with a twenty car pile up of ideas smashing into each other.

After the Coming Storm and the entire Incarnate story, I believe the entire thing was going to be nullified (narratively) by Ascendancy.  The clean slate that told the players that the path to power was individual and self-controlled was going to be Ascension.
Title: Re: Coming Soon
Post by: Paragon Avenger on July 05, 2015, 04:52:31 AM
Thanks alot Arcana.

There I was, perfectly willing to let my stories sit out there warts and all.  Then you had to point out the clumsy shift of point-of-view from third to second person.  So I rewrote that first entry:

Quote
He hid his money in a secret hollow in his left shoe.  He had several secret hiding places for his valuables.  This was the new reality.  He had to take whatever precautions he could think of in Atlas Park these days.  Gone were the good old days when anyone could walk down the street unaware of their surroundings.  When if Hellions tried anything, heroes would jump them.  As Paragon City citizens would back away, they could see the bad guys frozen, inside fire circles with electricity shooting towards them.  And a weird hum, and a green aura filling the area.  What a sight to see.
Today was different, as if some evil force threw a switch, the heroes are gone.  The Paragon City Police try, I guess, but not to the extent to make us feel safe.  The Longbow and the Vanguard seem to be busy elsewhere.  If he ever got noticed by one of the unruly street gangs, he would head for the nearest police drone.  They always work, but getting to one before getting beaten is not always possible.
Despite all the danger, he had to go to the rave.  DJ Zero would be rocking the house.  DJ Zero used to rock the heroes in Pocket D, so you know he's good.  But that wasn't the reason he had to go.  Yep, he met a woman.  Jenny Hall was her name.  They had met while watching a penguin superhero battle a military themed street gang.  What was their name?  There are so many street gangs these days.

It still needs work.
Title: Re: Coming Soon
Post by: Arcana on July 05, 2015, 05:57:27 AM
It still needs work.

I guess.
Title: Re: Coming Soon
Post by: cohRock on July 05, 2015, 07:36:04 AM
...
The exact, precise, word-for-word way the Battalion were going to try to demolish us was really going to be their last chance to rectify all of this, and I have my doubts they would have.  I think they were trying to do too much with the Battalion, and it was going to paint them into narrative corners, again.  ...
As an aside, do I remember correctly that the Rikti had fought off the Battalion?  They had to change their whole DNA matrix in order to be successful, but at least one race of humans had managed it.  I'm guessing they didn't actually defeat the Battalion, but essentially made themselves psychic skunks and too much of a  bother to destroy.
Title: Re: Coming Soon
Post by: Ohioknight on July 05, 2015, 03:23:34 PM

If the true origin of power is actually inside us and not something externally powering us, then there's no way to steal that potential from us, except by taking it from all of us individually.  Like, say, by enslaving an entire race of beings and using their life force to power your warp drives.  We can't be cheated of it, or forced to give it away.


This is why Kirby's Anti-Life Equation in his Fourth World was such a brilliant rational for Darkseid's attack of Earth.  As a (New) God, Darkseid's ambition wasn't to stop Superman or Green Lantern and make America his slave -- it was to totally subsume all free will in every possible existence within the multi-verse -- to make the universe Darkseid.  He just thought (correctly*) that he could find a mind on Earth that was capable of comprehending the Anti-Life equation -- it was the only reason he cared about Earth at all.

*"Billion-Dollar" Bates.  A flunky accidentally shot him before they could get the Equation
Title: Re: Coming Soon
Post by: Aggelakis on July 05, 2015, 05:01:48 PM
As an aside, do I remember correctly that the Rikti had fought off the Battalion?  They had to change their whole DNA matrix in order to be successful, but at least one race of humans had managed it.  I'm guessing they didn't actually defeat the Battalion, but essentially made themselves psychic skunks and too much of a  bother to destroy.

They didn't fight off the Battalion. The Battalion didn't care about them because they destroyed all magic in their world (I'm guessing that includes their Source). They did not have "Incarnate Potential" anymore, and that is literally all that the Battalion cares about (subjugating and stealing other planets' Sources).
Title: Re: Coming Soon
Post by: Felderburg on July 05, 2015, 06:34:47 PM
As an aside, do I remember correctly that the Rikti had fought off the Battalion?  They had to change their whole DNA matrix in order to be successful, but at least one race of humans had managed it.  I'm guessing they didn't actually defeat the Battalion, but essentially made themselves psychic skunks and too much of a  bother to destroy.

The Battalion of the Rikti's dimension was much weaker than the Battalion in our dimension. This of course does raise problems if you believe that a Well for a planet is interdimensional, which is sort of implied in some of the AMA answers (but it's not entirely clear if that's the case). http://paragonwiki.com/wiki/Lore_AMA/Sorted#80

Also, if you read the original story bible, the background it has on the Rikti seems to fit with what was seen in the Lore AMAs, including the explanation of how / why they modified their DNA (it has nothing to do with their battalion): http://paragonwiki.com/wiki/Story_Bible
Title: Re: Coming Soon
Post by: FloatingFatMan on July 05, 2015, 06:59:07 PM
Also, if you read the original story bible, the background it has on the Rikti seems to fit with what was seen in the Lore AMAs, including the explanation of how / why they modified their DNA (it has nothing to do with their battalion): http://paragonwiki.com/wiki/Story_Bible

Of course it didn't. The Battalion hadn't been thought of at the time the Rikti back story was originally written.
Title: Re: Coming Soon
Post by: Arcana on July 05, 2015, 08:22:17 PM
Of course it didn't. The Battalion hadn't been thought of at the time the Rikti back story was originally written.

The genesis of the Battalion is probably a lot older than most people think.  The Rikti backstory probably predates the Battalion (my memory is a bit hazy there) but if I recall correctly its a lot older than the Incarnate storyline itself.
Title: Re: Coming Soon
Post by: FloatingFatMan on July 05, 2015, 09:22:18 PM
The genesis of the Battalion is probably a lot older than most people think.  The Rikti backstory probably predates the Battalion (my memory is a bit hazy there) but if I recall correctly its a lot older than the Incarnate storyline itself.

I know. IIRC, a few hints about them were dropped way before Incarnates became a thing.
Title: Re: Coming Soon
Post by: Paragon Avenger on July 06, 2015, 01:20:57 AM
I cannot turn off the professional critic anymore.

I can well imagine ...
VV (reading "Hamlet"):  Spakespeare you hack.  You kill off all the main characters in the last act.
 ;) :) :D
Title: Re: Coming Soon
Post by: Arcana on July 06, 2015, 02:02:03 AM
I can well imagine ...
VV (reading "Hamlet"):  Spakespeare you hack.  You kill off all the main characters in the last act.
 ;) :) :D

GRRM: Amateur.
Title: Re: Coming Soon
Post by: Vee on July 06, 2015, 03:58:54 AM
GRRM: Amateur.

Don't worry, they'll all be back in the next book. Ned's reanimated head and Jaime's hand will be attached to a broom handle.
Title: Re: Coming Soon
Post by: Shenku on July 07, 2015, 04:57:07 PM
GRRM: Amateur.

Suffice to say I'm trying to avoid the GRRM approach to killing characters in my books, although I will admit that some main characters in book one and two of my in-progress series can and have died... But certainly not anywhere near as many as that wedding, sheesh...

(Confession; I have neither read nor watched Game of Thrones; South Park ruined it and made me not want to watch/read it with their Black Friday trilogy, but regardless I've heard enough about it to know that GRRM has no qualms about killing anyone in his books......)
Title: Re: Coming Soon
Post by: Vee on July 07, 2015, 11:48:57 PM
Only thing South Park ever ruined for me was South Park.
Title: Re: Coming Soon
Post by: The-Hunter-JLJ on July 08, 2015, 12:13:29 AM
Meh. I've never been able to read or watch Game of Thrones, cuz I had met GRRM before he wrote it. I'll leave it at that. (grin)
Title: Re: Coming Soon
Post by: ukaserex on July 08, 2015, 06:48:37 PM
For weeks, I had thought Game of Thrones was just a renamed version of musical chairs...
Title: Re: Coming Soon
Post by: Rangle M. Down on July 08, 2015, 11:11:47 PM
While I very much appreciate the work that's gone in behind ParagonChat, which I can only presume has been a ton of work, I can honestly admit that it's not my cup of tea. I think it's awesome for a lot of folks who miss the game as much as I do, but I look forward to getting a chance to fully play the game (missions, etc) sometime down the line.

As I originally stated when I joined CoHTitan, I'll wander back occasionally to see what progress has been made. To those that worked on this, and/or are working on getting the game back (or code rewrites etc), I'm still rooting for you. Thanks for all the effort that's going on.
Title: Re: Coming Soon
Post by: Heliphyneau on July 08, 2015, 11:31:11 PM
While I very much appreciate the work that's gone in behind ParagonChat, which I can only presume has been a ton of work, I can honestly admit that it's not my cup of tea. I think it's awesome for a lot of folks who miss the game as much as I do, but I look forward to getting a chance to fully play the game (missions, etc) sometime down the line.

As I originally stated when I joined CoHTitan, I'll wander back occasionally to see what progress has been made. To those that worked on this, and/or are working on getting the game back (or code rewrites etc), I'm still rooting for you. Thanks for all the effort that's going on.

In some ways, being in Paragon Chat makes me miss the game MORE, since I can run around as my character(s) but can't pummel anything.   :(  That said, it is super awesome seeing the zones again, and interacting with CoH folks is fantastic!  I am sure this would eat all my free time if I were more of a RPer.  I'll definitely be poking my head into Paragon some more to say howdy.

Maybe I'll stroll out to The Chantry . . .

*falls forever*
Title: Re: Coming Soon
Post by: SujaAndersen on July 09, 2015, 07:22:25 PM
Please but at least some form of insect wings on the list!  I have two "bug" characters and I had to use mechanical/organic wings.  Thank you!
Title: Re: Coming Soon
Post by: Aggelakis on July 09, 2015, 07:24:28 PM
Locking topic since it's no longer "coming soon" but "released already"!