Update 2.5.1: Small update

WarLight has just been upgraded to version 2.05.1. This update fixes a few bugs and has a couple small enhancements.

This is an update to all platforms: The website, Android, Kindle Fire, and iOS. The website and Android updates are complete. The Kindle Fire and iOS updates will appear on your devices once Amazon and Apple approve them. Amazon usually completes theirs within a day or two, and Apple usually completes theirs in a 7-8 days.


– Added an achievement for winning a real-time ladder game.
– Added a “Clans” public forum.
– Fixed a bug that could cause a player to get booted into an AI and then booted into neutrals together if both booted and surrendered players turn into AI, and they had surrendered, and everyone had accepted their surrender except one other player who just got auto-booted.
– The auto-booter will no longer boot players who have been turned into an AI. This is only an issue if the AI server is malfunctioning for some reason. You can still direct boot them manually, it just won’t automatically happen.
– Fixed a bug that made the real-time ladder not show graphs for rank/rating history change.
– Fixed a bug with the message that was displayed next to players on the real-time ladder who haven’t played for 3 days.
– Fixed a bug that was causing game names to be doubly-encoded on the Edit Favorite Games page.
– iOS/Android: Fixed a bug that caused an error when trying to view the settings of a real-time ladder game.
– iOS/Android: No longer displays “Level 0″ when next to players when playing single-player
– iOS/Android: Fixed a bug that made the “View Full Profile” button show up for AI players, who don’t have profiles.
– iOS: Fixed a bug that made tapping links on the wiki cause it to revert to the non-mobile version of the wiki, which doesn’t appear correctly on iPhones.
– iOS/Android: Fixed a bug that could cause maps that were just unlocked to not appear in the map browser until the app was restarted.
– iOS/Android: Fixed a bug on tablets that allowed opening multiple attack/transfer windows at a time which lead to error messages.
– iOS: Fixed a bug that made the deployment label not appear on iOS 7.0 devices.

Website update 2.5: Real-time ladder!

WarLight has just been upgraded to version 2.05.0! This update adds a forth ladder to the game, the real-time ladder. It also has a few other enhancements. This blog post describes what’s changed.

Real-Time Ladder

In addition to the 1v1, 2v2, and seasonal ladders, WarLight now as a forth ladder: the Real-Time Ladder. It’s named as such since, unlike the other three ladders, games have a 5-minute automatic boot time making them a real-time games instead of a multi-day games. The ladder is immediately available to all members and players level 45 or over.

The way the ladder rates players and matches players also works differently. Read on for the full details.

Joining and leaving the ladder

When you want to play in the real-time ladder, simply visit the ladder page (under Community -> Ladders) and click Join Ladder. Within 5 minutes, if there is a suitable opponent, a game will be created. You can only play in one game at a time. When that game finishes, a new one will be created within 5 minutes, again assuming there’s a suitable opponent. You won’t be matched with the same person more than once in a 20 hour period.

When you’re done playing games, just go back to the ladder page and click Leave Ladder. This won’t remove you from any in-progress games or stop them from counting, it will just stop you from getting new games. Therefore, it’s a good idea to leave the ladder while you’re in the middle of playing the last game you want to play. If you wait until it finishes before leaving, you might accidentally get a new one if you can’t leave fast enough.

If you get booted from a game, it will automatically remove you from the ladder so you don’t get more games. This prevents a runaway boot streak that could happen if you lost internet connectivity, for example. If you accidentally get booted but want to keep playing, just go back to the ladder page and click Join Ladder again.

The settings for each game is determined randomly from a list of templates. This list is initially seeded with some of the seasonal ladder templates, but templates will be added and removed over time based on suggestions from the community.


Ratings for the real-time ladder are calculated in a completely different manner than the other three ladders. The real-time ladder uses the TrueSkill algorithm to determine player’s ratings.

Unlike the other ladders, ratings will update immediately after a game finishes. After every game, you can refresh your ladder page to see your new rating.

This makes the rating method much simpler than the other ladders. The ripple effect of the other ladders is not present — the rating change is affected only by the rating of your opponent when you played, not their future changes. Also, games never expire like they do in the other ladders, but the TrueSkill algorithm weights newer games more highly, so you still have the ability to move your rating over time.

It takes around 15 completed games to receive a rank. Unlike the other ladders, you get a rank even while you’re not joined to the ladder. If you don’t play a real-time ladder game for 3 days, you’ll lose your rank and revert to “Not Ranked” until you play a game again. This doesn’t affect your rating.

Also unlike the other ladders, the real-time ladder does not award points for ranks. Instead, each win gives 4x the points that the equivalent game would give if you just created it on its own.

Level Updates

A few level rewards were moved around. See the Levels page on the wiki for the new set-up.

If you are already a higher level than a reward that was moved to be a level below you, you’ll receive it at your next level up. If a level reward was moved to a level that’s higher than you, you won’t lose it (once unlocked, it never re-locks.)

Also, since there’s a new level unlockable (the real-time ladder), this shifts the max level with a reward from 52 to 53. This also has the effect of reducing the point totals of all levels above 53. If you’re already above 52, you’ll probably notice a jump in your progress towards the next level. If you were close to getting a level up, you’ll appear as over 100%. In this case, you’ll get a level up the next time you receive any points and the remaining will overflow into the next level.

Other Changes

– In non-multi-attack games, trying to issue an attack order out of a territory that you’re gifting or abandoning now gives a message explaining that it will have no effect.
– Trying to play abandon+gift cards on the same territory, or abandon+airlift cards on the same territory now gives you an error message. This helps new players understand that they can’t combine them.
– The My Games and Open Games pages got some improved colors.
– The My Games paging system has been improved so that all page links are visible even for players with a ton of games.
– The My Games page now pops up a tooltip explaining how to find finished games. It only appears if you’re on the default filter, since if you’ve changed filters you probably already know how to find finished games.
– The boxes on the My Games page now wrap when there are lots of players, ensuring that the “your turn” message is never pushed off the page.
– When the CreateGame API fails due to blacklist, it now tells you who has blacklisted you that’s causing the error.
– The chat windows no longer scroll to the bottom unless it’s already near the bottom. This allows you to scroll up and read chat without it automatically returning you to the bottom whenever someone says something.
– Fixed a bug in the bbcode markup on the forums that made the [list] tag not work properly.
– Fixed a bug that could cause authentication errors when players switched accounts.
– Fixed a bug that left the deployment slider open if you pressed a hotkey to enter history after deploying using the ctrl+click trick.

Announcing the WarLight AI Challenge

WarLight is partnering with TheAIGames.com to bring you the WarLight AI Challenge! This allows you to write our own WarLight bot and send it into combat with other people’s bots.

It’s a ton of fun, but there are some serious prizes available too, with the winner getting €1024! ($1400)

Here’s the basic idea of how it works:

1. Sign up at TheAIGames.com
2. Write an AI bot in C, C#, C++, Go, Java, PHP or Python (if you want to use a different language, please request it.) Your bot will choose what territories it wants to start in, where to deploy armies, and issue attack/transfer orders, just like in WarLight.
3. Upload your bot to your profile at TheAIGames.com
4. Watch your bot match up against other bots in the interactive viewer.
5. If you lose any matches, figure out what your bot could have done better in that situation. You can see a log of the match which you can paste back into your bot, so you can easily debug what you code was doing in any situation.
6. Improve it, and repeat.

Check out all the details TheAIGames.com. Good luck!

Website update 2.4

WarLight has just been upgraded to version 2.04.0! This update improves the way cyclic move order works, and brings a few other enhancements/fixes to the site.

Cyclic Move Order

The way that cyclic move order works has changed with this update. Cyclic move order is a setting that can be enabled for games that determines the order in which orders are carried out (most notably, who gets the first attack on each turn).

Prior to this update, cyclic move order worked by taking the person who got first move on the previous turn and giving them last move on the next turn. For example, if you had four players named A, B, C and D, the order would work like this:


After this update, the order simply swaps:


It’s worth noting that in a 1v1 game, these two methods are identical — the players simply take turns getting first move. However, in games with more than two players, the new method is actually more fair.

Say, for example, say you’re playing in a 4-player FFA, and you’re in a battle with one enemy player. You’re player B fighting mostly against player A. Now look at the four possible move orders in the old method: ABCD -> BCDA -> CDAB -> DABC. In three of the four, A gets a move before B — that isn’t fair! By using the new method, it ensures that first-moves will swap back and forth between any two players.

Hide Lottery Games

The Open Games and Open Tournament pages now have a check-box that will allow hiding any games/tournaments that have the word “lottery” in them.

Lottery games are typically games that have no skill involved where the winner is determined randomly. If you don’t like these kind of games, this check-box can be used to hide them so they don’t need to clutter up your page.

The state of this check-box will be saved to your local device so the next time you load the page it will be checked or unchecked as you left it.

Please be sure that when creating lottery games, you include the word “lottery” somewhere in the title. Also be sure that if your game isn’t a lottery game, don’t put “lottery” in the title.

Also, as a reminder: Stacking lottery games so you always win is against the rules. The games must be random, that’s why it’s a lottery. If you see someone stacking a lottery game, please report them using the in-game report system. If you see someone not using the word “lottery” in their game, please kindly ask them to do so next time.

Other Changes

– The number of simultaneous open games that a player can have at a time has been raised by one.
– Made the lobby page wider so more of player’s name can be displayed.
– Modified kill rates no longer reduce that game’s point multiplier. If you’re modifying kill rates to make a game that’s purely luck based, please be sure the game has the word “lottery” in the game name.
– Fixed a bug when using the Enter key to send an in-game message that contained territory or bonus links.
– Fixed a bug that caused some numbers on the in-game graph’s vertical axis to be wrong. The data displayed was never wrong, just the axis along the left.
– Fixed a bug that occurred if you opened history to the distribution state, opened the view picks drop down, but then used a hotkey to exit history without closing the drop down.
– Fixed a bug that let you open multiple private chat windows to the same player.
– Fixed a bug that let you open multiple vote-to-end windows.
– Fixed a bug that prevented Facebook users from getting the multi-platform achievements. They will be awarded the next time you sign into the website with your Facebook account.
– When making maps, the length of territory names, distribution names, and bonus names is now limited to 50 characters.
– When adding a scenario distribution to a map, it now links to the wiki for those who don’t know how scenario distributions work.
– Improved the website so it now gives a message when the server is under heavy load instead of just a generic error.
– iOS/Android: The menu button is now disabled while playing cards (cards that require interacting with the map, like recon, abandon, blockade, etc.). Most of the menu options would cause errors or cause the game to crash, so it makes sense to disable it.
– Android: Fixed a bug that sometimes caused the screen to be half black after the software keyboard was closed.
– Android: Fixed layout issues that caused some pages to not be centered.

Website update 2.3

WarLight has just been updated to version 2.03.0! This update finishes the new server platform that was discussed previously, and has a couple minor fixes/improvements.

New Server Platform

As discussed previously, WarLight now runs on the JVM. I’m still tweaking a few things to get everything running perfectly, but the early indications are that this will make the website much faster than before.

Here’s an example of how fast the website was running under the old platform:

What you see here is how fast the webservers are responding to http requests — one line per webserver. Lower is better (faster). This shows four days of traffic, so you can see that the website was slowing down during the day when lots of people were playing (it peaks around 1pm PST), and then speeding up at night when traffic is lower.

Here’s the same graph for the past day:

You can see that, with the exception of the one big spike by one server in the middle, the servers are dramatically faster. The spike was caused by a webserver using too much memory and eating into swap space, which hurts performance. I’m currently working on eliminating these kind of problems, and once I get everything working properly it should stay under 100ms permanently.

High-level point tweak

All levels above 52 now require 500k fewer points to achieve. This was done to make level 53 a bit less steep from 52 (100k -> 225k instead of 100k -> 725k).

If you are above 52, you may have noticed your progress in the current level to increase suddenly when this update went live. However, note that nobody gained or lost points from this change — your progress bar went up simply because the level requires fewer points.

If you were close to getting the next level, you’ll show as past 100% in your current level. In this case, your level will go up the next time you receive any points. Any extra points will overflow into the next level, so nothing went to waste.

Misc changes

Earlier this week, I made a bug-fix update to the Android app that should fix some errors that some people were getting. I also submitted a bug-fix update to the iOS app, but it’s waiting for Apple to approve it. I expect it to be live within a week. If you’re still experiencing any problems with the Android or iOS app after installing the latest update, now is a perfect time to report it!

The ladder has been struggling to stay up-to-date lately. This isn’t caused by the switch to the JVM, but rather just because the ladders are growing beyond what the server that updates them can handle. Today’s update contains a few changes to help improve the ladder reliability, and I’ll continue to monitor it and make further updates if these aren’t enough.

New server platform

Over the last couple months, I’ve been experimenting with a new server architecture that aims to increase the speed and reliability of the WarLight server/website. It’s finally ready for production use, so I’m going to begin rolling it out. If all goes well, you shouldn’t notice any major differences, except that hopefully the site runs faster.

I’ve tested it thoroughly, so I’m not expecting any problems. However, if you do run into a problem, please be sure to report it at warlight.net/ReportBug (or if the problem prevents that page from working, by e-mail to fizzer@warlight.net).

For the technical folks, the new server platform is written in Scala and runs on the JVM. The old code was written in C# and ran in Mono. Mono has a bunch of issues that cause webservers to leak memory and sometimes freeze/crash, so WarLight is switch to the JVM. Initially, only one of WarLight’s six webservers will run the new code, so most people won’t notice anything. If you’re curious if you’re accessing the new or old, you can go to the Home -> Change History page and check the version: 2.02.2 is the old, 2.02.3 is the new.

Season XIII

Congrats to Ruthless Bastard for winning Season XII! The 20 clan has now won 5 seasons!

Season XIII

Season XIII will feature a combination of mechanics used previously. It will combine Local Deployments from the previous season with the randomized bonus values from Season IV. If you aren’t familiar with Season IV, here’s how it works: Each bonus has a 1/3rd chance of giving one fewer army per turn, a 1/3rd chance of being worth one more army per turn, and a 1/3rd chance of remaining unmodified. The zero-bonuses in Japan, Hawaii, Korea and Alaska are not modified and will remain out-of-play.

As an additional wrinkle, this season will also disable card-fog, meaning you can see what cards your opponent has and when and where they play them.

Check out the full settings with this template: multi-player, single-player. However, the randomized bonus feature is a special feature for the seasonal ladder and won’t be present when using this template.

Season XIII will start on Wednesday at midnight GMT (click to see a countdown or this time in your own timezone). Good luck!

Website update 2.02.2: Small update

WarLight has just been updated to version 2.02.2! This update brings a few minor improvements and fixes a few bugs.


– Added clan icons to all ladder pages.
– Added clan icons to the Settings -> Points page.
– The page that lists all of the seasonal ladder’s winners now links to each player’s ladder page and shows clan icons.
– “Re-do orders” is now simply called “Modify orders”. Additionally, the confirmation when clicking re-do has been removed. Back in the day, clicking re-do meant you had to re-enter all of your orders from scratch. Hence why it was called re-do. Later the feature was added that restored your orders so you could make changes and re-commit, but the name was never changed until now.
– When filtering your friends list on the invite page, clans are now matched along with the name. This allows you to search for a clan tag and it will still match players who removed clan tags from their name.
– When “Default to History” is enabled, the player’s won/loss status will no longer be displayed in the bottom right while the game is loading. This eliminates the need for spoilerbars during livestreams.
– Removed the “Don’t show this again” check-box when the game prompts you if you want to attack a teammate. Many players have clicked this by accident without realizing it, and then were really puzzled with why it no longer appeared. If you really want it off, you can turn it off on the Settings tab.
– It’s now possible to remove clan images/icons on their respective upload pages by simply clicking “upload” without giving it a file.
– When saving a template, the game now checks that the template is valid before saving. This fixes an issue where a template could be saved but not loaded (for example, if local deployments was enabled on a map with overlapping bonuses)
– The maximum number of open games that players can make at the same time was reduced. Non-member’s limit was reduced to 1 and member’s limit was reduced to 3. This will hopefully cause less clutter on the Open Games page, as some players were spamming lottery games.
– Fixed bugs with the “Played from X platforms” achievement. If you are missing this achievement even though you’ve played from multiple platforms and you use the “keep me signed in” check-box on the website, try signing out and signing back in to your account on the website. The achievement is checked when you sign in, so if you never actually sign in it won’t be awarded.
– Fixed the “Jump to last page” link in clan forums.
– If you’re in a clan, the “Forums” page now provides a link to your clan’s forum.
– Trying to access a clan discussion you don’t have access to now tells you that you don’t have access to it rather than a generic error message.
– Fixed a bug that appeared for players who had access to the spy card but not the gift card. The UI would show that the gift card could be used when it really couldn’t.
– Fixed a bug that could cause errors when local deployments was used along with sanction cards.
– Entering negative numbers in open seat prerequisites now produces an error message.
– Sharing a game on facebook that was ended by vote no longer defaults the text “I lost”.
– Fixed a bug in Share On Facebook that would sometimes cause it to give errors.
– Fixed Internet Explorer 6 javascript errors.

Season XII

Congrats to Yeon for winning Season XI with a very impressive 18-2 record! I’m glad to hear most people liked the new local deployments feature. Personally, I found last season to be my favorite so far. Local deployments completely changes the game’s strategy.

Season XII

Season XI used Light Fog to ease our introduction into Local Deployments. This time, we’ll go with normal fog, and also on a new map, Turkey:

With only 82 territories, this is by far the smallest map ever used in a ladder. This means the games will likely be much quicker than previous seasons. Along with the smaller map, base income and reinforcement cards have also been reduced from 5 to 3. Luck has been reduced to 0% straight round, so this season will not have any randomness like last season did. Order delay and order priority cards have also been removed.

Check out the full settings with this template: multi-player, single-player.

Season XII will start on Tuesday at midnight GMT (click to see a countdown or this time in your own timezone). Good luck!