WarLight 2.0 is now live at WarLight.net!

It’s finally here! All of WarLight 2.0’s features are now live on the website at http://warlight.net!

Releases of the Android, Kindle Fire, and iOS versions will be coming soon, as per the previously announced schedule.

Players will now begin earning achievements and points when playing in multi-player games. Go crazy, and have fun!

Also, check out WarLight’s new promotional video! It’s mostly geared towards new players, but you may find it interesting anyway:

Members who don’t want to see advertisements can turn them off on the Settings tab. If you’re not a member and don’t like ads, you can purchase a membership to play ad-free for life!

In case you missed it, here’s links to the information that’s been announced previously:

Initial announcement
Points and levels
Achievements and Trophies
Map unlocking
CLOT Changes

WarLight 2.0 release date: Wednesday July 31st! (without iOS)

WarLight 2.0 is right around the corner!

Since Apple’s developer website is down, I’ve decided to go ahead and release WarLight 2.0 without the iOS clients. Here’s the planned time table of the release:

Morning of July 31st: 2.0 goes live on the website. Points, achievements, and all new features are all live for warlight.net players.
Later on July 31st: The Android app goes live on Google Play. Android phone or tablet users can download it from Google Play.
The next day, August 1st: The Kindle Fire app goes live on Amazon.com for Kindle Fire users.

The iOS app for iPhone, iPad and iPod Touch users is postponed. Even once Apple fixes their website, which has been down over a week, they still have to approve the app before it can go live. Under normal conditions, it usually takes Apple a week to approve apps, but since they’ll be coming off of downtime, I would not be surprised if review times take much longer than normal.

Other than the iOS delay, I hope you’re as excited for WarLight 2.0 as I am! It’s going to be awesome!

If you missed it, here’s links to the previous announcements that explain what 2.0 is all about:

Initial announcement
Points and levels
Achievements and Trophies
CLOT Changes

CLOT Update

Since I’ve been busy waiting for Apple’s website to come up, I’ve been working on an overhaul to the CLOT framework. For those who don’t know, CLOT stands for “Custom Ladder or Tournament” and it’s a way for software engineers to create their own WarLight ladders or tournaments. Ladders and tournaments created by CLOT are very flexible, and can do all sorts of things that the built-in ladders and tournaments cannot. See the original blog post for examples of what it can do.

This overhaul was aimed at making CLOTs easier to test via a test mode, making the code simpler and easier to understand, making the app use fewer resources, and implementing many of the commonly needed features, such as hosting multiple tournaments from a single website or handling vote-to-end gracefully.

You can check out the code at github.com/FizzerWL/CLOT.

Test Mode

If you look in api.py, there’s a line that says TestMode = False. By changing this to True, you’ll enable test mode which allows you to test your app offline using fake data.

In test mode, the app won’t hit warlight.net APIs at all, and instead when the code tries to call an API, it will return fake data. This is useful while building your app since you can easily simulate players signing up and see how games get created with them. You can do things like simulate 500 players signing up to your tournament, which would be very time consuming to do by hand.

When you’ve got everything working perfectly, all you have to do is set TestMode back to False and release!

Easier to Understand

The code has been simplified. First, the Django framework was completely removed. Django is a large framework with lots of features, and CLOT hardly used any of them. It was just overkill for our needs.

Instead, it simply uses the webapp2 framework, which is built-in to Google App Engine (GAE) and it’s the same framework that the GAE tutorial walks you through learning. It’s a lightweight framework that’s very simple. It’s much easier to understand than Django.

CLOT was using Django for forms (making it easy to get input from the user). To replace this, I introduced WTForms which is also pretty lightweight and easy to use. CLOT only uses forms in a couple places, such as first-time setup, so you probably won’t need to mess with it much.

The data storage system was upgraded to use “ndb” in place of “db”. This is Google’s upgraded storage system which has a cleaner API and uses automatic caching when getting entities by key. Also, the GamePlayer table was removed for simplicity, and players are now just stored as a list in the Game table.

Uses Fewer Resources

CLOT now uses a caching layer that causes it to use drastically fewer calls to the database. The goal of this is to run a moderately popular CLOT on Google App Engine and not exceed the free quota. I ran a real-time ladder for seven hours, and it used less than 10% of the daily free database quota.

Implements Commonly-Needed Features

The base CLOT code now does a lot more for you. For example, it allows you to run multiple ladders or tournaments from the same website, whereas before you would have had to build that feature yourself. This involved adding a LOT table (Ladder or Tournament) and mapping all of the games to it.

The app now uses authentication instead of requiring players to copy/paste in their invite token. This allows players to securely add or remove themselves from the ladder/tournament.

If players decline a game or fail to join it before a configurable time limit, the app will now automatically delete the game and count it as a loss for the player who didn’t join or declined.

If players vote to end a game, it no longer breaks the ladder.

CLOT in WarLight 2.0

I’ve mentioned a few times that there are going to be some upgrades to the WarLight APIs once WarLight 2.0 launches. I’ll detail here what’s changing.

The membership rule on the CreateGame API (that CLOT uses), is that you can only use features in games that every player you’re inviting can use. This differs from creating games via the UI, where only the game creator needs access to the feature. For example, if you want to use rounding mode or low luck levels, all players in the game need to be a member, since only members can use rounding mode or low luck levels.

In 2.0, it’s possible for non-members to get access to these features, such as low luck levels or rounding mode. Therefore, when inviting players to a game, as long as they have access to those features, you can use them when inviting them via the API.

Technically, this requirement isn’t changing, it just requires expanding your view from a member/non-member to a more granular permission system. If you want to create a 0% luck CLOT, you need to require that everyone joining the CLOT has access to use 0% luck — it doesn’t matter whether they earned that by leveling up or by purchasing a membership.

When someone is joining your CLOT, you call the ValidateInviteToken API. Today, it just tells you if they’re a member or not. In 2.0, it will tell you exactly what they have access to, such as whether they can use 0% luck or alternative rounding modes.

This means that it will be possible to create CLOTs with non-members using all of the features that WarLight offers to non-members, it just might require that players achieve a certain level before they can join your CLOT.

Also, there’s another related change to the CreateGame API. Today, if you try to use a feature that someone doesn’t have access to, it simply reverts back to the default. For example, if you try to make a 0% luck game and a player doesn’t have access to it, it simply creates the game with 75% luck. In 2.0, it won’t do this, and instead will give you an error message if you use something without access.

This is better if you want to ensure that your settings are being used. You won’t have to worry about some games in your tournament using different settings than others. However, this also means you need to be more careful about letting in someone that doesn’t have access to a feature you need to use, otherwise you won’t be able to make the game. For this reason, you need to be sure and check their permissions before letting them join your CLOT.

Check out CLOT’s getting started guide, and feel free to let me know if you have any questions at fizzer@warlight.net!

Coming soon: Achievements and trophies!

WarLight 2.0 is coming! This blog post gives a sneak peek into one of the new features.


I’m sure most of you know what achievements are from other games — these are little rewards you get for doing something good or notable.

Once WarLight 2.0 goes live, players will start earning achievements for various things throughout the entire game. For example, there’s an achievement for winning an FFA game with at least 10 opponents, and another for eliminating three or more opponents and winning a game in a single turn.

Achievements are another way of earning points. Achievements award points based on their difficulty – the more difficult the achievement, the more points you’ll get for getting it. However, most of your points will still come from winning ranked games/tournaments/ladders. Achievement points are just a bonus.

In addition to rewarding accomplishments, achievements also serve as a way to encourage new players to try out all of the features and mechanics that the game has available. For example, there’s an achievement for using an order priority card to kill a stack of enemy units that were attacking an undefended territory of yours on their first move, and another for sanctioning a player with more than ten times your income.

No achievements will require a membership to earn.


Achievements are considered things that any player could just go out and do. Trophies, on the other hand, are for tasks that are rare, very difficult, or special in some way. For example, there’s a trophy for achieving rank #1 on the 1v1 Ladder, and another for playing WarLight while it was beta. Trophies are intended to be rare, and most players will probably never get one.

Unlike achievements, trophies don’t actually award points themselves, but they’re displayed prominently on player’s profiles. (Ranking #1 on the 1v1 Ladder would award plenty of points from the ladder, just not from the trophy itself.)


Like the leveling rewards, I’m not going to reveal a big list of all achievements that are in the game. They should be considered a secret at first. There’s a bunch of really fun ones that I’m holding myself back from revealing here.

Once they’ve all been discovered, they’ll be detailed on the wiki for all to see. Until then, please don’t post any big lists of achievements on the forum. Having achievements pop up as you play the game normally is more fun than treating it as a task list and working on each one in turn. I’m trying to encourage players to treat it the more fun way.


Some achievements may be something that you’ve done before 2.0 went live. For the most part, achievements are not backfilled — you will need to do them again to earn the achievement.

However, there are a few exceptions. Some things from the pre-2.0 days will contribute to achievements. In some cases, you will need to trigger the achievement that you’ve already completed. For example, there’s an achievement for getting a gold star on every single-player level. If you’ve already gotten a gold star on every level, you can easily earn the achievement just by re-getting any one of the gold stars (for example, just beat level 1 again). This will cause the game to notice that you’ve gotten all six and award the achievement.

Trophies are different — all trophies are automatically backfilled. If you did anything to earn a trophy before 2.0, it will automatically be awarded when 2.0 goes live.

Coming soon: Points and levels!

WarLight 2.0 is coming! This blog post gives a sneak peek into one of the new features.

Points and Levels

In WarLight 2.0, all players will start at level 1. Any time you win a ranked game, you will receive points. Earn enough points and you can advance to the next level.

The idea of leveling up is familiar to anyone who’s played an RPG. However, WarLight’s leveling system has an important distinction: In WarLight, levels don’t actually make you stronger. WarLight is fundamentally a competitive strategy game, and games will always be won or lost based on your strategy alone. Levels will not do anything that gives you an advantage in a game. It’s just as easy for a level 1 player to defeat a level 30 player as it is for a level 40 player.

Instead of making your stronger, levels will unlock additional features you can use. For example, players can unlock the ability to set the luck modifier when creating games, create tournaments, create games with more than six players, and many other things.

The number of points you get for winning a game is based on the level of opponents you defeated, so it’s advantageous to challenge higher level players. As you may suspect, there will also be other ways of earning points, such as tournaments, ladders, and more.

Having point awards for winning games enhances the WarLight experience since it gives more meaning to winning games than just a tally on profile pages. This makes WarLight games a lot more exciting!

It’s a secret to everybody

Every level has a reward of some kind, so there are a ton of things available to unlock by leveling up (including some for members.) But I’m not going to spill the beans here. The level rewards will remain secret at first so that players can discover them on their own as they level up.

Because of this, some of the new 2.0 features won’t even be announced on the blog right away. You’ll have to level up to discover them.

Eventually, the level rewards will all become common knowledge and they’ll all be listed on the wiki. However, until that happens, please don’t post any big lists of level rewards on the forum. This makes it more fun for players who are leveling up for the first time and want to discover them as they go. Discussing them one at time is fine, just don’t post any comprehensive lists for a while.

Grandfather clause

Some of the level rewards are things that players get by default today. For example, in 2.0, players have to unlock the ability to create games using multi-attack, but prior to 2.0 everyone was able to use multi-attack right away.

All accounts created before this announcement will be considered grandfathered. All grandfathered accounts will automatically have access to all of the features that used to be given by default. This is done so that nobody loses anything when 2.0 goes live.

Because of this, if your account is grandfathered and you unlock a level, you will sometimes see a message that says “You already have the reward for this level.”

I hope you’re excited as I am for WarLight 2.0!

Season X

Congratulations to brisk for winning Season IX! It was a hard fought season that came right down to the wire, but brisk pulled out a victory with an impressive 17-3 record.

Season X will be a departure from the 1v1 seasons we’ve had up until this point. This marks very first time that WarLight has ever had an FFA (free-for-all) ladder!

Season X will be a four-player FFA on the Four Castles map:


TAKE NOTE: The boot time is lower in this season than normal. This season will use a 2-day auto boot instead of the usual 3-day auto boot. This helps ensure the games progress at a decent rate. If you’re going to be gone for more than two days, make sure to activate a vacation. Also, please don’t intentionally drag out games. We need everyone’s cooperation to ensure we get through most of these games before the end of the season. If you see someone intentionally playing slow in this season please report them to me.

Each player will start in their own castle for fairness. Surrenders must be accepted, so any player can veto someone trying to leave early. Army cap is enabled at 15x, which prevents players from stockpiling armies forever which could cause the games to drag out too long. (Essentially this means if you stockpile armies for more than 15 turns you’ll be forced to attack someone)

Everyone starts with a blockade card and can earn more rarely. Recon, priority, delay, and reinforcement cards are awarded regularly. Diplomacy card is also present, but rare. There will also be one random card piece per turn, so you won’t be able to predict exactly what cards your opponents have.

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

The season will start on Tuesday at midnight GMT (which is really Monday night for those in negative timezones). If you participated in Season IX, but don’t want to participate in Season X, be sure to leave the ladder before it starts.


Since this is the first FFA season, there are a few adjustments. First, there will only be 12 games in the season, not 20, since the games take a bit longer to play. However, the rate at which games are given out won’t be adjusted, so most games will be created early in the season so that they have time to finish.

The ratings are still calculated with a Bayesian ELO like they are now. Each 4-player FFA game gets fed to the ratings algorithm as three 1v1s, where the winner defeated each one of the three losers. Therefore, there is no second place, and all players should be trying to win at all times.

Also, there’s a chance that this season could finish after WarLight 2.0 is live (I’ll try for it but I can’t promise). If that happens, the people who do well in this season will be very pleased. Good luck!

WarLight 2.0 is coming!

There’s a major update to WarLight coming! And it’s going to be awesome!

WarLight will soon be upgraded to 2.0, which will be the biggest update to the game since 1.0 released over two years ago.

A big part of 2.0 will be the official release of the mobile client, which will allow playing from iOS and Android devices. However, the mobile client is not the only thing coming in 2.0 — there will also be changes and improvements to the website.

One of these changes is that the site will start showing advertisements to non-members. I’ve never been a huge fan of advertisements, but this change is unfortunately necessary. WarLight has, so far, never been able to be profitable under the membership revenue model, and at some point that needs to change. The site costs over $1,000 every month just to keep the servers running, and less than 5% of players purchase a membership.

By showing ads to non-members it provides two paths that players can take: You can either purchase the game (i.e. a membership), or play for free and see ads. I intend for the ads to be as unobtrusive as possible.

Along with this change, there will be ways for non-paying players to gain access to many of the features that are restricted to members today. More details on this will be announced later.

In the end, I believe that most non-members will be happy with the new WarLight, as they’re going to be getting a lot more from the game than they are now.

Stay tuned to the blog for more information about what else is coming in 2.0!