Small update: 1.12.1

WarLight was just updated to version 1.12.1. This release contains a bunch of small improvements and minor bug fixes.

Arrow clicking

When issuing attacks, WarLight now registers clicks on the arrow itself instead of just the destination territory.

This makes it easier to issue attacks that wrap around the map when zoomed in. Note that this only works when the arrow is over water — clicking a territory always has precedence over clicking an arrow.

Attack Dialog Position

The way that the attack/transfer dialog positions itself has been changed so that it never appears in a location that will be off the screen.

The reason it appeared off-screen is because it made sure it always positioned itself so that your mouse cursor was over the “Okay” button. This allows for simply double-clicking when you want to attack with all available armies, which is what you want to do most of the time. This is my favorite kind of UI paradigm since it requires no training. There’s no text in WarLight telling players that they can double-click to attack with all armies, it’s just something players intuitively pick up once they realize their cursor always starts over the “Okay” button.

This release contains an experimental system to both keep the dialog on the screen and also make sure that the double-click feature continues to work. The dialog now contains three invisible hot-spots in the corners. Clicking any of these spots is the equivalent to clicking the “Okay” button. They’re show as blue circles in this image:

WarLight tries to open this dialog with your cursor over the Okay button, but if it isn’t possible it will open it so your cursor is directly centered in one of these hot spots. This ensures that double-clicking still attacks as normal, but it also allows the dialog to always appear on the screen.

Let me know what you think of this!

Nudge Timer

Players can now only be nudged if they haven’t taken their turn in a game for 24 hours, instead of the old value of 30 minutes. This means players that play their turns once every 24 hours won’t be able to be nudged at all.

When nudging was introduced way back in 2008, WarLight didn’t differentiate between multi-day and real-time games. Therefore, a nudge duration of 30 minutes was chosen as a compromise between fast games and slow games. This decision ended up not working for either format, since 30 minutes is way too long for a real-time game and far too short for a multi-day game.

Nudge, in its current implementation, doesn’t really work in real-time games at all since players aren’t checking their e-mail. At some point, I’d like to make nudge work differently, such as putting a message on the My Games page or playing a unique sound.

Misc Changes

– Map pages now place the map’s name in the page’s title.
– Added an explanation to the history dialog to help new players understand it.
– Clicking on the seasonal ladder from the Dashboard now takes you to that season instead of the list of seasons.
– Minor text changes were made on the map page. Removed the text “so far” after “x players found this review helpful” and changed “First went public on” to “Went public on”
– Fixed a bug that was preventing the Flash file from being resized down too small vertically.
– Fixed a bug that broke the question-mark link next to a game creator’s Personal Message.
– Fixed a bug in the map designer that caused bonuses to sometimes become unclickable.
– Fixed a bug that in rare cases caused the deployment slider to not close when a game ended.

Season III

Congrats to PaniX on winning Season II! It really came right down to the wire, but PaniX pulled into the lead at the last second. Nice work on a 17-3 season!

Season III will be the first ladder to feature a map other than Medium Earth. Season III will be played on the East Asia & Oceania map!

One of the biggest fundamental differences from Medium Earth is that this map doesn’t wrap around the sides. That means the map effectively has a middle, sides, and corners. Even though it has 8 fewer territories than Medium Earth, this can make it feel larger.

Season III will begin this Friday, April 13th, at midnight GMT. If you were part of Season II, you’re automatically signed up for Season III. If you left Season II, you’ll need to re-join the seasonal ladder to take part in Season III.

You can use this template to see the exact settings: multi-player, single-player.

Good luck!

Announcing Map Ratings and Reviews

WarLight has just been updated to version 1.12.0! This blog post contains a list of what’s changed.

Map Ratings

The number of public WarLight maps has exploded over the last year! This is a good thing, but it also means that it’s becoming difficult when browsing maps to find a map you really like.

Starting today, players can now elect to rate maps after they’ve played a game on them. These ratings will then produce an average map rating which can be used to help find highly rated maps.

Whenever a game finishes, players will see a new button in the upper-left that allows them to rate the map used in that game:

Clicking this will give you a choice of between 1 and 5 stars, where the stars have a meaning as follows:

  • 1 star: This map is not recommended.
  • 2 stars: This map is okay.
  • 3 stars: This map is good.
  • 4 stars: This map is great.
  • 5 stars: This map is amazing!

The ability to rate a map is only available to players who have actually played a game to completion on the map. This helps prevent drive-by ratings, where someone looks at a map for a couple seconds and makes up their mind without even trying it. By not allowing drive-by ratings, the hope is that the map’s average rating will be more influenced by the people who like that type of map.

If you want to start rating maps you’ve played before this rating system existed, just go to your My Games page, set the filter to “All Games”, click a finished game, and you’ll find the “Rate This Map” button in the upper-left corner.

The button will let you know if you’ve already rated that map, so you can also just continue playing WarLight normally and use the “Rate This Map” button when it comes up naturally.

Players can change or remove their rating at any time, which is important for cases where the map creator fixes up their map and players want to reward them for doing so.

Map Reviews

In addition to ratings, players can also write reviews of maps. Players can use this to share their feedback on a map in a public setting, such as to make suggestions, point out bugs or flaws in the map, or to share interesting game settings to use with the map.

Map creators have the ability to write a response to every review. If they fix a bug pointed out in a review, or just want to thank the player for their nice feedback, their response will be displayed right next to the review.

Just like with ratings, players and map creators can edit or delete their reviews/responses at any time, so they can always be kept up-to-date as the map evolves.

In addition, reviews can be up-voted and down-voted by players based on the usefulness of the review. This helps the most useful reviews bubble to the top and gain the most visibility.

Favorite Maps

WarLight now supports marking maps as a favorite. This allows you to build up a list of maps you want the ability to refer to often.

Additionally, players can select up to three maps to display on their profile as their favorites. These don’t have to be the same as their private favorites list.

This originated from a feature that map creators often requested. They wanted a way to show off the maps that they’ve made on their profile, which previously was not possible.

Rather than just blindly adding every map that someone made to their profile, I decided it would be better players had the option of choosing which of their maps they wanted to show off. Sometimes players will make maps for other players, or maybe have a map they aren’t as proud of that they don’t really want to show off. Some players just have made too many maps to list them all, so it’s natural to make a page to allow selecting of which maps to show.

But then I figured, why restrict this just to maps you made? Instead, players can now pick any map they’d like to show on their profile. If you’re a map creator and want to show off your own maps, you can now do so. If you’re not a map creator, you can use this to show players which maps you enjoy the most.

Map Page

All of a map’s ratings and reviews are viewable on the new maps page.

This page existed before, but it’s now a first-class citizen with its own sub-tab off of the Home tab. It’s also gained filtering and sorting functionality, and generally performs much better than the Flash map browser so it’s the preferred way of browsing maps.

Both this page and the Flash map browser gained a few new filtering and sorting options. Of course, they can sort by the map’s average rating (maps must receive 10 ratings before their average is considered valid.) They can also sort by how new the map is, or filter down to just maps added in the last 30 days, which makes it easy to find new maps beyond the two the dashboard shows.

The Flash map browser can also sort by your personal rating, filter down to maps you’ve favorited, or filter out maps that you’ve rated two stars or below.

Website Navigation Changes

A few pages under the Home and Community tabs were moved around. This isn’t something I like to do often, as re-training yourself where to click to find pages is always painful.

However, there were a few things about the old format I didn’t like. The Community tab was under-used, as the main reason anybody went there was just to get to the forum. The Dashboard is meant to be the central hub of the WarLight community, and yet it wasn’t even under the Community tab! Further, the Home page was overloaded, and going to warlight.net and clicking Home took you to different places which is strange. Further yet, the landing page under Community was practically useless, and the links that were there kept getting missed by players. Additionally there was a disconnect I never liked between the dashboard and the forum. The dashboard is where many players go to check for the latest forum posts, yet they weren’t even located under the same primary tab.

In this new design, the Home tab’s goal is to be mostly static information and things for players just getting started with WarLight. The Community tab’s goal is to be things that players that have been playing for a while will want to access more frequently, such as the dashboard, forum, and ladder pages.

Misc Changes

– Map creators can now edit the descriptions of their maps even after they’re public.
– It’s now possible to report a player through a link at the bottom of their profile. As a result, players no longer need to be in a game with someone to report them.
– Fixed a bug that caused the sub-tab images to be off by a pixel in Firefox.
– Fixed a bug when loading a template that used a custom scenario that could cause players to default to the wrong slot.
– Fixed a bug that occurred when loading a multi-player template in single-player that had “AIs surrender when one human remains” enabled.
– Fixed an error that occurred if players entered a number greater than 2.1 billion for “maximum number of cards you can hold without playing any”
– Fixed a bug in the create game wizard that made the auto-boot drop down change back to “Never” when clicking previous and then next.
– Fixed a bug that caused territories to not be brought to the front when selected via the “more info” link.

Small update: 1.11.1

WarLight was just updaded to 1.11.1. The primary purpose of this release was to upgrade the version of PostgreSQL that powers the database from 8 to 9.

In addition to the database upgrade, a few bugs were fixed:

– Fixed a bug that caused failed attacks by percentage to consider an incorrect number of armies used.
– Fixed a bug that caused an error if you were looking at a game while the host deleted it.
– Fixed a bug with BayeseloLog that occurred when players used non-ascii characters in their name.
– Fixed a bug that could cause an error on the Open Games tab.
– Fixed a bug that caused an error when browsing history in rare circumstances.
– Fixed a bug that made tournament’s forward invites button give errors when you weren’t in the tournament.
– Added the general invite url back onto the Invitation Network page.

WarLight turns four

It was four years ago today that I first started working on WarLight.

WarLight also surpassed a more impressive statistic this month than just its age. Over one million multi-player games of WarLight have now played through to completion. That’s a lot of games!

And every single one of these games is still in the WarLight database available to be viewed by its players at any time. This is one of my favorite features of WarLight. Not many games allow you to go back and watch yourself playing the game three years ago.

WarLight for Android alpha now available to all members

An alpha version of the WarLight client for Android is now available to all WarLight members!

Keep in mind that this is an alpha release. That means that it’s an unfinished product, and there are some features still missing or incomplete. However, it works well enough to take your turn in multi-player games. See mobile client on the wiki for a list of features not yet implemented.

Installation

Check out this wiki page for step-by-step instructions on how to install WarLight on your Android device: Installation Instructions

Feedback

I’d like to hear how well it works on your device! If you run into problems I’d definitely like to know about it, but even if everything is working great I’d like to hear that too. Send me e-mail at fizzer@warlight.net.

If it works on your device, it would also be great if you’d add your device name to the list of known working devices if it’s not already there.

WarLight update: 1.11

WarLight has just been updated! This blog post contains a summary of what changed.

Tournament Stats on Profiles

Players can now choose tournaments that they want to display on their profile! You can do this right now! Just click here and pick which tournaments you’d like to display.

Your profile will show a link to the tournament, as well as what place (1st, 2nd, etc.) you received if you received a place. For round-robin tournaments, all players are given a place, but for single and double-elimination only 1st and 2nd show up.

Overridden Bonus Links

When a bonus’s value is changed by a game creator, the bonus link for that bonus now uses a white border instead of yellow. This makes it a bit easier to spot which are overridden.

Further, when an overridden bonus’s number is large, it now protrudes outside of the bonus link instead of just getting cut off.

Misc Changes

– As announced in the previous blog post, WarLight’s messaging protocol is now backwards compatible.
– This release also contains something Android-related, but this deserves its own blog post, which will be posted within the next day or two.
– The maximum number of favorite games has been upped from 10 to 15. The page to modify them has also been updated to be more user friendly.
– Tournament creators can now have 5 simultaneous open tournaments instead of 2.
– A message now pops up when players do an action that causes their vacation to end. This makes it much easier to tell what’s going on with your vacation.
– E-mails are now sent to players when they first establish a ladder rank.
– When previewing a forum reply, the subject line is now shown.
– When making a post to a forum thread that creates a new page, you’re now taken to the new page instead of the current one.
– Single-player no longer displays announcements.
– The page to change an account’s e-mail address has been updated to be more user friendly.
– Added a limit to the number of open games that any one player can create at once. This helps keep the Open Games page from getting cluttered with tons of duplicates. Non-members may have 3, members may have 10.
– Games with open seats that never started are now deleted after a while if it’s clear the owner has no interest in reviving them. Real-time games are deleted 24 hours after the open seats expire, and multi-day games are deleted 10 days after the open seats expire.
– Fixed a bug that caused the booted duration to show as 0 minutes when booted players were configured to turn into AIs, and the boot caused the turn to advance.
– Fixed a bug that caused the Settings tab show a cached value for the date your vacation ended, which may have been inaccurate if a player just did something that made their vacation end.
– Fixed a bug that made the Open Games tab not show boot times for games you were in.
– Fixed a bug that made no wastelands appear when the number of players invited matched the number of territories in the selected distribution.
– Fixed a bug that broke the Bayeselo logs when someone used a greater-than sign in their name.
– Fixed a bug that caused army numbers to show incorrectly in rare circumstances after clicking Skip To End while the map was panning.
– Fixed a bug in the map designer that could allow territories to connect or disconnect when not on the connection tool.
– Fixed a bug that occurred if you tried to change your name to a name that contained an ampersand.
– Fixed a bug that caused templates to say (deleted) when a game was created based on the settings of a game that didn’t use a template.
– Fixed a bug in the map designer that caused an error if you deleted the default distribution mode.

Backwards Compatible Protocol

Warning: This post is more technical than most. If you don’t care about how WarLight works behind the scenes, you can skip this one.

I’ve been working on some long-needed improvements to WarLight’s messaging protocol. This is what WarLight uses to talk between the Flash client or mobile client and the WarLight server.

The Problem

Today, the WarLight server can only communicate with clients that are running the latest version of WarLight. Any time the server updates, all of the clients must update at the same time to be able to play the game.

If the server gets a message from a client that didn’t update, it sends down a “client out of date” error. The Flash client deals with this error by displaying a message that says “WarLight has recently updated. Please refresh your browser.” Players who keep WarLight open 24/7 are likely familiar with this message, as they are forced to refresh every time I update the server.

Up until now, this message has only been a minor annoyance. Updating the version of a Flash app is fairly painless, as all players have to do is hit their browser’s refresh button. However, updating an iPhone or Android app takes a lot more work. There are app store approval processes to go through, and even once it’s approved it can take time for the update to be pushed out to everyone’s phones, and even then many phones require players to manually update the app. Having the WarLight app be unusable for all of this time every time the server updates isn’t an acceptable user experience.

Backwards Compatible WarLight Server

To fix this, I’ve modified the WarLight server to be backwards compatible. This means that it knows how to talk to clients of any version, not just the latest. Although the main driving force behind this is for the upcoming iPhone and Android versions, this is beneficial for Flash players too:

  1. Refreshing the browser won’t be required anymore when the server updates. It’s still a good idea to refresh at some point, as you won’t see any new features or get bug fixes without it. But the important thing is that it isn’t required, which means I can deploy server updates without interrupting players or real-time games. This eliminates a lot of work for me, as in the past I’ve had to announce updates in advance and put pop-up warnings in place to ensure players knew they were about to be interrupted.
  2. Since server updates are seamless, the time between deployments can be lower. When a bug is reported, I often have to simply say “this will be fixed in the next release” and sometimes it can take weeks for the next release to arrive. Now that updating the server doesn’t impact players, I can update as often as I want, which means that bugs can get fixed quicker. It also means I don’t need to schedule updates for the middle of the night, and instead and just update whenever it’s ready.
  3. This fixes a long-standing issue with single-player games not being recorded. If someone started a single-player level right before an update, and won after the update, the server would not know how to read their “I won” message from their out-of-date client and would instead just tell them to refresh their browser. To counter-act this, the single-player version of the game today checks the server once every 10 minutes to see if an update was coming, and tell the user to save their game for later. While this stopped players from being denied wins (as long as they don’t ignore the instruction), it still isn’t a great experience. With this new update, players won’t even know that the server updated. Everything will just work.
  4. In the past, these blog posts have always announced updates ahead of time. This was good to give an advance notice of an upcoming update, so players could make sure they didn’t start real-time games just before the update. Now that real-time games can play right through an update, I’m going to start posting about new features after they’re deployed. This is better for you, loyal blog reader, since it means that when you read about a new feature on the blog you can go check it out right away instead of having to wait.

It may not be an exciting update, but it’s a necessary prerequisite for WarLight moving forward onto other platforms.

Season II

Season II will be a 1v1 match like Season I, except this time each player will receive a diplomacy card that lasts for two turns. Since the diplomacy card stops all fighting between two players, and there are only two players in a 1v1 match, the card will essentially stop all fighting for two turns. However, neutrals are still attackable.

It is your job to figure out how this affects the your strategy. The diplomacy break could give you a chance to move defensive armies into position, give you time to travel towards to an opponent’s far-away bonus, or just allow you time to capture that bonus that you had almost completed.

Full settings:

– Each player gets exactly one diplomacy card and will never receive more. The diplomacy effect will last for two turns.
– Light Fog, just like Season I
– Cyclic move order instead of random, just like Season I
– In-distribution neutrals is back to the normal 4, unlike the 0 in Season I
– Number of cards you can hold without being forced to play one is increased from 4 to 5, to account for the diplomacy card.

You can use this template if you want to practice.

Joining Season II

If you already joined the seasonal ladder for Season I, you’re already joined to Season II and you don’t need to do anything. If you never joined Season I, or you left it, you must re-join the ladder to be in Season II here.

If you played in Season I and don’t want to play in season II, you must leave the ladder here.

Season I Results

Congrats to Rubik87 for winning Season I!

I wanted to talk a little about the final results. Some have noticed that the winner went 14-1, whereas the runner up, Yeon, went 15-0. Yeon was the only player to go undefeated in Season I.

In the ratings algorithm, how strong your opponents are is a big factor in determining the final rank. A player who plays really strong opponents is often rated higher than a player with a better record who played weaker opponents. The issue here isn’t with the ratings algorithm is behaving correctly, but rather the issue has to do with the fact that the seasonal ladder does not give you an option to choose who you play against. It’s tough to tell someone that they’re not #1 when they played flawlessly, especially when players above them didn’t.

To address this, a few changes are being made for Season II. The biggest change is that the ladder now tries a lot harder to give players games against players nearer to their skill level. This means that you have a lot more control over who your opponents are. Win your early games and you’ll be rewarded with stronger opponents. This will also help the matchups be more exciting.

Second, 20 games are going to be played instead of 15. In Season I, I was worried some of the less active players would find 20 games too overwhelming, but given that it’s easy to sit out a season, I think that it’s okay to be more aggressive for those who want to play more. Having more games helps the rating system get a better picture of your skill level.

I don’t think anyone will go undefeated this time – feel free to try and prove me wrong 🙂

WarLight update: 1.10

Today at 3pm GMT (11pm PST), WarLight will be updated to version 1.10.0. The update should only take a few minutes, however it will require players to refresh their browser so please plan ahead for potential interruptions to real-time games. I’m working on a system to allow updates to happen seamlessly, so downtime won’t be required, so hopefully these types of interruptions can be minimized in future releases.

Instead of one big feature, this update contains a lot of small improvements to the site and a long list of bug fixes.

Bonus Border Color

When a player controls a territory whose border is the same color as they are, the border is now displayed slightly lighter. This ensures that the territory borders are always visible, even when a player controls a bonus that is the same color as they are.

Bulk Remove from Invite List

The Manage Invite List page is getting a new tool that will allow you to remove all inactive players from your invite list. Just click Bulk Remove and the site will give you an option to specify how many days inactive the player must be for them to be removed, or you can just enter 0 to remove everyone.

Tournament Interface Improvements

The tournament interface is getting some long-needed improvements.

First off, the display of single-elimination and double-elimination tournaments has been updated to fit better within the space allotted. Namely trading vertical space for horizontal space since vertical space is at a premium. Also, the game boxes are displayed in a lighter color once the game has begun so it’s easier to tell at a glance how far along a tournament is.

Second, you can now highlight the games of any specific player, just like how your own games are highlighted. To do this, just click their name in the bottom players list and click the new Highlight Games button. This makes it much easier to check the progress of another player.

Lastly, the performance of loading large tournaments has been improved significantly. This is done by not initially showing declined and invited players in the players list. If you do want to see declined and invited players, a new button is provided to show them. Further, declining tournaments no longer invokes a full refresh, so declining tournaments is even faster yet.

Ladder Tweaks

The 1 v 1 ladder now requires 15 games to receive a rank instead of 10. This will help bring more stability to the ladder.

Season II of the seasonal ladder will play 20 games instead of 15 like in Season I. Four games will be created on the first day and one more every three days after that. Further, the seasonal ladder has been adjusted so players are more likely to receive games against players closer to their skill level. The game settings for Season II will be announced once Season I ends.

Abandoned Games

WarLight will now enforce a new policy around games that are started but then are abandoned by their players. If a game goes over 101 days without advancing, the players holding it up will be sent a warning e-mail. Two weeks after the warning e-mail, they’ll be auto-booted, regardless of whether or not the game had auto-boot enabled.

The purpose of this is to clean up some of the stale games. There are some games that haven’t advanced in over 1000 days! This will allow the games to be archived, which will increase the speed of the site, namely the My Games page.

Games that are still in the lobby after the two-week warning will just be deleted, unless they’re tournament games, in which case the players will be force-joined.

101 days is a minimum. The system isn’t super aggressive about sending out warning e-mails, so it may not send them out on exactly day 101. It will get around to it usually within a week.

Template Improvements

When creating a game with a template that you created, the boot times and game pace (multi-day versus real-time) will now be defaulted to the values saved in the template. This makes it faster to create games when using a template.

Misc Changes

– In real time games, the clock no longer makes an audible tick if you’re not alive in the game anymore (eliminated, booted, etc.)
– Real-time games are now eligible to be archived 24 hours after they finish. Multi-day games continue to wait 10 days before archiving.
– Creating a game or accepting an open seat now cause vacations to end. This stops trolls from activating a vacation and joining/creating a bunch of games that won’t be able to advance.
– The change name page now asks for confirmation to ensure players know they can only change their name every 20 days.
– The automatic panning now waits half a second after showing a successful attack before panning, to give you a chance to see the results of the attack.
– Fixed a bug in the map designer’s SVG parser that would cause strokes to not scale along with an object.
– Fixed a bug that caused templates created on the single-player tab to not include yourself.
– Fixed bugs around game loading that caused games to be left in unusable states when connection failures occurred.
– Fixed a bug that caused playing the same game from multiple browsers to not update each-other in some cases.
– Fixed the Home and Community tabs, as their words were a pixel or two off when selected.
– Fixed a bug that caused a surrender email to be sent when a player that had turned into an AI surrendered.
– Fixed a bug that caused an error message when a teammate played a card that you were in the middle of playing if the card involved UI (blockade, spy, gift, etc.)
– Fixed a bug that caused an error message if you started to play a card that involved UI, but then opened up the cards dialog, discarded it, then finished playing the card.
– Fixed a bug that caused an error message if you started to play a card that involved UI then double-clicked its submit button.
– Fixed a bug when creating games that caused the “Create Game” button to not be visible if there were too many teams.
– Fixed a bug that caused the private message box to be active even when a game is archived and can’t receive new chat.