Cheap thrills: Watch the AI play itself!

Just click this link, then click “Next” at the bottom.

This will make an entire game of WarLight play out before your eyes in mere seconds. Root for your favorite color to win!

If you want to take it to the next level, you can check the “Customize” box and pick any of WarLight’s 150+ maps, use any of the many game settings, or set the AIs up into teams.

Find settings that are fun to watch? Save them as a template and post their URL in the comments so we can all enjoy them!

Announcing WarLight 1.8

Hurray for new features! On Sunday, October 30th at 1am PDT (8am GMT), WarLight will be upgraded to 1.08.0. While the upgrade is taking place, the website will be down. If all goes well, the downtime should last for less than an hour.

This blog post contains a summary of what’s changing.

Open Seat Prerequisites improvements

Open Seat Prerequisites is a feature that allows game creators to define requirements that players must meet in order to join their game on the Open Games tab.

In 1.08, game creators can set prerequisites on player’s win ratios in ranked games. For example, you could add a prerequisite that only allows players that win at least 60% of their ranked 1v1 games to join your game. This is a great for when you want to play an open game, but want to try to find players who are closer to your own skill level.


WarLight now contains a soundtrack which plays in the background. It can easily be turned on or off in the top-right corner, just like how the sound effects work. It will default to ON on the single-player tab, and OFF on the multi-player tab, but if you turn it on or off yourself it will stay that way. It won’t be present on any other tabs.

The music is the same song featured in the stand-alone client. It’s called Heroic Return by Chris Haigh.

Templates now store invited players

After 1.08, when you save a game template, the list of players you invited to that game are now stored along with it. This is great for players who create games from templates, as it means they don’t need to re-enter the list of invited players every time.

For example, say you add a few open seats to a game on one team, and an AI and your friend Bob onto another team, then save that as a template. When you load up the template, all of the open seats, AIs, and Bob will be pre-populated into the invite list so you don’t have to add them again.

This also makes it easier to create rematches. You can open up the settings for a game, click the template name or the word “Custom” if no template was used, then click the button to create a new game with the same settings. After 1.08, all of the players from that game will be pre-populated into the list, so you can easily create a new game with the same people.

Blacklist Improvements

The blacklist is a list of players that you don’t want to play WarLight with. In 1.08, the blacklist is getting a few improvements:

  • Players you have blacklisted get a small “B” icon next to their name. This appears not only next to places where their name shows up, but also in the small boxes that you see when browsing the Open Games tab. This makes it much easier to avoid joining games with players you might not want to play with.
  • When a player you’ve blacklisted sends chat message to a game or tournament you’re in, the chat will be hidden from view so you don’t have to read it. If you do want to see what they said, a link is provided to reveal it.

Notable Victories

When viewing a player’s ladder page, a new section now shows the player or team’s victories over the strongest opponents they’ve ever beaten. This is a quick way to view that player’s best accomplishments. The strongest opponents are determined by the best rank that the opponent has ever achieved.

Misc Changes

– Game archival system. See the previous blog post for full details.
– Added a “Active games or unread chat” filter to the My Games page.
– The report dialog has been improved to provide more information and reduce false reports.
– Players can now elect to hide their shortened e-mail from other players.
– Fixed a bug that was preventing players from viewing an opponent’s cards if they had a fog game open when it ended.
– Fixed a bug in the map designer that caused some objects to appear in the wrong location when SVG matrix transformations were used.
– The map designer now gives a better error message if players try to make a SVG group a player-controllable territory.
– Fixed a bug that caused games won during territory selection to say “Won in -1 turns” on the My Games page.
– Fixed a bug that caused an attack order’s tooltip to not update when the attack changed.
– Game graphs now default to All Turns instead of Last 10 Turns

Game Archival

In the next WarLight release (1.08), games that have been finished for more than 10 days will be archived. For the most part, this doesn’t change anything — archived games are still available in your My Games page just like they were before and you can still read all of the chat and view all of their history. This is just a change to the way WarLight stores finished games internally, so if you’re not interested in learning how WarLight works behind the scenes you can stop reading now.

The WarLight database

Today, WarLight is powered by a single PostgreSQL database that houses all games, chat, history, etc. I’m a huge fan of Postgres, and it’s worked very well for WarLight. However, being a relational database, there are limits to how far you can scale. Currently, the WarLight database is closing in on 30 gigabytes, and anyone who’s ever worked with big relational databases knows that it’s no fun. (ever tried to add a new column to a many-GB table? While ALTER TABLE is running, your site is down!)

One option to alleviate this is to delete old games. While some games certainly could be deleted without much of a fuss (those that got voted-to-end or real-time games), in general I really enjoy taking trips down memory lane and looking up old games. I think keeping games around is a really fun feature, so this isn’t my favorite option.

Instead, I set out to design a system that will allow WarLight to grow without needing to delete games. Postgres works great while games are in progress and queried and updated frequently, however WarLight can’t just be backed by a single monolithic database forever.

Enter the Archive Database

When games have been finished for more than 10 days, the archiver will remove it from the main Postgres database, compresses it and store it in the archive database, which is powered by MongoDB. Mongo is great for an archive, since it allows for changing your schema without needing downtime.


I said above that this change mostly won’t impact players. However, there are a few small changes:

  • You can’t chat in archived games. Remember games aren’t archived until 10 days after they’re complete, so that should be plenty of time to say your ggs and do any post-game discussion. All of the game’s chat is still available to read, you just can’t say anything new.
  • If a game still has unread chat when it’s archived, it won’t show up as having unread chat on the My Games page. The chat is still available if you open the game, it’s just not shown on the My Games page. Hopefully players who go 10 days without reading the chat aren’t likely to ever read the chat anyway.
  • The default filter on the My Games page is changing from All Games to Active Games. If you really want your default to be All Games again, feel free to change it back. The reason it’s changing is just because the All Games query is getting more expensive to run since it has to query the archive, and most of the time players really just want to see their active games anyway.

Hopefully these aren’t too big of a deal for anyone. At some point in the future, expect a policy on abandoned in-progress games so they can be archived, too.

WarLight Roadmap

I’m currently finishing up the 1.08 release which has the archive system and a few improvements that will be announced soon. Once that’s done, there are two things on my mind:

1. New ladders! Due to the influx of new members lately, hopefully we can support one or two new ladders. Look for a poll soon on what ladder types you’d join.
2. Resume work on the iPhone and Android versions of WarLight. I hope to get the Android version caught up to the iPhone version so that it can be released to members for early testing. Android is nice in that there’s no limit to how many testers you can have, unlike the iPhone version which has to be restricted to a select audience.

The Impaller versus the World has ended

The Impaller versus The World was a special event where a public 1v1 game of WarLight was played out in full view of the community. In this game, one side of the game will be played by The Impaller, who�s one of WarLight�s best players, and the other side is played by everyone in the WarLight community via voting.

The game ended today, in a victory for The World!

Reviewing this game’s history is a great way for new players to learn how the experts think about WarLight strategy. You can view the entire game’s history here, or review the discussion and thinking that went into each turn via these forum threads:

Territory Selection
Turn 0
Turn 1
Turn 2
Turn 3
Turn 4
Turn 5
Turn 6
Turn 7
Turn 8
Turn 9
Turn 10
Turn 11
Turn 12
Turn 13
Turn 14
Turn 15
Turn 16
Turn 17
Turn 18
Turn 19

Big thanks to the moderators, everyone who voted, and of course to the Impaller!

Stand-alone Client

The WarLight stand-alone client is a single-player only version of WarLight that’s packaged as its own Flash file. The purpose of this is so that it can be published to Flash gaming sites, like Kongregate and Armor Games. The goal of this client is to help make more people aware of WarLight, as it contains links back to, it should help grow the community.

For the most part, it’s just the single-player levels repackaged but there are a few small differences. I plan on making a wiki page to describe the exact differences soon. It’s called stand-alone since it lives entirely on its own and does not talk to the WarLight servers at all.

In the meantime, if you have a Kongregate account, I’d very much appreciate it if you’d rate the game! (Note I’m not asking you specifically to rate it highly, since that’s kind of a scumbag thing to do. Instead, rate it appropriately as you like WarLight!)

Kongregate Link

Small Update: 1.7.3

WarLight will be updated tonight to 1.07.3. This deployment will not need any downtime, however refreshing your browser will be required if you’re in the middle of a game. This blog post contains a summary of what’s changing.

More Updated Graphics

The single-player main menu is receiving a facelift, as well as all of the cards. Here’s a sample of what the new cards look like:

Bug Fixes

– AIs are now much faster at taking their turn on large maps.
– Fixed a bug that caused the Statistics panel to go wonky if you graphed a game with no turns with animations enabled.
– WarLight is now more resistant to disk corruption when local storage is enabled. Maps that get corrupted will automatically be re-downloaded.
– More scalability improvements.