Sign up to help test WarLight on iPhone

For the next two weeks, WarLight is accepting applications for players who want to help test the WarLight app for iPhone or iPod touch.

The app isn’t done, however it works well enough to take your turn in multi-player games. For a full list of of the features that aren’t implemented yet, see Mobile Client on the wiki.

Due to Apple’s restrictions, the number of players that can be accepted is very limited. Only WarLight members may apply.

Click here to apply. (EDIT: Link taken down, thanks to everyone who applied). This link will stay up until May 7th.

This app does work on iPads, however the focus of this release is to test iPhones and iPod touches. If you want to apply with your iPad, you may do. However, iPhones will get priority, and iPad users will only be chosen if there’s space left over.

Let me know if you have any questions. Thanks!

Small update: 1.12.2

WarLight was just upgraded to version 1.12.2.

Attack dialog tweaks

To further improve the work done in the previous release, the way that the attack/transfer dialog detects double-clicks has been tweaked again. Double-clicking to attack with all armies should work more reliably now, especially when issuing attacks near the top of the screen.

Further, the way the hot-spots discussed in the last blog post work was changed so that they’re only active when your cursor starts over them. This means more than one hot-spot will never be active at the same time, and none will be active when your cursor starts over the Okay button.

Let me know if this works better or worse than before!

Filesize Fix

Due to some strange issue, a change I made to the WarLight preloader in the previous release caused the filesize to jump from 1.7mb to 2.4mb.

I reverted the preloader change in this release, so this should bring the size back down and speed up the loading time of the Flash file.

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.