Premium Accounts
Get extra features and no ads!

Serpentine Blog

Client-side Bug-fix update - By: Adam Plumb - 16.2 years ago
Today was mostly a fix for some issues that cropped up from the major update on sunday morning. Here is a list:
  • Word chart now gets reset to zero every round
  • Removed some wasted white space above the game board
  • Changed "Words others got" wording to "Words everyone got"
  • Sometimes, if you ejected yourself from the game and came back, it would show an old game board, and wouldn't update until the next round. This is fixed.
I'm debating with myself whether or not to to rework the site's rating system. Currently, I'm using a somewhat hacked apart version of the standard chess rating system. Each person in a round has their rating measured against everyone else in the room to see how they are expected to do (win/lose on a sliding scale of 0 to 1), then their respective scores are compared in order to see how to did. If their score is higher than expected, their rating goes up. However, if their score is lower than expected, their rating goes down.

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.

SUNDAY AFTERNOON UPDATE - By: Adam Plumb - 16.2 years ago
Currently down for an update, should be up soon. (2:23 EST)

Edit:

The game server is back up.

Here are the changes since last time:

  • There is now a word chart that shows how many words of differing letters there are
  • The "Words Others Got" list is now sorted in order of largest to smallest
  • Mousing is changed and hopefully improved. The new action is to click on the first letter of a word, mouse over the word, then click on the last letter to send the word. It also now keeps the word that you're working on highlighted.
  • Improved the efficiency of the chat window, hopefully removed some bugs
  • Ratings are now a bit more volatile for players with a lot of games.
  • Tweaked some rules for some of the rooms
I just want to mention that Paco is our first 1700+ player! My hope with increasing the rating volatility is less for a guy like Paco who is going to do great anyway, but more for the medium-level people that don't get enough sensitivity in their rating changes.

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!

FRIDAY MORNING UPDATE (Done) - By: Adam Plumb - 16.2 years ago
The game is currently down for an update. Stay tuned!

Update:

The game is back up. Here are the changes for today:

  • Now keeping some statistics about players and words. You can see the current reports by clicking on the stats links on the homepage or the lobby pages
  • Now, when you rotate the board, the word entry box is immediately focused.
  • Now, at the end of each round the chat entry is focused. At the beginning, the word entry is focused
  • Added two new Serpentine Rooms! One is a 5x5, 5 letter-min board, the other is a 4x4, 3 letter-min quick round (30s each)
  • Various small tweaks on the server
Big Email Mishap - By: Adam Plumb - 16.2 years ago
hey everyone, So this morning I realized that I had never forwarded the new adam@cobradragon.com and beastmaster@cobradragon.com emails to my normal email address. The result is that I've gotten about 75+ emails over the past couple weeks that have gone unanswered. I've tried answering most of them, but if you still haven't received a reply then please send me another email and I promise I will get back to you.
Very possibly over the hump. - By: Adam Plumb - 16.2 years ago
After several days of working on different solutions, I think the constant crashes are finally over with. The problem mostly lies with me not completely understanding the subtleties of python exception handling.

I made a few changes to the site this morning as well:

  • Moved the Leave Game button to underneath the words box
  • In the lobby, the rating that appears at the top of the page for each player is no longer cached (it will now always be correct)
  • Added a new Ratings page that will let you look at all the players' ratings and # of games played. You can get there by clicking on the More link underneath the top ten in the lobby.
One bit of fun news is that my brother (alexplumb) is going to creating a messageboard for us to all use. I understand that a lot of you probably want a place to connect and talk about things, so this will be just the ticket. So if you see alex playing, tell him to stop and work on the messageboard instead ;)
Finally, I hope to start working soon on some more interesting game improvements and hopefully even the next game. Time is a bit scarce at the moment, but we're moving along.
Server crashes - By: Adam Plumb - 16.2 years ago
In the spirit of keeping people up on current events, I've been battling with the server to not crash every day or so like it has been. Up until this morning, I had no idea what it could have been, but the last time I restarted the game server I ran it in a debugger called gdb. With the debugger running, now when the server crashes I can see in the code roughly where the crash originated.

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.

Changes made this morning - By: Adam Plumb - 16.2 years ago
As promised, I've made some Serpentine changes that people may like. Here they are in no particular order:
  • Drag-style mousing works. Still isn't quite perfect but it's workable
  • Board rotation
  • New ENABLE2K dictionary
  • Fixed bugs where Words others got and word-at-last-second doesn't show up at the end of rounds
  • Improvements to the game server
  • Fixed scrolling in the chat window so you can go back to look at previous char remarks
Big update tomorrow morning - By: Adam Plumb - 16.2 years ago
hey guys, the two major features everybody is asking for will be arriving tomorrow morning! That's right, you'll be able to rotate the board AND drag-style mousing will now be enabled (through a checkbox). In addition, I believe I've fixed several large bugs, including "Words Others Got" not showing up, and not getting a word in at the last second. These will both be fixed. Expect the server to be down at 8AM EST tomorrow for the updates. If all goes well it will only be down for less than 10 minutes.
Downtime - By: Adam Plumb - 16.2 years ago
Looks like there was some unplanned downtime (i.e. the game server I wrote crashed), but the server is back up. I don't know yet what caused it, but it looks like it happens after the game has been running for 20-30 hours or so. Hopefully I'll get it fixed soon.
Paypal donation Button - By: Adam Plumb - 16.2 years ago
I hope everyone is having a good time playing Serpentine, because I have, and I've had a great time making it as well. Indeed, I built this site because I missed Tangleword and wanted to play it again. In addition, I thought it would be quite fun to be able to make other games that I would want to play. So I went ahead and put the site together and so far it has been very successful.

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.

Improvements in Serpentine Solver lead to more/better rooms - By: Adam Plumb - 16.2 years ago
I found a way to drastically improve the performance of my Serpentine board solver (the program that finds all valid words in a board), and the result is that we can now have 6x6 rooms with 5-letter minimums. The improvement went from about 60 seconds to solve a 6x6 board to about .15 seconds (yes that is a big change), which means that the number of rooms is much less important.

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.

Added a winner message, and remote control - By: Adam Plumb - 16.2 years ago
The more I play Serpentine with folks, the more features I remember from my Tangleword days. Indeed, one such feature is the winner message that shows up after each round. This is a message that says "Player XYZ has won the round!" Well, I kind of missed it so I added it in to the game.

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.

Small bug fix for the lobby chat - By: Adam Plumb - 16.2 years ago
After I introduced the lobby chat feature yesterday, I realized that I had not finished the implementation. Unfortunately, when players quit their browser it kept thinking they were still there. The fix was simply to have the server check which players were still sending messages, and if they weren't remove them from the list of players still there.
Lobby Improvements and Game Tweaks - By: Adam Plumb - 16.2 years ago
I'm really happy to see that people are starting to come in and play Serpentine. It seems like there are a lot of disgruntled Tangleword players that have been looking for a good replacement, and Serpentine might be it.

There were some changes that I'd like to mention:

  • You can now chat in the lobby, before you enter the actual game.
  • The words box should hopefully scroll now when the "Other Players Words" listing shows up
  • I've added server chat messages like, "Adam has entered the game" or "Jenny has left the game"
People have been asking for the ability to rotate their letter boards, and since I agree that this is a useful feature it is coming. You can probably expect it within a week or so.
Fun Serpentine Improvements - By: Adam Plumb - 16.3 years ago
Just this morning I was thinking I had exhausted all of my ideas on Serpentine, and then I realized later on how much more was still left to do! Here is a short list of changes since this morning.
  • Added additional intermediate and advanced rooms, with 5 letters per side, and rounds lasting three minutes each.
  • Added a "Words others got" listing after each round, where is shows you all the words the other players got but you didn't
  • A color-coded ratings system. There are now a whole range of ratings groups, from "Needs Improvement" to "Senior Master".
  • The Serpentine letters are now clickable like buttons
  • Some minor bugfixes in the game and server
  • More ratings tweaking
Boring administration type changes - By: Adam Plumb - 16.3 years ago
This morning's work was mostly focused on boring administrative changes, like setting up a basic blogging tool (what I'm writing this in now), adding some basic logging/reporting functionality, and adding a page that lets me view/administer the people that have registered accounts. All pretty basic website stuff, but nothing really new for the users, except for some small tweaks that aren't worth mentioning.

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!

A few testing updates. - By: Adam Plumb - 16.3 years ago
Thanks go to daemonic, shuggycouk, and alex for being brave and helping me with some very early testing yesterday. They found a bunch of issues that I had either ignored or not seen or not been able to test by myself. While I haven't fixed everything just yet, I've fixed a few issues:
  • Was constantly getting an "Invalid Response from Server" popup during the game.
  • An extra comma (hopefully) will not show up in the players listing
  • Chat/Player/Word listing windows now (should) scroll automatically
  • I've reworked the player/chat windows to be bigger and format better with different inputs
  • Added a "Leave" button, so that you get immediately logged out of the game (not the site though)
  • Tweaked the rating system
  • Now displaying game rules in the lobby of the game
  • Displaying a top 10 list of players in the lobby (based on rating)
I'll be setting up some bug/issue tracking software sometime soon.

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.

Welcome to games.cobradragon.com! - By: Adam Plumb - 16.3 years ago
Once upon a time there was a wonderous website called playsite.com that brought me great joy. It provided free, well-structured, multiplayer word, puzzle, board, and card games. In addition, it kept track of ratings and allowed players to interact with eachother outside of the games. I was personally addicted to the Tangleword and Gomoku games, the former of which inspired this site. Indeed, I was so inspired that I pretty much copied the rules and structure of the Tangleword game to create my game, which I call 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.


Previous Entries Next Entries