Interesting theory.
I may have to resort to something like that if I can't find the CSX file for the experimental online plugin. I have the CAP but no CSX.
I'm wondering how fast this method could be? Also... it may run in to issues if there are a lot of users online... trying to figure out what messages are supposed to be used for whose character on what IP address etc...
I'm tearing my hair out just thinking about it D:
~Sol
It wouldn't work for anything that needed to be quick (shoot-em-ups requiring perfect timing probably wouldn't handle well with it), but adventure types could be ok, little mini-mmo's and the like. Though I suppose it depends how fast construct could parse the IRC log file for updating character movement.
You'd not have to worry about IP's. Parsing the output from IRC would get you the time, their name and then whatever info was in their message. Something like (super simple example). Since you can't have duplicate names on any one IRC server, it would cover the job of IP addresses, and of course something like nickserv could be used to protect your characters name.
05:49:32:Frank:024:189:897324:hey guys whats up:
Using : as a separator, you'd get
hour,
minute,
second,
username,
X coords,
Y coords,
set of numbers which would set how the player looks (if there's a choice of appearance) and could show extra's like item carried or something too,
message written, if any.
As for the problem of slowdown with lots of users. I thought at the time of using different IRC channels for different locations. It was easy enough I recall to change channels via scripts (this was all tested in mIRC at the time). So as you move around different locations in your game, your disembodied internet soul does the same in IRC. You could even limit channels to a max number of users, this would give a message if the channel was full, which construct could look for and inform the user in the game that the place is full too.
Private messages in IRC could work fine for private chatting among players in the game, and perhaps also trading of items too, and some kind of 1 on 1 dueling.
Unfortunately it was all worked out as a graphical chat thing done on the cheap. So there was nothing worked out to handle NPC's or proper fighting. But thinking about that now, the simplest way would be IRC bots, as they would update everyone at the same time, just like the players would. Keeping themselves in synch with everyone in the area.
Storing player data - inventory, progress etc. Could be handled by another bot, just like many of them do for those generally annoying IRC gamebots that keep players scores. The only problem is something like this would generally not be very secure, and likely very easy to cheat on, unless the player output used in IRC was encrypted somehow. But that would be cracked eventually too.
-
Another method, which would be much slower and really only of use for turn based games, would be using the Get and Post tools, and uploading movement and changes to a website. That would work as-is for a two player turn based game. Or using PHP and a cron job, it could be made to handle more players as well as fancier extra's.