Giving WarLight as a gift is easy!

There are two ways to buy lifetime WarLight memberships for someone else. You can either directly upgrade their WarLight account to a member, or you can purchase a code that is redeemable for a free membership.

Either way, start by visiting the purchase page.

To directly upgrade someone else’s account, just select “Purchase as a gift for an existing WarLight player” and select their name from the drop-down.

To purchase a code, select the third option. WarLight will ask you for an e-mail address to send the code to. You can either send the code directly to the recipient, or if you want to wait and give it to them later, you can enter your own e-mail address to receive the code yourself. This is useful if you want to print it out, wrap it up and present it as a physical gift.

Season I, starting December 9th – join today!

I’m pleased to announce the first season of the new Seasonal Ladder! (see the previous blog post if you missed the announcement.)

This season will begin on December 9th and run for 60 days, ending on February 7th. If you’re a member planning on joining, it’s a good idea to join it right now to ensure you’ll be in the ladder when it starts. You can join it right now via this link.

Seasons are named using roman numerals, so this season is officially titled Season I. In February we’ll start Season II, then Season III, etc.

For Season I, we’ll use the settings defined by this template. This template is based off of the Strategic 1v1 template, with the following modifications:

  • Light Fog instead of Normal Fog
  • In-distribution neutrals are 0 instead of 4
  • Cyclic move order instead of random move order

The in-distribution neutrals controls how many neutral armies start on each territory that neither player picked. This is usually 4, which makes it more expensive to take bonuses that you didn’t start in. By changing it to 0, it means that bonuses you didn’t start in will be almost as easy to take as ones you did, which makes expansion far easier. Attacking a 0 with even just one army is a 100% success rate, so they can also provide opportunities for easy cards.

The change to Light Fog means that players can see who controls every territory on the map, while still only being able to see army counts for adjacent territories. This change means counter-picks are less effective, as you can always tell if your opponent is on the other side of that neutral.

As an added benefit of using Light Fog, this also allows you to watch other player’s in-progress games. You can’t see army numbers, but at least you can get an idea of who might be winning. There may be times where it’s fun to check up on your biggest opponent’s progress.

I’m interested in hearing your ideas for settings for future seasons! Please post them to the ladder forum.

Announcing WarLight 1.09

On Sunday, November 27th at 1am PDT (8am GMT), WarLight will be upgraded to 1.09.0. While the upgrade is taking place, the website will be down for a short time. If all goes well, the downtime should last for less than 15 minutes.

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

Seasonal Ladder

As announced in the previous blog post, WarLight is getting a new ladder! Once it is ready to join, another blog post will kick off the first season.

Ticking Clock

In real-time games, the clock now makes a ticking sound when it’s under 30 seconds. This helps players who play with sounds enabled tell when they’re getting close to being booted.

Forum Search

The forum now has a rudimentary search feature, which makes it easier to find forum posts. All forum pages will have a search box on the top.

The search is powered by PostgreSQL full-text search functionality. It’s not incredibly powerful, but it should be good enough for the forums.

Graph Improvements

The graphs section under the statistics window is getting some improvements. Previously, you could graph “armies received per turn,” which showed the player’s income for each turn as the game progressed. This graph is inconsistent when it came to cards, as some cards would be reflected in the totals (such as sanction cards) and other cards were not (such as reinforcement cards).

This graph metric is being split into two separate graphs: Base armies received each turn, and armies actually deployed each turn.

Base armies received each turn is the same to the old graph, except that cards are no longer counted in the total. This means it reflects the number of armies that the player would have been getting if cards did not exist.

The new graph, armies actually deployed each turn, shows the number of armies that the player added to the map every turn. Therefore, this takes into account all cards, such as sanctions and reinforcements. What makes this graph extra useful is that it works while fog games are still in progress. It will simply show how many armies that you saw that player deploy for each turn.

This may not match their total income while fog games are in progress, as they could have deployed armies elsewhere on the map that you could not see. However, this makes it easier to see how many armies you’ve seen your opponent deploy without having to navigate through history turn-by-turn and adding up all of the deployment orders you saw.

Map Design API

Map designers who are also developers can now write programs to enter details about their map, which can be easier in some cases than using WarLight’s built-in map designer. This can be used to enter territory names, connections, center points, bonuses, and distribution modes. See Map Details API on the wiki for the details.

2v2 ladder change

As previously announced, the initial armies that each player starts with in the Strategic 2v2 template is being changed from 5 to 4.

Misc Changes

– The automatic refresh now refreshes more often when you’re actively chatting in a game, which makes real-time conversations easier.
– Added a button in the map designer that shows URL you can use to share your map with other players.
– Fixed a bug with the map designer that caused uploading a SVG that had problems to create an empty map that had to be deleted.
– Fixed a caching bug that caused map thumbnails to be very slow at updating when a map was changed.
– Fixed a bug that caused the Favorite Games screen to not show archived games.
– Fixed a bug that was causing total times played with another player to show lower numbers than normal on your invite list.
– Fixed a bug that caused a boot notification that appears in the orders list to come up a turn late when players are set to turn into AIs when booted.
– Forum threads that do not get posted to for more than 6 months are now automatically deleted. Some special threads are immune from deletion, such as The Impaller vs The World ones.
– Improved the analyze window in cases where the offensive kill rate is set to very low percentages. It’s still wrong in some cases, but they’ll be far more rare.

Announcing the Seasonal Ladder

I’m pleased to announce that WarLight is getting a new ladder! The new ladder, called the Seasonal Ladder, works a bit differently than the existing 1v1 and 2v2 ladders. While the current ladders are never-ending grinds for the top spot, the seasonal ladder hosts 60-day seasons, where each season will use different game settings. This will give us an opportunity to explore WarLight’s great wealth of maps and customization options on a global scale.

Each season is ranked independently of each other. At the end of the season, the rankings are fixed and will be preserved for all time, and will appear on winning player’s profiles.

Since they’re ranked independently, it’s easy to sit out a season if you don’t like that season’s settings or just need a break. One could view the seasonal ladder like a sprint, whereas the 1v1 and 2v2 ladders are more like marathons.

Games

Each player that plays in a season will get 15 games*, and will never play the same opponent more than once in a season. Having all players have the same number of games adds even more fairness to the final rankings that the existing ladders don’t enjoy.

On the first day of the season, all players get 4 games. Every 4 days after that, one more game is added until all players have 15. If a player joins the season late or leaves it early, they are not guaranteed to get 15 games. However, the ladder will try to catch them up to the rest of the crowd, and in most cases will be able to.

Rankings

The rankings are determined using the same ELO scale that the existing ladders use, with one small modification. Players who play fewer than 15 games (due to leaving the ladder early or joining late) get a penalty of 40 rating points per game. It’s best to join the season before it starts and stay in it for the whole 60 days to ensure you do not receive a penalty. The penalty exists to ensure players can’t game the system by intentionally joining the season late and riding to a high-rank by getting a few lucky games.

Force-finish

In order to ensure a winner can be declared and the rankings can be finalized, all games in a season must be finished by the ending date, which is exactly 60 days after it began. If a game isn’t done when the season ends, it will be immediately ended by WarLight. The winner will be determined by adding up how many armies each player controls on the map, then adding in each player’s income times two.

All players are expected to give every effort to finish their games before the end of the season. Players who intentionally drag a game out to a force-finish will bring great shame to their families for three generations. (okay, not really.)

Settings

The settings for the first season have already been determined and will be announced in a future blog post (coming very soon). I’m very interested in everyone’s opinions for maps/settings for future seasons! Please submit your ideas to the ladder forum.

Initially the seasonal ladder will only support games with two humans (AIs are possible, though I can’t think of a scenario where it makes sense to use them.) In a future release, I plan to upgrade the ladder to support more than two players per game, which will allow for FFA seasons and random-team seasons.

The first season will start in early December. Like the other ladders, only WarLight members may join. You will be able to join the ladder once the next release is live (v1.09), which should hopefully be live within a week or so.

* Some players may get 16 games, since there are cases where it’s not mathematically possible to give everyone exactly 15 without duplicates. Getting 16 is neither an advantage or disadvantage.

Upcoming 2v2 ladder setting change

As voted on in the previous blog post, the 2v2 ladder will have a small setting change. The initial number of armies that each player-owned territory starts with will change from 5 to 4.

This change will make it more difficult for players to capture a bonus on the first turn. A similar change was recently made to the 1v1 ladder, so this brings the settings more in sync with each other.

This won’t take effect on until the next WarLight release goes live (v1.09). This will only affect games created after it goes live — existing games will not be touched.

The voting was very close! I e-mailed all members of the 2v2 ladder that hadn’t voted, so the turnout was very good — almost everyone in the 2v2 ladder voted. 28% voted to keep it at 5 armies, 32% voted to change it to 4, and 30% voted that they did not care.

Ultimately I’m confident that the change will make the games more engaging. However, the change does require a shift in strategy, so be sure not to let it take you by surprise!

Members: Please take the ladder survey

Please click here to take the ladder survey. Because this survey has to do with WarLight ladders, and ladders are member-only features, this survey is open only to WarLight members.

This survey will help determine if there’s enough interest to create new WarLight ladders. Many options are presented, such as FFA ladders, a 3v3 Europe ladder, and seasonal ladders.

This survey also proposes a change to the 2v2 ladder. The 2v2 ladder currently starts players with 5 armies on each territory. If the measure passes, players would start with 4. If you’re in the 2v2 ladder, make sure you vote!

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.

Music

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.

Impact

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!