|
Post by Nerissa on Mar 27, 2008 9:11:20 GMT -5
This thread is for discussion of the overall setup, the design of the login / lobby area, and anything that is related to the project overall but not to any particular game.
|
|
|
Post by Nerissa on Mar 30, 2008 18:08:14 GMT -5
Copied from PA thread: Richy Stare into my dreamy eyes Richy's Avatar Location: True North Strong & Free
Richy is offline
Old 03-20-2008, 09:29 PM | Idea up for debate:
I think the system should work like Facebook's Scrabulous games. Players log in when they have time and play their turns in the games they have going on. Since we're a very diverse group, living in different time zones all over the world and with different family and professional obligations, I think this would be most convenient for everyone.
The alternative of course is a real-time system, which requires that all players be logged in and play the game at the same time. The advantage of that system is that the games are played right away, when you feel like playing, and are not dragged on for weeks or months. But that advantage can be replicated in the Scrabulous model, if all players are logged in at the same time.
| JamesKeenan Hamstr: King of Gerbils JamesKeenan's Avatar Location: Gerbils.
JamesKeenan is offline
Old 03-20-2008, 09:48 PM | The only issue with Scrabulous's system is that is lacks any real-time streaming of info to alert all present parties a turn has been taken. Address that issue and it'll be like any online version of Chess, cards, etc. and still be viable for longterm games like first suggested.
| cyphr cyphr's Avatar Location: OSU
cyphr is offline
Old 03-20-2008, 10:39 PM
| JamesKeenan, as long as the server maintains a list of "subscribed" clients, it's trivial to push a message to the clients (with email fallback or something if they're not online).
RiemannLives - I don't really think there will be a money investment, unless Nerissa is secretly the founder of your employer and wants to pay us all to do this
Also, you're right that WPF is the new hotness (and we could use LINQ! glee!), but it's worth considering that that limits participants to the Windows platform. I'm not sure how many Mac/Linux folks we have here but it seems to me that for a hobbyist project like this, keeping the end product as open and portable as possible would be nice. | Nerissa Gone Crazy, Back Later Nerissa's Avatar Location: Xanth
Nerissa is online now
Old 03-21-2008, 03:44 PM |
Something to think about...
What do you all think about including a PayPal link in whatever "lobby" or "home page" area we end up with to donate to whoever ends up running the servers?
That way, one person isn't stuck with paying for the bandwidth and such all by themselves, and people can donate whatever they feel they can afford. | jothki jothki's Avatar
jothki is online now
Old 03-22-2008, 03:59 PM |
Hmm, I'm about to finish a computer science degree and I have way too much free time. This could be good experience, I might be up for it.
Is the idea now to create a standalone engine that can run script-based games, or to create a library that would handle the functionality that a board game would require? | Nerissa Gone Crazy, Back Later Nerissa's Avatar Location: Xanth
Nerissa is offline
Old 03-25-2008, 05:30 PM |
Well, I do think that at some point we need to discuss it, and now is as good a time as any. I don't want to just come out and say "this is how I think it should be so this is how we're going to do it"
My ideas, though, are as follows:
(1) Make it as modular as possible... we don't want the overall structure to break when new games are added, and creating shared tools will make future development go faster.
(2) Registration / sign in required, obviously, and signing in will take you to some sort of game menu
(3) Games should be able to be started "open" (will accept anyone who joins) or "invite only" (if you make specific plans to play chess with me, one of us will start the game and invite the other). Open games should show who is currently in that game.
(4) Some sort of leader board should probably be maintained for various games
(5) Eventually, I'd like to see the opportunity to set up a tournament bracket that automatically updates the winners / losers and moves them along appropriately
(6) An IRC-type chat area would be nice but by no means necessary. A quick "shout out" box might be nice.
(7) Turns should be able to be returned real-time, but also should be able to take several days to get back to.
(8) I already have some plans laid out for assigning project IDs, etc. but I think it's too soon for that level of detail.
Anything else anyone would like to suggest on that front? | jothki jothki's Avatar
jothki is offline
Old 03-25-2008, 05:50 PM |
Nerissa wrote: View Post (6) An IRC-type chat area would be nice but by no means necessary. A quick "shout out" box might be nice. That'd be easy enough for the individual games to handle, as well as for the server for a waiting room. A shared tool to manage that could be useful.
We need to decide early on how much role a master server would have. Would all clients constantly stay connected to it, or would it just serve as a matchmaker for largely independent game servers that the client ignores when it's connected to a game?
I'd prefer to have the game servers be completely independent from the matchmaking servers, but that could just be because it would be a hell of a lot easier to design. Games could simply broadcast their status and possibly information about the players to one or more matchmaking servers, and the matchmaking servers would provide an interface allowing waiting clients to see what games the server knows about and what their status is, and inform the client how to connect to the server that they chose. You could also rig it so that clients could send chat into a game from the matchmaker, and the game could broadcast replies back. Reply With Quote | Nerissa Gone Crazy, Back Later Nerissa's Avatar Location: Xanth
Nerissa is offline
Old 03-26-2008, 09:09 AM |
Proto wrote: View Post Nerissa wrote: View Post The other thing that everyone is glossing over, by the by, is login / lobby area / tying it all together bit.
I suspect one (small) team will be working on that while others are working on the first actual game(s), and while much less fun, it's pretty necessary. Has it been decided whether we are going software or web-based for this whole thing?
Web adds a bunch more complexity, but makes updates way easier to do. I like web, both because of updates and because that makes it platform-independent, and I don't know how many *nix / Mac people we have around, but I'm sure we don't want to do 3 different versions of everything. I'm actually thinking applets are the way to go, unless someone knows a good reason not to do it that way.
BTW, I actually have 2 reasons for expecting a smaller team on the lobby stuff than the games. First, I suspect that particular team will have to be working even more closely together than a game team, since there are fewer logical divisions of functionality, and second because I suspect fewer people are going to actually WANT to work on that part of the project. Whenever possible, I hope to have people working on projects they actually want to work on.
Personally, I want to work on ALL of them, but that's not really possible. I'm expecting to put myself on the lobby team unless we get a lot of people who actually want to work on that. | | | | | | |
|
|
|
Post by Nerissa on Mar 31, 2008 11:34:44 GMT -5
Guys, as un-glamorous as this part is, none of the other projects can really be started until we make some headway here.
I think we need a minimum of 3 things out of this part:
(1) a registration / profile / login system (profiles should include win/loss/draw stats on each game available)
(2) a way to select a game / match up players
(3) shared tools for the designers of the games to use to interact with the "lobby" part
Once that is all taken care of, I would personally like to see:
(4) A "leader board" for each game, showing the top 10 (?) players and their win/loss/draw numbers
(5) A tournament bracket tool. At first, it should be just updated manually, but able to display the tournament brackets and current status. Once that is completed, I'd like to see it register the games played for the tournament automatically and advance the appropriate players to the next round. This means that starting the games should include the option for the player creating it to determine if it is a tournament game, and which of all currently running tournaments it belongs to (on the off chance that the same 2 people are matched up in 2 simultaneous tournaments for the same game).
What would be REALLY cool would be the ability to create a sort of "triathlon" tournament, where round 1 is (for example) backgammon, round 2 is chess, etc.
Thoughts? Volunteers?
It's time to start getting into details now.
|
|
richy
New Member
Posts: 13
|
Post by richy on Mar 31, 2008 15:10:52 GMT -5
Well the way to "interact" with the lobby is fairly straightforward IMO. From the lobby, you "start a game" by calling the game's constructor function with the list of players in argument. From the game, you "update the score" by having the end-game function return the game's name and a -1/0/1 value which represents lose/draw/win respectively. The lobby receives these values and updates the correct game's stats in the player's table in the DB.
This way, each team is free to develop their game in their own way, provided they follow these two simple directives.
|
|
|
Post by Nerissa on Apr 7, 2008 11:23:17 GMT -5
My thoughts on registration / login. First off, we need a basic registration system -- enter your e-mail address, create a username, have it check for dupes and then mail out a randomly-generated password. Do we want to require anything else before creating an account? PA forum name? age / birthdate, or just an "I'm at least 13" check box? (I'm assuming we want to at least try to limit it to >13 for legal reasons) Then we need a way for profiles to be edited. At bare minimum we will need to be able to change passwords and configure whether to display the e-mail address. I'd like to be able to include time zone, any number of IM handles, and whatever else makes a useful profile. Also, we need to consider how passwords are going to be stored. I don't know if it still does, but back when I was working with UBB, it stored passwords in clear text, just a single text file for each user. I think we can do better than that. At minimum, we could do a one-way encryption where the password is encrypted before storing and then what is typed in gets encrypted the same way and compared to what is stored. Unfortunately, that would mean that a lost password would have to be just reset to some random string rather than retrieved, but I think we can deal with that. We'll need some sort of session management to determine whether a person is currently logged in or not. Finally, we need to be able to display a list of users, whether they are currently logged in... then be able to click on any of them and get their profile displayed, including what game(s) they are currently playing (maybe with whom?), etc.. Potentially, we could limit to only online users, or give the option to do so. One thing about the session management... I'm going to use chess as an example, even though apparently nobody wants to implement it. If I start a chess game with someone and then go back to the lobby and log out (assuming the game is in its own window / tab), should I be able to continue making moves in my game until I close it, or should I need to be logged in to be able to make a move? In other words, should we require the games to always check session status before accepting input? I guess what I'm really trying to get to is whether the login session / lobby should be a controlling factor in the games, or simply a launching point where you have to be logged in to join a game or to continue a "paused" game, but not to actually play it. Do all players need to be logged in to start the game? Do they need to acknowledge that they want to be in the game? (Note, some of this isn't going to apply to the Phalla stuff, but I don't think the "sign up" model will work for most of the other games)
|
|