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
(https://www.cohtitan.com/misc/pcpromo1.jpg)
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.
It sounds so exciting!!!! I just can't wait (but I guess I have to)!!!! ;D
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. :)
I can see your XMPP.
I think the meaning is obvious.
Scimitars you say? I thought it was summoning me.Vee Tang Clan?
That tempts me into asking how many of you watched 'Kung Fury'?
Hmm... two scimitars... what could it mean? ???
Better shut the stall.Nicely spotted.
I can see your XMPP.
Seriously? It was given away with some major hints.Ah yes. Suggestive of a variety of things.
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.
Like local ICON client launcher can "speak" to other ICON users....
(https://cohtitan.com/misc/pchint1.jpg)
/e popcorn(https://paragonwiki.com/w/images//a/a3/Ghost_Widow_Costume_Emote_CCEvilLaugh.gif)
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? :)
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.
I suspected a distributed "server(? what would the proper word be?)" architecture from the image -- WONDERFUL concept WONDERFUL approach. THANK YOU in advance.
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.
You make me happy, Codewalker. You and the rest of the wizards at work.
If Codewalker was hit by a bus, a lot of his technical wizardry might get smooshed with him.
(https://cohtitan.com/misc/pcreveal2.jpg)
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.
Ah, The Tiki Bar, here I come!
Also, special zones like the ski slopes and others, will those be available?
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?
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?
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?
Question for travel is the trans working? Or is it dev input commands?
This is awesome btw :).
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.
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.
(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 ;)
Has FFM posted here since I mentioned this thread to him?
*looks upthread*
Ah, so he has.
;D
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-
- Will we be able to make and keep friends lists using the in-game menu options?
- 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.)
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.
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"?
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!
Not yet, but there are some plans to do something along those lines in the future.
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.
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.
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.
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
VV: Sorry I haven't been around but I hope the above are reasons enough.
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.
There's what should be done and then there's what people actually do.
Sorry I haven't been around but I hope the above are reasons enough.
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
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.
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)
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 :)
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.
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.
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.
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.
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...
Thanks for the tip, I stand corrected, they are there -- for some reason my music volume was at 10%.
This looks neat. :) Seems pretty promising now that I actually got over my fear of forums and decided to read this thread. lol
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.
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.
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?
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. :)
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
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.
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.
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?
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.
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.
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.
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.
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)
What's to keep NCSoft from swooping in and shutting this latest operation down?
https://www.rajasandhu.com (https://www.rajasandhu.com) was the creator, no comment for inspiration.
Are you near Atlas Park?"Is that close to the AE building?"
"Is that close to the AE building?"
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.
Apologies if this has already been answered, but how many people per zone?
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?
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.
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.
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.
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.
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.
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 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! ;)
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
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! ;)
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.
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.
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.
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 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.
Edit: In fact, looking at the bandwidth requirements...
I can cover probably 60,000 or so users... :p
<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>
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.
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?
These are very rough order of magnitude estimates, without being able to actually monitor a CityofCodewalker connection and the architecture of the system.
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.
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 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.
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?
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?
Remade and saved my main's costume for this! Can't wait! :D
So what will this SoonTM a.k.a. Super Fire Dragon's Fun House of Chat, be like?
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. :)
Remade and saved my main's costume for this! Can't wait! :D
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.
I'm wondering this: can you make it so that all those slash commands are clickable in the power or inspiration trays?
How could I forget about the save costume feature! Now I need to boot up the game and get a few ready to go :)
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.
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
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)
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 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.
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?"
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.That would mostly depend on how much of the client-server communications protocol is supported by the client side of SOON.
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.
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.
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.
So we won't be doing that closing scene from "Unity" live then ... AWWWW :'(
( ;D)
See Y'all in Atlas Park 333!
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.
"excuse me, little hero. Do you have a moment to talk about our lord and savior?"
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.
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.
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.
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".
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.
It may be common in real-time games like shooters and such, but in my experience it's somewhat rare to find in MMOs.
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.
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.
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.
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")i am intrigued by this proposal.
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.
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.
i am intrigued by this proposal.Me too, but I wouldn't go advertising just yet. Remember what 'soon' means in CoX speak. ;)
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.
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.
OMG the anticipation for the FAQ is killing me lol. Gonna need a rez after I explode :)
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.
I'm a technician, so normally I communicate very effectively.
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!
AOL Arts and Entertainment in the late 90'sThat's a name I haven't read in a ridiculously long time! Aaahhh, Rhydin...
That's a name I haven't read in a ridiculously long time!
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...
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.
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.
I'd just like to point out that NCSoft's stated punishment for violating the EULA was removing your accessible to the game.
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.
Unity ~ Angelus Animi
https://www.youtube.com/watch?v=qyn_YuMLSNc
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.
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.
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.
Does Java actually get along well with anyone?
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.
Does Java actually get along well with anyone?
java enthusiasts... *shudders*
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?
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.
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 don't need IP addresses; all communication between players is via the XMPP server, and all you need there is their XMPP user name.
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.
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.
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.
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.
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.
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.
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.
Does Java actually get along well with anyone?
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."
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.
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.
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.
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.
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.
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...
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!
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.)
- multi-user operating system
- device drivers
- interpreter
- assembler
- shell language
- database
- text editor
- application development environment
- application(s)
One did not write programs in Forth; one simply made Forth bigger. Forth was love. Forth was life. Kinda like Shrek, but less green.
the docs make you start as a beginner
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]
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
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.
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.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.
You are a beginner.
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.
And you are a jerk.
We could do with being nicer and less patronizing of one another methinks! <3
^ 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
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 have infinitely more patience than I, Arcana. I take my hat off to you (and sneak into your kitchen to steal some apples). ;)
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.
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?
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.
:)
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.
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.
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.
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?)
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.
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.
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...
<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>
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.
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.
(lots of stuff about not wanting to write plug-ins in java snipped for brevity)
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'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.
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.
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.
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.
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.
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/)
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.
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.
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.
Codewalker and team.This is my thoughts exactly
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!
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.yup I even remade some of my old ones even thought I have the originals saved :)
But, yes, definitely time to play around and make some more!
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.
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.
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)
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.
<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>
<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>
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.
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.
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.
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.
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, 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.
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...
Its a good thing Codewalker ran out of F-s to give...
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?
Also I keep seeing orientation being mentioned. Orientation does not matter one single bit. Only position and velocity matter. Orientation is for looks only.
Enough distraction, back to the grind. I am running low on Fs.
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.
I did finally break down and write a bot to play Dabo in STO
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.
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.
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.
#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.
The camera angle isn't necessarily the same thing as player facing.
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)
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?
(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).
My god, your "bot" is gonna be sooooo fat.
Jealous?
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?
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.
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.
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.
I can make the blender program(s) in an afternoon
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.
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."
Don't be ridiculous, you can't write a bot in dBase 2. Lemme dig up my eight inch disks with Clipper on it.
And it helps to read others code. Gives great ideas sometimes.Or, more often, examples of how not to do things.
He forgot KISS.I actually... kind of recognize the pattern.
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.
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
COBOLI see your COBOL and raise you RPG-II.
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.
Or, more often, examples of how not to do things.I actually... kind of recognize the pattern.
True enough.
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.
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
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.
LOL.
I don't dare ask her to read my Fan Fiction. I know that it is full of holes and mistakes and etc.
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.
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! ;)
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.
Some fanfics completely deserve the notoriety they get, as well.And some fanfics get published.
https://en.wikipedia.org/wiki/Mary_Sue
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.
Sorry to derail the topic!
Hmmm, we should do a code-wars tournament sometime. Maybe a Titan forumite showdown in between PC releases...
Hmmm, we should do a corewars tournament sometime. Maybe a Titan forumite showdown in between PC releases...
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
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.
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.)
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
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
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.
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?
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.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.
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!
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.
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.
Did I mention I'm not a fan of Origin of Power? Yeah, not a fan.
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".
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.
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. ;)
(https://i.imgur.com/8pYdD4I.png)
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.
I guess I really don't need anybody to critique it.
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.
Eating is for fun, don't let someone else steal your fun.
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.
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.
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.
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
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.
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.
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?
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.
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.
In another few sentences, I'm going to bite my keyboard in half, so you'll have to look up the rest yourself.
The differences were most telling if you carefully cherry-picked your story arcs based on the reward enhancements
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.
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.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.
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.
Further in the story we almost don't want to like him. Again, maybe one should like the main character of the story.
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.
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.
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.
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
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.
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.
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
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.
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).
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.
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.
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.
...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 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. ...
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.
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.
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.
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.
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 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
GRRM: Amateur.
GRRM: Amateur.
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.