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

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:

ABCD -> BCDA -> CDAB -> DABC -> ABCD

After this update, the order simply swaps:

ABCD -> DCBA -> ABCD -> DCBA -> ABCD

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.

Changelog

– 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!

Website update 2.2: Clans!

WarLight has just been updated to version 2.02.0! This update brings an official clan system to WarLight, as well as a few bug fixes.

Clans!

WarLight now has an official built-in clan system! This allows players to form clans, which puts an icon next to each clan member’s name and gives clans ways to communicate easier.

Each clan gets a clan page, which works somewhat like a player’s profile page. They can upload their own image and enter the details they’d like to present. You can view all clans on the new Community -> Clans tab.

When you create your own clan, you have full control over who is allowed in your clan. There’s no limit to the size of clans, and you can remove anyone at any time.

Clan Icons

Instead of requiring clan members to change their name to insert their clan tag, when using the built-in clan system, clans can upload a small icon (21×15) to display next to all clan member’s names everywhere throughout the game.

This is better than using name changes for several reasons:

  • Since it’s an image, and not just text, it gives clan creators a lot more flexibility in what they can put here. You can design your own icon to which can stand out more. Of course, you can just use text in the icon if you want, but since it’s an image you can use different colors or fonts as well.
  • Players might not be eligible for a name change when they want to join your clan, so they may have to wait before inserting your clan tag.
  • It’s possible to remove people from your clan, which may be difficult to do if the person you’re removing isn’t eligible for a name change or isn’t cooperative.
  • Trolls can’t impersonate your clan, since there’s no way for them to get the icon without your consent.

Clan Forum

Each clan gets their own private forum where they can communicate. This works just like the public WarLight forums, except that only clan members are allowed to read or write to the clan forum.

Clan members can access the clan forum by visiting your clan page and clicking Clan Forum.

Clan Titles

As a clan creator, you can set a title for each clan member. These titles are displayed next to each clan member on the clan page.

For example, maybe you want to set your own title as “Leader” and assign an “Officer” title next to special clan members. Since it’s a free-form text field, you can enter any title you want for any member.

Clan Managers

Clan managers can edit the clan page, invite new players, remove players, set titles, and add/remove other managers. When you create a clan, you will be a manager by default. However, you can add more managers to assist in managing the clan.

You should be careful to only add managers that you trust 100%. Since managers can do anything to the clan, they could even remove your manager rights if they wanted to take control.

This also gives a way to hand off control of a clan if the leader retires. The current leader can make the new leader a manager, who then can take over managing the clan from that point forward.

Creating Clans

It costs $15 to create a clan. This is a one-time fee — once the clan is created, there are no more fees. This helps ensure the clan creators are serious. Without any barriers to entry, you’d wind up with thousands of clans, since people would create one just to put an icon next to their name. This would diminish the meaning behind clans, and make it difficult for clans to become recognized when there’s so many.

Having a barrier to entry also ensures that trolls won’t create clans that impersonate well-known clans and other such nonsense.

To get started creating your clan, visit the create clan page!

The future: Clan Wars?

I’m very interested in adding a way for clans to declare war on each other. Do you have any ideas on how you might like this to work? Let me know by posting on the clan wars brainstorming thread.

Other Changes

There are a few other fixes that aren’t clan related in this update:

– In games with lots of chat (particularly real-time games), public team chat will now prune older messages from the chat box. This helps keep it from slowing down when there’s a lot of people chatting. It will always keep the most recent 30 messages, and it will only remove messages older than 5 minutes. If you want to see something that was removed, just click the “View older chat” button. Nothing will be pruned after the “View older chat” button is clicked, so you can be sure you’re seeing everything.
– If someone is booted into an AI, they will be prevented from being booted again immediately after for 60 seconds. This gives the AI server a chance to calculate the orders for that player. This fixes the issue where someone would get double-booted and not get a chance to play as an AI.
– Fixed a bug that made surrendered/eliminated/booted players show as having income in the lower-right popup.
– Two-team double-elimination tournaments can’t be created anymore (they were bugged if you tried anyway).

Season XI

Congratulations to The Duke of Ben for winning Season X with a very impressive 12-2 record! Given that Season X was a 4-player FFA, even a 4-10 record would be considered above average. At the start of the season, I didn’t think anyone would get 12 wins!

Season XI

Season XI is one I’ve been looking forward to for a long time. This season will use the new Local Deployments setting. This setting makes it so that armies you receive from a bonus can only be deployed within that bonus.

For example, Central America is worth +3 armies per turn. If you control Central America, those 3 armies may only be deployed to one of the territories within Central America. The 5 base income you receive, as well as armies from reinforcement cards, can still be deployed anywhere as normal.

This will completely change the strategy of the game. This setting is new to everyone, however, so everyone is on equal footing in trying to figure out these new settings. To help ease us in to the new strategy, this season will use Light Fog, which should make it easier for less experienced players and also ensure games finish faster.

You can check out the template for Season XI here: multi-player, single-player. If you haven’t unlocked Local Deployments yet, you can still practice the settings if you can find an opponent you trust to deploy according to the local deployment rules.

The season will begin on Tuesday at midnight GMT (which is Monday night for those in negative time zones like North America). Good luck!