Maximum number of invites by non-members has been raised to 6!

Due to popular demand, free WarLight players can now invite 6 players to a game. This enables 3 v 3 games, as well as 2 v 2 v 2 matches.

Please note that 6 invites includes yourself, so this means you can invite a maximum of 5 friends plus yourself.

This was changed in a small update today, which also included a few bug fixes and minor improvements. Here’s the full list of changes:

– Raised the invite limit for non-members from 5 to 6.
– Moved “Newest maps” on the Dashboard to the right column.
– The 2v2 auto game and the Strategic 2v2 templates are now actually 2v2 instead of FFA.
– Ladder pages no longer show games still in the lobby as have moved on year 0001.
– Fixed many pages on Chrome so they no longer stretch to 100% width.
– Recent ladder games on the dashboard page now sort correctly.
– Fixed the rank that appears for contender 2 in a ladder game’s description.
– The ladder keeps a log of bayeselo commands located at Data/BayeseloLog.txt. This will be explained in the next blog post.

Announcing the WarLight 1.0 Launch: Saturday, February 19th

After almost three years in development, WarLight will shed it’s beta tag and launch 1.0!

WarLight will be going down on Saturday, February 19th at 1am PST (9am GMT) for up to two hours. Please plan accordingly for any fast games or single player games that may get interrupted during this 2-hour window.

During this time, WarLight will be upgraded to v1.00.0. Once the deployment is complete, you can view all of the changes on the Change History page.

WarLight is not finished!

Just because it’s being called 1.0 does not mean that I’m done working on WarLight. This is just a milestone – I have no plans of moving on to a new game. To further reinforce this, the company that will own WarLight has been named WarLight, LLC.

Features Summary

In case you haven’t been following along with the previous blog posts, here’s a summary of the changes coming to WarLight:

  • The Ladder: The WarLight ladder is a ELO-based ranking system where players compete for the top spot on the ladder. Initially a 1 v 1 ladder will be available, with more coming later.
  • Automatic Booting: A third boot timer, next to the direct-boot and vote-to-boot timers will be made available to game creators. When players reach this time, WarLight will boot players that aren’t playing from games automatically, without requiring any player having to click the boot button.
  • The Statistics Window: The current “graphs” window is being absorbed into the new statistics window, which provides a variety of interesting information about your WarLight games.
  • The Dashboard: The dashboard gives an overview of the latest things that have been happening around WarLight, including new maps, forum posts, blog posts, etc.
  • Membership System: WarLight is adopting a freemium-style membership system.


While I love free things, it�s obvious that WarLight cannot continue forever without bringing in revenue to keep the servers online. WarLight will adopt a “freemium” model, which is just the latest term for having a free service alongside a premium paid mode that offers more features or a better experience. WarLight will sell lifetime memberships which give access to features of the site that the more hard-core players tend to want to use, such as ladders and the statistics window.

Many of the features restricted to members only apply to game creation. This means that a member can create a game using the cool member-only features and invite all of their non-member friends to a game. This is designed so that, within a group of friends that play WarLight, only one person needs to become a member to allow all of their friends to enjoy many of the member benefits.

Member benefits:


Rest assured, WarLight will always be free to play! WarLight membership just gives you access to more features.

It’s tough to decide between a one-time or a reoccurring fee for a site like WarLight because it has a high cost-per-user in hosting fees. Everyone likes one-time fees, and it would certainly generate more sales, but the trouble with one-time fees are that players who play for a long time eventually end up costing more than they originally paid in. Most of the sites similar to WarLight all have reoccurring fees.

In the end, I’ve decided to launch WarLight as a one-time fee. However, it may change to a reoccurring fee in the future — but of course, anyone who purchases now is buying a lifetime membership which will never expire. The reoccurring fee would only apply to those who purchase after the switch. This will help grow WarLight faster, and it also serves as a thank-you for everyone who helped test during beta. Don’t miss this opportunity!

WarLight offers more than any other Risk-like strategy game online – the game creation options are far more flexible than any other site, and games move far more quickly since everyone is able to play at the same time. WarLight’s one-time fee means, over time, WarLight is less expensive than the others, too:

Announcing New WarLight 1.0 Features

The biggest feature coming in 1.0 is of course the ladder, as covered in the previous two blog posts. But there are more goodies coming as well!

Automatic Booting

This was mentioned in the previous blog post, but it deserves its own section. This is a third boot timer, next to the vote-to-boot time and the direct-boot time, that game creators can specify. When the auto boot time is reached, WarLight will automatically boot any players that have not taken their turn, without requiring anyone to press the boot button.

This is really useful for tournaments, where someone holding up a game can cause the whole tournament to become held up. Automatic booting also applies to the Force Join system that’s already in place for tournaments – a player does not join their tournament or ladder game before the auto boot time is reached, they will be automatically joined to the game (with a random color, if their color was not available.)

The Dashboard

The Dashboard is a new page that will be accessible by clicking the “Home” tab or the WarLight logo in the top-left. This page gives an overview of the latest things that have been happening around WarLight, such as:

  • The newest maps that have been created.
  • Recent forum posts across all forums.
  • Recent posts to this blog.
  • Recent ladder games.

This makes it easy to check on recent events without visiting each individual section.

The Statistics Window

The existing graphs window will be absorbed into the new statistics window, which will show a variety of interesting statistics about the game. The statistics window will only be available for WarLight members. In addition to the graphs that currently exist, it adds two new sections: relations between players, and player statistics.

Relations between Players

The “relations” tab shows how much each player has fought with other players. It’s great for determining who has been fighting who.

It can be switched between the following metrics:

  • The number of A’s armies killed in fights between player A and B.
  • The number of A’s armies killed in A’s attacks against B.
  • The number of B’s armies killed in A’s attacks against B.
  • The number of armies that A defended with against B’s attacks.
  • The number of armies that A attacked with against B.

In the real game, you can hover your mouse over a cell to show a description of what that cell represents. This makes it easy to understand what the numbers mean.

Player statistics

The player stats tab shows a variety of statistics about each player.

It shows the following metrics:

  • Total number of orders issued.
  • Total number of attacks issued.
  • Total number of deployments issued.
  • Total number of cards played.
  • Total number of cards received.
  • Total number of cards discarded.
  • Total number of transfers.
  • Total number of successful attacks. (territory captures)
  • Total number of failed attacks.
  • Total number of armies attacked with.
  • Total number of armies lost by attacking.
  • Total number of armies killed by attacking. (defending armies killed)
  • Total number of armies transfers.
  • Total number of armies deployed.
  • Total number of times attacked.
  • Total number of armies that attacked this player.
  • Total number of armies killed while defending. (attacking armies killed)
  • Total number of armies lost while defending.

Statistics Brainstorming

I want to hear about any more statistics you’d like to see. I plan to add more in subsequent releases – let the brainstorming begin!

Misc Features

  • Sort Tournament Players: When inviting players to a tournament or forwarding a tournament invite, the players list can now be sorted.
  • Performance Enhancements: Many areas of the site have been worked on for performance, and will load much more quickly. Particularly the My Games page has been sped up a lot, and the page that lets you invite players to a game will also load much more quickly.
  • Force Join: The Force Join system has been de-coupled from nudge, and is now a first class citizen. This just means it’ll work more reliably. Players will be force-joinable in any tournament or ladder game once they’ve reached the direct boot timer without joining a game.
  • Members-only open seat prerequisite: Ability to restrict the open seats in your games to WarLight members only.

Announcing the WarLight Ladder (part 2 of 2)

Be sure to read Part 1 if you haven’t. Part 2 continues to discuss some of the more nitty-gritty details of how the WarLight ladders will work at launch.

Automatic Boot

WarLight 1.0 will bring a new feature: Automatic booting. This is a third boot timer, next to the vote-to-boot time and the direct-boot time, that game creators can specify. When the auto boot timer is reached, WarLight will automatically boot any players that have not taken their turn, without requiring anyone to press the boot button.

Automatic booting will be enabled for all ladder games at the 72 hours (3 days) mark. This is bound to be a controversial topic, but let’s first make sure we understand the benefits of this.

The main reason for automatic booting is that it keeps the ladder fair and balanced for all players. If booting was manual, players who eagerly boot whenever possible would, over time, have a ratings advantage over players who were more courteous with their boot button. By making booting automatic, this takes booting out of the equation and makes it fair for all players.

Another reason for automatic booting is that it ensures the ladder as a whole keeps moving. It’s not uncommon in WarLight for players to procrastinate games – I’ve seen some 1 v 1 games that got stuck for exceptionally long time periods (sometimes even over 100 days). These aren’t just because players quit WarLight, but rather they avoid playing specific games. Even when boot times are enabled, often players feel like they should not boot out of honor or kindness.

These kind of delays really cause problems in a ladder. There could be several people waiting to play with a stuck opponent. This also opens up exploits where high ranking players can keep themselves busy in a stuck game, preventing them from having to defend their rank.

Automatic booting solves all of these, but has other disadvantages. If you know you’re going to be away from WarLight for more than 3 days, you’ll need to depart the ladder before you leave. I realize this is an imperfect solution, and I plan to improve this in a subsequent release.

Game Expiration

Three months after a ladder game finishes, it will expire. Although they are still visible on the website for historical reasons, expired games no longer count towards your ratings. This is done for a couple reasons.

ELO is a zero-sum system, meaning each rating point that is lost by one player is gained by another. However, when a new player joins the ladder, they bring 1500 new rating points into the mix. If someone joins, loses a few games, and quits, they just deposited a few ratings points onto other players who may end up never leaving the ladder.

On a small scale this process is not a problem, but over long periods of time it causes ratings inflation. This makes it difficult to compare the true skill over someone who gets an early high rating versus someone who gets a high rating at some point in the future. It also can create further gaps between the players on either end of the ladder.

Wikipedia has a good explanation of ratings inflation here. Not only will game expiration eliminate inflation, it will also help reflect changing skill levels. Most players will get better over time, and game expiration will ensure that your skill changes are reflected in your rating. This also is yet another thing ensuring that high-ranking players need to actively defend their ratings.

First Pick

The strategic 1 v 1 settings have been designed to take most of the luck commonly found in WarLight games out of the mix. The luck percentage is set very low, manual distribution means you can choose where you start, and the initial map layouts are mixed up enough to ensure that the best starting locations are rarely obvious.

Just like any manual distribution game, ladder games will have an initial territory distribution phase where both players choose which territories they’d like to start with. Picking where you start is very significant for determining how the rest of the game plays out.

Sometimes, there’s an unfortunate and unavoidable situation – both players pick the same territory as their #1 pick. WarLight’s behavior, as usual, is to give out the territory to a random player. Their opponent is compensated by getting their #2 and #3 picks, but often it’s still not as good as getting their #1.

I like to compare this to Chess, which is well-known for having an advantage to the player playing the white pieces. Some Chess ELO systems give a slight ratings advantage to players playing white, under the assumption that this will help rank those players closer to their true skill.

WarLight will follow a similar model, giving a slight ratings advantage to players who get first pick. It won’t be a very big advantage – less than a third as big as Chess’s advantage. After the ladder has been live for a few months, I plan to do an analysis of every ladder game to get a better idea of how often the player with first pick truly wins and will adjust the ratings advantage to match the real-world results.


This post describes how the ladder will work at launch. Everything is subject to change – if you’re reading this in the future, be sure and check the Help tab for up-to-date rules on how everything works now.

Announcing the WarLight Ladder (part 1 of 2)

The WarLight 1.0 release will bring us the WarLight 1 v 1 Ladder. A 2 v 2 ladder will probably come in a subsequent release, and potentially a 3 v 3, FFA or other types of ladders coming after that based on demand.

Ladders are competitive arenas where players compete for the highest spot on the ladder. In the 1 v 1 ladder, players who participate in the ladder are matched against each other in heads-up duels to the death.


The ladders will use an ELO rating system, similar to what is used in professional Chess tournaments, to rank players by their skill level. “Ladder” may not be a perfect name, since often ladder indicates a system where you swap positions with your opponent. But for lack of a better term, we’ll run with this for now.

If you’re not familiar with ELO, I’ll give a basic introduction. Each player starts with a rating of 1500, which then goes up or down as they lose or win games. Each win exchanges some amount of rating points from the loser to the winner. This means ELO is a zero-sum rating system, meaning new points aren’t created or destroyed when a game is played. Beating a stronger opponent gives you more rating points than beating a weaker opponent. Simply ordering players by their rating will determine their rank, starting with #1 for the player with the highest rating, #2 for the second highest, and so on.

The WarLight website will clearly show everyone’s rating and rank, and make it easy to view each ladder game as it finishes for those who like following along. There will also be a new forum for discussing ladder games.

My favorite feature of the ladders is how your rating changes based on how your previous opponents ratings change. For example, if you beat someone who ends up becoming the #1 player, you get the full benefits of beating the #1 player, even if they weren’t #1 when you beat them. This also means your rating changes even when you’re not playing, since someone else’s game finishing can have a ripple effect.

Game Creation

In the WarLight ladder, you don’t get to choose who you play against. Instead, the ladder sets up games for you. You can, however, pick the maximum number of games you’d like to be playing at any given time.

When WarLight creates games, it will attempt to “walk you up the ladder” by creating games with players who are 15% higher than you on the ladder. However, it’s possible to get matched with someone higher or lower than that if the ideal positioned player is not available for a new game.

The exact algorithm that WarLight uses for creating games will be documented on the ladder help page.

Leaving the Ladder

Players are free to leave the ladder and re-join it at any time with no penalty. Leaving the ladder does not delete any on-going games, it just stops new games from being created for you.

Your rating continues to be updated even when you’re not participating in the ladder. However, you will not receive a rank while not in the ladder and, therefore, won’t be included on the leaderboard. This is done to ensure high-ranking players have to actively defend their high ranks, and can’t just get into the #1 spot and squat on it.

If you re-join the ladder, your existing rating will be used to rank you just as it was before you left. This makes it easy to take breaks in case you’re going to be away from WarLight for a while.

More to come…

Stay tuned for part two of this blog post, which will discuss how booting works in ladders, how the ladder will control ratings inflation, and the benefits of first pick.

Let’s talk about WarLight 1.0

I frequently get asked what WarLight’s strategy is for generating revenue. So far, I’ve avoided giving an answer, mostly because I was still trying to figure it out.

While I love free things, it’s obvious that WarLight cannot continue forever in its current situation. WarLight costs almost $300 per month just in hosting fees, and (unfortunately) I’m not nearly rich enough to afford this for the rest of my life. There are several different strategies that could work, let’s examine them here.


One option is to rely strictly on donations to keep the site alive. This is similar to the Wikipedia model. Several people have already asked if they could donate to WarLight, but I’m not convinced this would work for WarLight long-term. Wikipedia barely gets by as it is, and WarLight has a significantly higher hosting cost per user than a site like Wikipedia, since most of Wikipedia’s traffic is static content which allows them to make heavy use of caching. WarLight has extremely high CPU and memory requirements compared to most sites, which is what makes it expensive to host.

I also really think the kind souls that donate should get something in return for their money. If a site starts giving a reward for donating, then they’re just kidding themselves calling it a donation. What they’re really doing is selling the reward along with the good feelings that come with donating.


Another option is to put ads on the site and use that revenue to keep it going. Targeted ads work great, as shown by Google’s business model. Unfortunately, WarLight’s audience is far too diverse to get any sort of decent ad targeting to work.

Another form of advertising that works are the annoying ads. These are the ones that fly accross your screen, make noise, pop up, or force you to watch a video. These are all the rage these days in other Flash games, however I’m not a fan of these. Users hate them, and I would only consider this as a last resort. I really hope I never have to subject anyone to this.

Unfortunately if you can’t target and you aren’t willing to use annoying ads, you’re looking at an extremely low revenue-per-user from advertising. These ads can still work if you’re a high traffic site serving “easy” content (static pages), but unfortunately WarLight is not.


Some sites are set up to recieve small payments that enhance your gamimg experience. This is the Farmville and Evony model, where you can pay money to grow your farm/empire faster. Although WarLight could certainly sell things like additional armies, additional cards, more territories to pick or order priority, these would diminish the value and competitive spirit of the game. WarLight is fundamentally a competitive strategy game and I want players to win based on their strategy and not their wallet.


Freemium is just the latest term for having a free service with a premium paid mode that offers more features or a better experience. In a freemium model, WarLight could offer premium features to paying players — things that the more hard-core WarLight players want. For example, WarLight could give premium users more control over their game settings or the ability to play in ladders, while still allowing free players to play the core game.

For WarLight, this model makes a lot of sense since the players that like WarLight tend to really like WarLight. This is the model I have ultimately chosen for WarLight, which will launch with 1.0.

Rest assured, WarLight will always be free to play. You can think of this as you would a retail game releasing a free demo, except “WarLight free” will never expire or limit how much you can play, it will only limit what features you can use.

Why WarLight switched from Silverlight to Flash

The old-timers all remember back when WarLight was a pure Silverlight site. The original post explaining why the change was made is buried in an old forum post, so I figured I would document the switch here.


I first started writing WarLight with the Silverlight 1.1 Alpha. At the time I was just playing around with Silverlight to see what it was; I had no idea WarLight would balloon into something as big as it has. I liked what I saw in Silverlight, as it was quick, efficient and allowed me to easily share C# code between the client and server. This allowed me to get a prototype up and running quickly.

WarLight launched using the Silverlight 2.0 beta, and migrated to 2.0 RTM on launch day and then to 3.0 RTM shortly after it launched. Sadly, this is the last version of Silverlight that WarLight would ever see.

The Switch

Fast forward to September 2009. I had just finished adding the Single-Player mode to WarLight, and had decided that I enjoyed working on WarLight and wanted to continue with it. Silverlight was, unfortunately, the biggest thing holding WarLight back. Silverlight’s marketshare was less than 50% according to, meaning that most players coming to WarLight were faced with an install prompt. Admittedly, Silverlight’s install rate rose very quickly – much more quickly than I expected. Getting to almost 50% in such a short time is unprecedented in terms of browser plug-ins.

Asking users to install a plug-in to use a website is a huge barrier to entry, and is unacceptable to me. Many users want to play from work/university/library computers where they don’t have Administrator access and can’t install anything. Many users also just don’t want to install things, which is understandable – my standard procedure is to immediately close the tab when a site wants me to install QuickTime, Java or Unity. (I have nothing against Unity, it just always crashes during install on my main PC for some reason.) And yes, I know Flash is a plug-in too. However, Flash’s 98% marketshare means that for the vast majority of users, no install is required.

The bottom line is that Flash is the de-facto standard for web-based games. Silverlight has definite potential as it’s more developer friendly and, in my experience, performs better. But Silverlight is new and I’m not willing to wait for its marketshare to be comparable to Flash’s.

I often get asked why I didn’t port it to a HTML/Javascript solution using HTML5’s canvas. That’s easy – canvas’s marketshare was far less than Silverlight’s (probably less than 10%), which is a big step in the wrong direction. At some point in the future I’d love to do this, but 2009 was certainly not the time.

Comparison of Flash and Silverlight

Both Flash and Silverlight have their advantages and disadvantages. Writing the same application in both has given me a good appreciation of the differences between them, at least as it compares to WarLight’s specific requirements.

This section specifically compares Silverlight 3.0 with Adobe Flex 4.0 running in Flash 10. Flex is required for an adequate comparison, as Silverlight has things like buttons, checkboxes, sliders, and a layout system built in. To get these things in the Flash world, Adobe provides Flex which is a layer on top of Flash.

  • Layout: Comparing the flexibility of the layout systems, I prefer Silverlight’s. Silverlight’s objects fill to their parent by default, whereas Flex requires you to put width/height=100% all over the place. Although, being able to say width=50% in Flex is nice, which takes more typing to do in Silverlight. Flex’s VGroup/HGroup only let you set an alignment for the entire container, whereas Silverlight’s StackPanel lets you set the align for each object in the container.
    Winner: Silverlight.

  • Mxml vs Xaml: Silverlight uses Xaml to design its UI whereas Flex uses Mxml.
    Mxml is nice since you can put event handling code right into the mxml file, but Xaml’s attached properties are a thing of beauty, since they avoid Flex’s problem of having a ton of unusable properties on every object.
    Mxml has hacks like a “width” attribute that sets either the “width” or “percentWidth” properties depending on whether or not you include a %. This is lame, as it’s unintuitive as soon as you try to set it via code.
    Some of the Mxml properties are considered “styles” which mean you can’t set them via a normal property assignment. You need to use the setStyle() method, which is unintuitive since they look just like properties. Silverlight has a similar issue with attached properties, requiring you to use SetValue(), but at least you can easily see in the Xaml which properties require this.
    Visual Studio was always slow to open Xaml files for me, sometimes over 10 seconds. I don’t use the designer, I had them always set to open as text, but I suspect some designer-related components were loading anyway that I couldn’t figure out how to turn off. Endless frustration!
    Xaml is just serialized .net objects, which makes everything intuitive and easy. You can import/export Xaml yourself very easily with XamlReader and XamlWriter, and you can even load Xaml at runtime. Mxml is statically compiled, and can’t be loaded at runtime.
    Winner: Silverlight. Xaml is just a well-designed markup language.

  • Language: Flash uses ActionScript, Silverlight allows (almsot) any .net language but most people use C#. This is one of Flash’s weak areas, as ActionScript has decades of baggage that make it a frustrating coding experience. Although it’s clear that Adobe is trying, as they do support closures, first-class functions and garbage collection. However, the inability to share code between the client and other languages give this one to Silverlight easily.
    Winner: Silverlight by a landslide.

  • Component Customization: Silverlight allows any object to contain any object. For example, you can easily put a list box inside of a button (not that you’d want to…). Flex is a more traditional UI layout system, which tries to cover the most common scenarios but ultimately leaves holes. You can still do more powerful things using skinning, but it’s a lot more cumbersome. I recall having to copy+paste over 100 lines of mxml just to have a button with two lines of text. Sad!
    Winner: Silverlight.

  • Automated Testing: Both Flex and Silverlight have poor automated testing tools. I used the Silverlight Unit Test framework and was able to get it working successfully, but for testing an asynchronous app like WarLight, you have to do all sorts of crazy lambdas and callbacks just for basic operations. This makes maintaining state and looping within a test difficult, and also requires that you run your test code on the UI thread.
    With Flex, I used Selenium with a Flex plugin and it avoids the problem above, but required I write a bunch of plumbing code to give myself strong binding between my app’s UI and the test code.
    Winner: Only losers here.

  • Error Reporting: Silverlight has a global error handler that gives you the exception object which includes details of the error, and a stack trace, even in retail builds of Silverlight.
    The retail version of Flash eats all errors. This is a problem for me, as being able to fix errors quickly is important to me. Flash required me to do a bunch of extra work in this area. Every entry point must do a try/catch in order to handle and report errors gracefully. What a pain!
    Even then, you have no stack traces in retail builds. Without stack traces, you often get back an error where the extent of the message is “1009.” 1009 is the Flash code for a null reference exception, but just knowing you have a null reference exception somewhere in your app is not enough to fix the problem. You can put an identifier on each error handler so you at least know the entry point, but that wasn’t enough for me.
    So I wrote a routine that would track stack traces myself. I wrote some rudimentary ActionScript parsing code that injects a PushStackTrace() call to the start of every function, and a PopStackTrace() at the end. Using this, I can track the stack trace all of the time, and when an error occurs I include it in the error report. This has been wonderfully useful, but it took a lot of work just to get back to what Silverlight does for free.
    Flex 10.1 added a global error handler, but you still don’t get stack traces even in 10.1, so it doesn’t solve the issue.
    Winner: Silverlight by a landslide.

  • Performance: Although I haven’t taken measurements, there was clearly a noticeable and significant drop in performance after migrating to Flex. I believe this is specifically attributed to Flex, not Flash. The speed of constructing bunch of Flex objects (order details) and placing them into a scrollable panel (the orders list) made scrolling through the history of a WarLight game much slower than it was in Silverlight.
    Winner: Silverlight.

  • Adoption: Covered above.
    Winner: Flash by a landslide.

  • Bugs: I ran into bugs on both platforms. I’ve reported a few back to Microsoft and Adobe, but overall I wouldn’t say that either platform is more or less buggy than the other.
    Winner: Wash.

  • Overall Winner: Flash! Flash is of course the winner, as WarLight uses Flash today. I’m not particularly tied to the Flash platform, and I’d be happy to move to something new in the future if the move makes sense.

Announcing Beta Phase 22.1: Minor release

WarLight will be upgraded tonight with a small release that contains mostly of bug fixes, but I was also able to sneak in a few features.

WarLight will be going down on Sunday, January 16th at 1am PST (9am GMT) for up to an hour. Please plan accordingly for any fast games or single player games that may get interrupted during this 1-hour window.

During this time, WarLight will be upgraded to Beta Phase 22.1. Once the deployment is complete, you can view all of the changes on the Change History page.


Initial Pieces: Once Phase 22.1 is live, game creators can specify how many cards (or pieces of a card) that players will begin with at the start of a game. Not only is this useful for making the beginning of games more interesting, but it also allows for further customization in variants. If you also set a card’s weight to 0, you can now make cards that are limited in quantity. For example, you could give just one abandon card to each player. They’d only have one for the entire game, so they would need to make good use of it.

Facebook Integration: WarLight will have a “Share on Facebook” button, which assists you in gloating about your wins on Facebook.

Many more small changes and fixes: Such as the refresh hotkey, which allows players to press the “R” key as a shortcut to clicking the Refresh button.