Help - Search - Members - Calendar
Full Version: ShadowNet: Real-time SR4 gaming online
Dumpshock Forums > Discussion > Community Projects
Pages: 1, 2
Dashifen
ShadowNet
Current Version: 0.33 (alpha, i.e. not working)

So, this came up in a thread in the SR4 forum. I had tooled around with making some real-time chatting software that would eventually include online tools for SR4 gaming like an integrated die roller and character record system or, if I get really ambitious, an online character generator (thus, cross platform, too).

I see this as being both a handy tool for people who want to a real-time chat based game or for those, like myself, who use skype or other voice chatting system for the majority of the gaming experience but might also like the ability to send private and/or public messages to people as necessary.

Like other community projects here at the DSF, this thread can be used to post questions, comments, bug reports, etc. I'll be using this first post to enumerate plans, open tickets, etc. so that people can get a sense of where I'm at with the system.

Thus, here's the road map towards a beta (i.e. working) release. Struck through items are complete.
  1. Working game creation and joining system with password protection.
  2. Public chat between game masters and players.
  3. Private chat either from GM to player (and vice versa) or between two players.
  4. The exiting and saving of games in the archive and subsequent access to the archives by appropriate parties.
  5. The automatic closing of a game after an appropriate quanta of inactive time.
  6. The automatic removal of game archives after an appropraite quanta of time probably not less than 14 days.
My goal is to have a beta by Saturday (November 3rd).

Extended plans for a 1.0 release include primarily the integration of an online die roller to the public and private chats to facilitate online play as well as an account system for GMs and players to manage a game over multiple sessions as well as maintain archives and other information over a longer term. Looking even further forward, a 2.0 release will include the character record system so that players and GMs can store information about characters within the ShadowNet system for reference during a game.

Other ideas can be incorporated as time goes on. Like I said, I don't at this time intend on producing an online PHP/MySQL/JavaScript character generator as a part of ShadowNet, but if after all the other work is done and stable it's something the community would want, I might be persuaded to give it a shot. Especially since so many of the other generators are focused on Windows, the benefit of an online generator would be it's accessibility to a variety of platforms and systems. But, for now, such a project is outside the scope of what ShadowNet is intended to be.

I will update this post as I work. Feel free to visit the ShadowNet site. There's not much there as of this posting other than the basic information and the game creation/joining code, but I expect I'll get maybe #2 and #3 done tonight or tomorrow and 3-6 aren't going to take too much time at all.
DireRadiant
Re Character Generators. If you start with the ability to upload and display a standard output format, then any character generator that supports that output format can be used to create a character, and that output uploaded and displayed during that game session. All you need to track then are the associations between (versions) of character files, players and game session.
Dashifen
I agree, though I'm not sure such a consistent format for an SR4 character has been developed. In SR3, the defacto format was McMackie's, but if I were to do something, the output would probably be either well-formated XML or a serialized WDDX object. Regardless, that's for the future.

If nothing else, I wouldn't really want to start work on a generator until after Arsenal and Unwired so that the majority of the rules would be in print and, hopefully, nothing too shocking would come down from on high that would force major re-writing to be necessary. I was building a generator based on SR4 and Street Magic, but I didn't know of or foresee the different nanoware and genetech in Aug which slowed me down. Now I think it's better just to wait on all the other books and get this project out the door. It's far less ambitious, too, which is nice because actually reaching goals makes me feel all warm and fuzzy.
Smilin_Jack
Ohh... shiny.

With that I could run a game anywhere and post links to maps and images instead fumbling around with either IRC or Fantasy Grounds.

I like this idea.

Edit:

I like it even more now that I've read you're enabling password protection on game logs if the GM creates the session with a PW, not out of the concern that someone may steal my material - but from the fact that our games sometimes deal with mature material that may be inappropriate for youngsters.



DireRadiant
The only requirement you need to start with for the format is that it display in a browser. In the end regardless fo the character generator used, for the ShadowNet it is only required that it be able to be displayed to the GM and other players as appropriate.

Even when I use one of the spread sheet character generators for SR4 I ultimately export/Copy it to *.txt and use that for my actual in game reference.
Dashifen
QUOTE (Smilin_Jack)
Ohh... shiny.

With that I could run a game anywhere and post links to maps and images instead fumbling around with either IRC or Fantasy Grounds.

I like this idea.

Edit:

I like it even more now that I've read you're enabling password protection on game logs if the GM creates the session with a PW, not out of the concern that someone may steal my material - but from the fact that our games sometimes deal with mature material that may be inappropriate for youngsters.

Your idea of links gives me another idea: a basic, wiki-like mark up to style the information on screen. I might even be able to use BBCode (what you use to style posts here on the forum) to do so which would give the basic ability to bold, italicize, underline, and link text.

Also, that was my thinking for the password, too. If your a GM that doesn't expect to have any mature themes, etc. I don't think the general internet public is going to get bent out of shape by curse words, etc., but some of the more .... interesting .... themes of SR could be a bit much for some folk. Throwing a password on a game and/or session would also make sure that any old schmuck who happens to come visit the site can't log into a game and start spamming.

@DireRadiant:
More than likely, display in a browser would be end result of something I'd do. Most easy would be an (X)HTML page and accompanying CSS to effectively display the information. Most portable would be XML or even ASCII text as you indicate above.
Smilin_Jack
Hey Dashifen...

I know your chat software isn't ready yet - but when I went to go look at the site again, I noticed that your name (ie. Dashifen) is auto populating in the 'Your Name' field in the 'Start a New Session' section.

Method
Dashifen,

As I mentioned in the other thread, this would be tremendously useful to my group (and many others I'm sure). I have absolutely nothing to offer toward the effort, because I know nothing about programing software, but if there is anything else I could help with I'd be happy to.

Some thoughts (please note I have no idea how difficult/easy these would be to integrate into your tool):

1.) as far as archiving games: could you set it up such that the logs are emailed in text format to the GM after the end of each session? That would allow the GM to distribute the logs to players or save them indeffinately, plus you wouldn't have to store them.

2.) could it be set up to PM images? that would be very handy as well.

Anyway, thanks for your efforts. I'm looking forward to seeing how it all turns out.

Method

Dashifen
@Smiling_Jack: Thanks. And, it is ready. I just haven't uploaded it yet because I've been away from home for most of the weekend.

@Method:

1. Sounds like a good preference for a GM to choose: archives online or archives sent in an email.

2. I'll have to think about that. Right now the PM windows are small compared to the larger chat interface and they're not set up to do anything other than text. You could send a link to someone else and they could click it to see an image, but that's the best I got right now. I'll think about actually sending images and/or files to people and it might show up eventually.

----------------

Archives aren't done, but I could use a few people to try out the chat. Especially in Safari 2.x. I can't get it working in Safari 3 yet and I don't know why, but I don't have access to any earlier versions of Safari.

Feel free to either start or join existing games. Do what ever you want to try and see what you can do. If you run into problems, I need three pieces of information from you:

1. Your Browser (with version)
2. Your Platform (Mac, Windows, Linux)
3. Describe the problem!

Error messages should appear on-screen whenever possible, so if there's an error message, post that here, too.
Method
I'm running safari 2.0.4 on OS X 10.4.10.

All the web interface stuff works great.

I am able to start a session and log on, but when I try to post text it does not appear in the chat window. The text appears as I type in the entry feild, but when I hit send or enter it looks like the page refreshes and the text is gone. Same deal with the PM (although that might be because there is noone else to PM).

I get no error message.
Dashifen
That's the same thing that's happening in Safari 3. Damnit. Okay. At least I know it's happening in both places which leads me to hope that if I can get it to work in v3 tonight when I get home, it has a high probability of working in 2. Unfortunately, there's not much in the way of debugging information provided by Safari and it appears to me as if the JavaScript isn't working at all in either version. Stupid Internet.
Dashifen
@Method: Can you check again? It's working in Safari 3.x now as far as I can tell. Let me know what it's like in 2.x. It'll work the best if you open two different browsers (like Safari and Firefox) and then you should be able to chat between both browsers.
Method
@ Dashifen:

Safari 2.0: Tried it again. Seems to be the same- i.e. no messages appear after I hit the post button. Also, messages I attempt to post with Safari do not appear on Firefox.

Firefox 1.5.0.9: Seems to work. I was able to post messages to the main chat and send PMs to a second "player". I noticed that I needed to refresh each time I posted a message though. Is that due to some setting on my computer?

Also, is there a way to "log off" a player?
Dashifen
Hrm .... I wonder if it is your computer. There should be no refreshing necessary at this point. 'Course, I'm working in Firefox 2.0.0.9 (current version) and you're way down there at 1.5.0.9 at the moment. I'll try to snag that version and see what happens.

As for logging off, no there's not at this time. Eventually, I'll be replacing the menu with some game specific and useful things (like log off and, for the GM, end game) and I'll also be setting it up so that if you're kicked off (i.e., your connection fails) logging back in is as simply as entering the same name as you used to have when you get back online.
DireRadiant
Looks nice Dash.

Some quick comments

- Looks like a lot of repeats of game names in the select game ddl, not sure if this is because it's ok to have non unique names, or it's an actual bug.
- Do you need to refresh to see received messages?
- Name of the game needs to appear somewhere otherwise I don't know what game I'm in.
- Screen real estate, when in a chat game with lots of windows, probably want the header and border sections minimal.
Method
Back again...

Firefox 1.5.0.9 (yes its old... I don't use it much): seems to be fixed. No refreshing needed. Messages appear as soon as posted.

Safari 2.0: new error message

QUOTE (Error Message)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY timestamp' at line 1

Query: SELECT member_from, name, chatline, chatline_id FROM sessions_chat INNER JOIN sessions_members ON member_id = member_from WHERE sessions_chat.session_id = ORDER BY timestamp


To clarify: this appears when I try to join a previously opened game or when I try to open a new game. The previously opened game can be joined in Firefox.

Any ideas?
DireRadiant
Got an error whan attempting a refresh , probably after browser session timed out,

Same here.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY timestamp' at line 1 Query: SELECT member_from, name, chatline, chatline_id FROM sessions_chat INNER JOIN sessions_members ON member_id = member_from WHERE sessions_chat.session_id = ORDER BY timestamp

SQL is bad, looks a Null parameter passed into the sessions_chat.session_id variable.

most likely refreshing after a session timeout and therefore no session_id
Method
@DireRadiant:

Does that mean the game session timedout or the player? I can join the same session in Firefox so I'm not sure.

What browser are you using?
DireRadiant
Firefox 2.0.0.9 or IE 6 or IE 7 depending on where I'm browsing from. I'm pretty sure I got the error in Firefox.
DireRadiant
Join the "Debug" session, and we can all chat with each other and really break the app.

Talking to myself is just craaaazy.
Dashifen
QUOTE (DireRadiant)
- Looks like a lot of repeats of game names in the select game ddl, not sure if this is because it's ok to have non unique names, or it's an actual bug.
- Do you need to refresh to see received messages?
- Name of the game needs to appear somewhere otherwise I don't know what game I'm in.
- Screen real estate, when in a chat game with lots of windows, probably want the header and border sections minimal.

1. That's because they're non-unique at this point. Eventually, when a game is closed, it'll drop off the list. I'd prefer to avoid forcing unique game names just in case two people randomly actually choose the same name. Hopefully it won't be at the same time. Eventually, I'll have a cron job on my server cleaning up old games that haven't been updated in X minutes which will auto-close games that are open, but that's down the line. I'm worried more about the chat features now since they're the bread and butter.

2. You shouldn't no. I don't in IE6, IE7, Firefox 2.0.0.9, Opera 9.24, and Safari 3.0.3. Frankly, I probably can't go too far back in versions if only because eventually the JavaScript engine for each browser will lose the ability to be performing the necessary work.

3. Good call. I can do that.

4. Yup. Eventually, the screen will be different while in a game. It'll have the name (like you suggested) a tiny header and the footer might just go away with the exception of the necessary legal stuff.

------------

The SQL errors do look like a time out of the game session. I'll extend the PHP session timeout limit to be an obscene amount of time (like four hours) for game sessions. That way you shouldn't get timed out unless you're inactive for four hours.

However, it's concerning that Firefox was able to open an old game and was fine and Safari wasn't. I wonder if your Safari session timed out while you were messing with Firefox. That's the best I got.

Regardless, it's an important thing to fix. I'll find the SQL that's showing the error message and catch the problem before it craps all over the screen. Then, at least, I can take people to a page that explains the problem and let's the reconnect to their game if I can't mess with the PHP session timing (stupid shared hosting).
Dashifen
BUG NOTE:

When adding PM windows as players log in, each new PM window is not hooked into the javascript code. That's what you ran into, Simon, when trying to send me a message when I logged in and what happened to me when RedJack showed up.
Simon May
Aha! The plot thickens.
eidolon
Suggestion for layout:

Make the individual player-GM chats horizontal and stacked, rather than little square boxes. Also, might consider losing some of the wasted space at the sides, and maybe shrinking logo and fluff/disclaimer areas down to make more room for the functional stuff.

Looks pretty sweet though.
Dashifen
That's all in the works. The plan is to investigate the possibilty of a tabbed interface for the right hand side of the chatroom. Then, on the right hand side, private chats, images, and character info could all be shown depending on the tab chosen.

I will be exapanding the chatroom interface, now that I know chatting works pretty well, to probably 99% of the screen so there's a small border for aesthetics. It's currently at 80%, if I remember correctly, so that'll add on not a small amount of space. The menu will disappear but I'll probably leave the site name and the logo at the top for consistency.

The footer will shrink probably to the disclaimer but in really tiny font.
Cthulhudreams
UI pointer that might be fairly easy to implement. Indicating password protected games clearly in the drop down menu (making them in italics, putting the familiar padlock symbol in, both?) would be really useful - it would save me attempting to join a bunch of games that I cannot.

Leaving your name populated in the 'name' field between connection attempts might also be nice.

More complex game mode: Allowing people to enable 'spectators' that can join a PW protected game without a PW and not chat.

Dashifen
1. I can probably put a padlock icon next to the password protected games. I suspect that most of them will be to avoid freeloaders in a game session.

2. Good idea.

3. Interesting. I'll make a note of it but it won't be part of the initial release.

I chatted with a number of folks yesterday in the interface and it worked pretty well, barring the BUG NOTE I made above. I'm pretty confident that it's working somewhat in most modern browsers.

I do suggest, however, that you hard-refresh (hold the SHIFT key and refresh) so that you get the most recent version of the javascript and code when you visit a page. I think that's what Method ran into yesterday when Firefox just suddenly started working for him.
Gelare
I don't have debug reports or feature requests, and I could probably crash my computer with an alpha version of Notepad. But this does look awesome, so consider this a healthy dose of encouragement! *thumbs up*
Dashifen
Thanks, Gelare biggrin.gif
Method
So am I the only one that is having issues with Safari 2.0?

If so, can somebody post about what settings they are using so I can figure out what my issue is?

Thanks!! wink.gif
Dashifen
I'm sorry, Method. I didn't realize Safari 2 was still a problem, I thought it came along when I got it working for Safari 3. On a Mac Safari 3 is Leopard only, right?
DireRadiant
Does Safari 2 have the same version of javascript and whatever else is needed, like ajax as the other browsers?
Method
QUOTE (Dashifen)
On a Mac Safari 3 is Leopard only, right?

I think so. I'm hoping to upgrade soon. I have to convince my wife its worth the money...
DireRadiant
QUOTE (Dashifen)
I'm sorry, Method. I didn't realize Safari 2 was still a problem, I thought it came along when I got it working for Safari 3. On a Mac Safari 3 is Leopard only, right?

I think I see some issues on the other side of the conversation where I have to force a refresh to see Methods chat.
Adam
QUOTE (Dashifen)
I'm sorry, Method. I didn't realize Safari 2 was still a problem, I thought it came along when I got it working for Safari 3. On a Mac Safari 3 is Leopard only, right?

OS X 10.4.9 and Windows XP/Vista users can still grab the Safari 3 beta: http://www.apple.com/safari/download/
Dashifen
Thanks, Adam. The Safari 3.0.3 (is it beta, I thought it wasn't) is all I have to test with lacking a Mac. I brought my development machine with me to work today where we have a Mac on 10.4 so I can get my hands on Safari 2 and give it a whirl. I'll see what I can figure out.
Cthulhudreams
QUOTE (Dashifen @ Nov 8 2007, 10:57 AM)
1. I can probably put a padlock icon next to the password protected games.  I suspect that most of them will be to avoid freeloaders in a game session.

You're probably right. I just got irritated with their being 5 games with the same name in the test some with passwords and some without wink.gif

and another suggestion, a 'lobby' (functionally just a game room sponsored by yourself called.. lobby) might be a hit, people can shoot the breeze. I know IRC already exists for this, but lots of people are allergic to IRC and a web based AJAXified thing is probably user friendlier. I've already created one (lets see if anyone uses it lol) but i see 'timeout if inactive' is on your list of things to do.
Adam
QUOTE (Dashifen)
Thanks, Adam. The Safari 3.0.3 (is it beta, I thought it wasn't) is all I have to test with lacking a Mac.

I believe that 3.0.3 is the last beta; the version I have in the retail version of Leopard [HOT LIKE BURNING AWESOME!] is 3.0.4.
Dashifen
A lobby may not be the worst idea. I think about it.
Method
Thanks, Adam.
Dashifen
So I've written the code to auto-close games that are not actively being run. I haven't set up the necessary cron jobs on the server, but I should be able to do some of that this evening.

@Method: I've been working in Safari 2 and I can't even get it to run the javascript for the chatroom interface. I've posted to the google group for the framework that I'm using to assist both with the code and the AJAX (prototype, for the curious) and we'll see if anyone out there in the Intartubes can help us out. If not, it might be an unfortunate limitation for Safari 2. I doubt that's the case, so hopefully someone Out There ™ will know what's going on.
Method
Thanks, Dashifen. I actually upgraded to 3.0 Beta using the link Adam posted, and the chat works great now.

I guess its just good to know about the problem for the future, in case you get others using Safari 2.0. My wife still has 2.0 on her Mac, so let me know if you want me test any changes you make in the future.
Dashifen
Cool. I'll finish up the game log system and probably call it in beta then, with a known problem for Safari 2 users. With any luck the user group for the framework will come through with a suggestion for what's happening.
Adam
FYI, a patch for OSX 10.4.11 came out today and it upgrades Safari to version 3 for Tiger users, too. I haven't finished installing it yet on my still-Tiger production machine, but this is good news to ease the compatibility problems [or, rather, reduce the number of people using Safari 2.0 ...]
Dashifen
Actually, I have a general policy not to worry too much about previous versions of software when the software vendor has released patches, hotfixes, upgrades, etc. in a way that the average person can install them. Judging from this, I may just not worry about Safari 2 for this project at this time.
Method
And when it comes right down to it, the chat runs beautifully on Firefox which is free so anyone can access it if they really want to. smile.gif
Dashifen
True, but I'd prefer not to "require" Firefox if I don't have to. Since I'm Linux/UNIX illiterate, I hope it works in Konquerer or whatever the hell GNOME uses if it isn't Firefox, but FF is always the default option.
Redjack
Chat window text does not echo in Konquerer.

I'd stick with Firefox. Works on all operating systems.
Dashifen
It must be a WebKit thing, since I think Safari 2 and Konquerer both use WebKit 2 while Safari 3 is using WebKit 3.
Method
Dashifen,

So I had a couple random thoughts while I was driving half way across the country to eat turkey...

- would it be possible to add another open chat for OOC conversations or game mechanics? This would allow the kind of IC/OOC separation that people use on PBP forums like Dumpshock (for example).

- I think at one point tabs might have been suggested for the main chat, PMs etc. If so I was thinking it might be cool to have a "Notes" tab or something similar that all the players can view but only the GM can post to. Then the GM can post NPC descriptions, important game notes, or FAQ type stuff for his game.

Anyway, hope you had a great turkey day.

-Method
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Dumpshock Forums © 2001-2012