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!

Stand-alone Client

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

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

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

Kongregate Link

Small Update: 1.7.3

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

More Updated Graphics

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

Bug Fixes

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

Small Update: 1.7.2

WarLight will be going down for maintenance tonight (Tuesday, September 27th) at midnight PDT (7am GMT). This deployment will involve a little more downtime than usual, but if all goes well, it should be down for less than 1 hour, but the site may be sluggish for a few hours after that as a few migration scripts need to run. Please plan accordingly for any fast games or single player games that may get interrupted during this time.

During the downtime, you can visit the Server Status page on the wiki for up-to-date information about the status of the maintenance.

During this time, WarLight will be upgraded to 1.07.2. This blog post contains a summary of what’s changing.

Average Speed Changes

As shown in this image, WarLight now tracks the average play speed of each player separately between multi-day games and real-time games. This is helpful for players who play real-time games, as they can now see how fast a player tends to play those games.

Further, players can use open seat prerequisites to filter down players based on their real-time speed. For example, game creators could prevent anyone from joining their open seats who takes, on average, more than 4 minutes to play their turns in real-time games.

Note that it may be a few hours after the update goes live before the numbers displayed on profiles are accurate.

1v1 Ladder Setting Change

As previously announced, players now start with 4 armies per territory instead of 5 in the 1v1 ladder. This change only takes effect for new games created after 1.07.2 is live – existing games will not be modified.

Bug Fixes

– Fixed bugs around the “Inactive for” field that appears on player’s profiles. Previously, it could sometimes show a player as active when, in reality, they really never came to the site. For example, if a player was booted from a game, it reset their “inactive for” back to 0. Now it only resets when a player actually commits orders or sends territory picks.
– Fixed a bug that caused an error if a player joined an open seat, left the game, and then re-joined the same open seat again.
– Lots of performance improvements that will help the site respond faster.

Small Update: 1.7.1

WarLight will be upgraded tonight to version 1.07.1. This update doesn’t have any new features, but it contains a lot of bug fixes and performance/scalability improvements.

This deployment will involve a little more downtime than usual. WarLight will be going down tonight (Saturday, September 24th) at midnight PDT (7am GMT). If all goes well, it should be down for less than 45 minutes. Please plan accordingly for any fast games or single player games that may get interrupted during this time.

During the downtime, you can visit the Server Status page on the wiki for up-to-date information about the status of the WarLight server.

I previously said that the 1v1 ladder setting change would be in 1.07.1. However, since this release will require a little more downtime than usual, I wanted to do it on a weekend since fewer people play on weekends. Therefore, the 1v1 ladder change is being pushed back to 1.07.2. But don’t worry, 1.07.2 should be along soon.

The main motivation behind these performance and scalability improvements is to get WarLight’s cost down. A few weeks ago the WarLight database outgrew its hardware, so it needed to be upgraded to a beefier machine. Since WarLight uses cloud hosting, it’s easy to upgrade and downgrade the server, however the higher monthly bill is killing me. In this release, WarLight’s chat system is being internally de-coupled from the game system, which should reduce the number of transaction conflicts. Not only will this increase the speed of the site in some cases, but hopefully it will reduce the hardware costs as well. This schema change is also the reason for the extended downtime.