I'm looking into adding sounds to the game as well, and I wrote a post about this in the Serpentine forum. I'd like peoples' opinions on what they'd like for game sounds, and if possible, the actual sound clips themselves.
Paco and some of the other tanglers will probably plateau around 3000 to 4000 and never get any higher, which is alright. Once they get up there, normal folk like you and me will have a much easier time of it. I hope your frustrations aren't causing you guys to leave the site. But if you are considering, send me an email and I'll talk you down ;)
Update much later: You may have noticed the server is back up, well that's because I forgot to update this entry.
Major updatage of the ratings system.
Sometime soon I will be changing the ratings algorithm in a major way. It will be simpler, more volatile, and there will be a more direct connection between your rating, your score, and the ratings and scores of the others you play with. I won't get into the exact algorithm currently used, it is too convoluted, but I will talk about the new one, and how you can calculate it...
Let us say there are three people playing in a room. After a game, but before recalculating their ratings, they have the following ratings and scores:
Name | Score | Rating |
---|---|---|
Adam | 40 | 1100 |
Alex | 90 | 1600 |
Jenny | 70 | 1300 |
Based on their score and rating, and the respective scores and of the others in the room, each player gets an "expected" score. This is the score that they need to get in order to have their ratings stay the same. If their actual score is greater than their expected score, their ratings will go up, otherwise their ratings will go down. Expected Scores are calculated by dividing the sum of scores (40+90+70=200) by the sum of ratings (1100+1600+1300=4000). The resulting quotient, .05, is multiplied by each person's current rating (i.e. 1100 x .05) to get their expected score. Here's a table...
Name | Expected Score | Score |
---|---|---|
Adam | 55 | 40 |
Alex | 80 | 90 |
Jenny | 65 | 70 |
You can see here that both Alex and Jenny did better than expected, but poor Adam did worse. Therefore, we know that both Alex's and Jenny's ratings will go up, but Adam's will go down. But, how much?
Here is where things get a bit tricky. There is no one perfect way of determining how much their ratings change, because it is mostly arbitrary. It is simply a matter of making up some rules for what the maximum amount of change per game will be, and how much over or under the expected score the player has to be in order to get that maximum. In our case, I've decided that the maximum change in points one can get per game is 16 (the current number), and in order to get +/- 16 points per game you either have to get a score that is 75% greater than expected or 75% worse than expected. For example, Jenny's expected score is 65 points. But if she get's 75% greater than that (or 1.75 x 65), which is 114, then her rating will improve by 16 points. However, if she get's 75% worse than expected (or .25 x 65), which is 16, then her rating will decrease by 16 points. Anywhere from 25% of the expected score to 175% the expected score will bring a range of -16 to +16 points. If you fall outside of that range, your rating will be limited to the maximum change (+/- 16). Also, there is a mimimum allowable rating of 100 and a maximum of 9999, so players will never exceed those amounts.
Let's look at how the players' ratings changed:
Name | Expected Score | Score | Old Rating | New Rating |
---|---|---|---|---|
Adam | 55 | 40 | 1100 | 1096 |
Alex | 80 | 90 | 1600 | 1602 |
Jenny | 65 | 70 | 1300 | 1301 |
I hope this will help you all understand how things are going to change. If you have any questions, shoot me an email and I'll do my best to answer. This new algorithm won't come into effect until probably tomorrow morning.
Update: Back up! (9:41 EST)
Here are the changes you can expect to see:
This system seems to be working reasonably well. However, because so many current players are old pros from the tangleword days, there are players that should have 3000+ ratings (according to their scores), but are still stuck down in the 1600s. In my opinion, the ratings system is about accurately measuring the abilities of a person relative to the other players in the room. And it could be doing a better job.
The alternative rating system I'm thinking about is (I believe) based on the tangleword approach. Add each score in a room, then add each rating in the room, then divide the sum of the scores by the sum of the ratings. Then to get each person's "expected" score, multiply that quotient by each person's rating. If a person's score is higher than this expected score, it goes up, and it goes down if it is lower. Indeed, this seems like a good plan and ratings are directly tied to relative scores, which is a good thing. I'm still mulling over whether I want to make the change, but it could happen. If it does, then ratings will become MUCH more volatile than they currently are. Some people will go way up and some will go way down. But it will be fair.
Edit:
The game server is back up.
Here are the changes since last time:
In forum news, Alex is working hard and he's shown me some previews: they look great! I can't wait to get that up and live for you guys because you're going to love it!
Update:
The game is back up. Here are the changes for today:
I made a few changes to the site this morning as well:
Since the server crashed last night, I was able to find the culprit: python's _mysql module. Not that the module itself was to blame, no, it was more my ignorance. Apparently, a mysql connection cannot be used between threads, which is something I'm pretty sure I was doing. The result is that I've made some changes that should make the mysql calls thread safe (I hope). I'm pretty new to threaded python programming, so there will probably be a few more bumps along the way, but things will eventually get better.
I don't currently have any plans to make money off of Cobra Dragon Games, but I've put up a paypal "Donate" button on the homepage so that people could donate money in support of the site if they wish. Running this site is not free for me, but don't feel obligated to make a donation unless you want to. I just wanted to put the option out there for the people that do. FYI, there is no set amount, so you can donate ten cents or ten dollars, it is entirely up to you.
In other news, we've had a pretty good influx of players in the past day or so. Welcome everyone! I understand that everyone misses mousing and board rotating in Serpentine, and I will make an effort to at least put in board rotating. I can't promise mousing, but I'll take a look at how hard it would be to do.
I've taken some recommendations to heart and have switched up the room system a bit to incorporate the suggestions. Let me know how you feel about the changes!
NOTE: As of today my nickname is "adamplumb" instead of "Atticus" so people can know who I am more easily.
In addition, I've added a "Your Stats" table to your account information so that you can see your game information in one place. When more games are added, this will be more useful. I'm also thinking about adding more types of stats.
Finally, I've been needing to write a remote client that I can use to control the server, and today I made my first steps to do so.
There were some changes that I'd like to mention:
The big thing right now that I want people to watch out for is the ratings system. Yeah it works, but it's pretty experimental, and I'm going to be tweaking it for a while to try to get it just right. The purpose of the ratings system is really to show you how you stack up against others, and to make it so really experienced players can't go into the beginner room(s) and tear the place up. I have a plan to separate ratings up into groups, like beginner, intermediate, and advanced, but I'm thinking of giving the group names a more snakey/dragony theme. Suggestions are always appreciated!
Finally, I started some initial planning/work on the next game hopefully coming to the site, called Hiss. It's a play on the real name (that I heard of through jenny), Boo. The idea of the game is you have a few players in a match. The first player starts with a single letter, then the next player has to add a letter to that, and so on. Then it goes around and around until they've either created an invalid word or completed a valid word (and there are no more valid words). It should be quite fun, and will let me set up some new server logic for creating/joining matches that I didn't have to do for Serpentine.
You may be wondering about the bizarre snakey-type names on this site. What started out as an inside joke between my girlfriend, Jenny, and I, has blossomed into a full-on obsession with the Cobra Dragon theme. Hence the name of the site, and the name of my first game: Serpentine.
The rules of Serpentine are exactly as you may or may not remember them from Tangleword. There is a 4x4 (or 5x5) sized board of random letters. You, as the player, must find as many valid words from consecutive letters (side-to-side or diagonal touching) as possible. Each word must be at least three letters, for which you get one point. Each additional letter beyond three will net you an extra point (i.e. a five letter word gets you 3 points). In addition, if you are the first person to get a certain word, you get a one point bonus! The game runs in roughly two minute rounds, with a short intermission between rounds. Furthermore, I've also carried over the ratings system from playsite.com, such that each player starts with a rating of 1200, and that rating will increase or decrease based on your score and rating relative to the other players in the room.
One final thing I wanted to mention is that Serpentine is the first of what I hope are many games to come. I have a real fondness for multiplayer puzzle/word/card games, and you can expect these to show up as I make them.