Upcoming 1v1 ladder setting change

The results from the recent vote are in! The vote was about whether or not the 1v1 ladder should start players with 5 armies on each of their territories or 4.

– ~14% voted to keep the ladder the way it is
– ~75% voted to change the armies from 5 to 4
– ~10% voted that they didn’t care.

75% versus 14% is pretty overwhelming, so the measure passes! As is convention, all changes to ladder settings are announced on the blog at least a week before they take effect, so this change will be included in the upcoming release 1.07.1 hopefully next week.

This change may seem minor, as it’s only a 3 army difference, but it’s important as it makes it more difficult to capture bonuses on the very first turn. I’m confident this will be a good change going forward. But beware: any time there’s a change in the settings it’s important to remember it requires an adjustment in strategy. Some of the early-game strategies you’re used to may not work like they did before.

This will only affect games that start after 1.07.1 is live. Since this is a change to the Strategic 1 v 1 template, this will also affect the 1v1 auto games. If this bothers you, remember you can always easily create your own 1v1 games using the old settings.

It’s a good idea to get some practice in before your first ladder game with the new settings! You can use these templates: Multi-player / single-player.

There will be another poll soon about changing this in the 2v2 ladder. Stay tuned to the forum.

Announcing WarLight 1.7

WarLight will be going down on Sunday, September 18th at 5am PDT (12pm GMT) to add new features. If all goes well, it should only be down for about 20 minutes. Please plan accordingly for any fast games or single player games that may get interrupted during this time.

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

Saving Single-Player Games

Single-player games can now be saved and resumed! To do this, visit the Saved Games sub-tab under the Single Player main tab.

When you save a game for the first time, WarLight will ask if you if you want to enable auto-save. If you disable auto-save, it will work like most single-player games do in that you can save a game, try a few things, and then load the game back to an earlier turn.

If you enable auto-save, the game will automatically overwrite the last save each time you take a turn. This means you cannot re-load back to an earlier turn. In order for a win of one of the six built-in levels to count, you must enable auto-save. This means that without auto-save, wins won’t award gold stars, appear on your profile, or lower the turn times showed on the single player tab.

Saved games are saved onto your local computer, not the server, so you must resume each game on the same computer as you started it.

Window Animations can be Disabled

By visiting the Settings tab, players can disable the small “flip up” animation that were added in 1.06. After disabling it, the windows will appear instantly.

Bug Fixes

– Fixed a bug that caused armies to appear moveable out of a territory that is being gifted.
– Fixed a bug that caused the players panel to show a blank state for players who surrendered during territory distribution.
– Fixed a bug that caused neutral 0s to sometimes show blank instead of 0.
– Fixed a bug that caused AI territory selection to overflow on extremely big maps.
– When using a territory limit, AIs now pick an appropriate number of territories instead of picking every territory on the map.

Small Update: 1.6.1

WarLight has just been upgraded to 1.06.1. This was a client update only, so it did not require any downtime. If you’re the kind of person who leaves WarLight open all the time, you will need to refresh your browser to pick up the changes.

Here’s a list of what’s changed:

– Tweaked the pop-up animations to be faster for the attack dialog and deployment slider.
– The “Current phase” green arrow now animates between the different phases.
– The location of pop-ups such as cards, history and chat now persist within a game like they did before 1.06.
– Switched to Amazon CloudFront for deliering static content.
– Fixed a bug that caused the “Advanced” portion of the attack/transfer dialog to not stay open between attacks.
– Fixed a bug that was causing the game to extend off the bottom on screens with low vertical resolutions, such as netbooks.
– Fixed a bug that caused errors when using history’s “Hide orders” check-box.
– Fixed a bug that caused an error when clicking on the ocean when previewing a map.
– In games with fog and multi-attack, the attack/transfer dialog no longer shows the “one army” warning.

Announcing WarLight 1.6

I’m taking a break from working on the mobile version of WarLight to bring a few updates to the main site.

WarLight will be going down on Monday, September 5th at 3am PDT (10am GMT) to add new features. If all goes well, it should only be down for about 20 minutes. Please plan accordingly for any fast games or single player games that may get interrupted during this time.

During this time, WarLight will be upgraded to v1.06.0. This release is a bit of a grab-bag of a bunch of small features that have been neglected over the years. This blog post contains a summary of what’s changing.

Graphic Updates

Many areas of the site are receiving facelifts and animations. Polish has traditionally always taken a backseat to features throughout WarLight’s development, so it’s good to finally give it some effort. I won’t spoil the surprise by posting screenshots here, but it’s safe to assume that you will be pleased!

Collapsible Right Column

The right column of the main game screen that houses the orders list and players summary can now be hidden when it’s not needed. This is primarily designed for players who play on low-resolution screens, such as netbooks. By collapsing it, it frees up more screen real-estate that can be used to display the main map.

Wiki Integration

The help tab has been replaced by links to the WarLight Wiki. The wiki will now serve as the primary way of delivering information about the game.

All of the old help content is gone, and any links to the old content will redirect to the correct wiki page, since I hate creating broken links. Further, many more areas within the game itself now provide links to the wiki, such as next to each game setting and each card.

Big thanks to Grzechooo for helping out with the wiki!

Ending Vacations Gracefully

Vacations now expire one hour after playing in a game instead of immediately. This helps the situation where a player has several games where they are over the boot time when returning from a vacation, especially when some of those games have auto-boot enabled.

The rule of thumb when coming off of a vacation is to ensure players take all of their turns where they’re over the boot time within an hour of each other. By doing this, they won’t become bootable in any of them.

Misc Changes

– The “Advance by one” button was replaced by << and >> buttons that allow for navigating backwards. Players can also use the arrow keys here like they always could in history.
– With the chat window open, holding the Control or Shift keys while clicking on a bonus link now inserts its name into the chat or team chat windows, just like how territories work.
– Each territory and bonus now has a link to Wikipedia under the “More Info” button. This helps those of us who like learning more about the areas we’re conquering.
– After surrendering in a single-player game, the AIs are now significantly faster at finishing the game out.
– The manage-invite-list page now shows when players are on vacation.
– When searching maps, pressing enter after typing a filter now clicks the Apply button.
– The invite limit for tournaments has been raised from 3 times the tournament size to 5 times.
– Renamed the “Select all” button to “Show all”
– Changed the “Team Game” check-box into a drop-down.
– Ladder games now show “expires in X days” if they’re within 10 days of expiring.
– Players in a ladder with 1 game-at-a-time now get automatically bumped up to 2 if they fall under 30 unexpired games.
– Games in the 2v2 now ladder now expire after 5 months instead of 3. Already-expired games won’t un-expire; just new ones won’t expire until they’re 5 months old.

Bug Fixes

– Fixed a bug that occurred when Random Warlords or Random Cities was used in conjunction with overriding all (or most) bonuses to zero or negative armies.
– Fixed a bug that caused ladder matchmaking to include expired games when determining how many times you’ve played an opponent.
– Fixed a bug that caused blank thumbnails for the Tic-Tac-Toe map.
– Fixed a bug that occurred when pressing history’s Next Order button while looking at the distribution of a game that hadn’t taken its first turn yet.
– The lobby now clips player names when they get too long.
– Fixed a bug that occurred when abandon or blockade cards were set to excessively high values.
– Fixed a bug that caused the top pixel of letters to be cut off of map names.
– Fixed a bug that stopped people from being booted when on vacations even when vacations were not honored for that game.
– Player’s profiles no longer show them as idle if they’ve never played a multi-player game.
– Fixed a bug that caused failed attack orders to show the wrong value if you watched it, then clicked to an earlier order, then clicked on it.
– Fixed a bug that caused an error if you tried to create a ranked map-testing game.
– Map designers now get a friendlier error if they upload a SVG file with duplicate territory IDs.
– Fixed a bug that occurred when a map designer leaves the Create Game Wizard on the map browser step while they manage their maps and then return to the wizard.

Sign up for the iPhone preview

As announced previously, I’m working on bringing WarLight to iPhone and Android. Very soon, a preview version of WarLight for iPhones, iPads and iPod Touches will be available to WarLight members for testing.

Unfortunately, the size of this preview will be limited to a very small audience due to Apple’s restrictions. I’d love to include all of WarLight’s players in this preview, but Apple forbids me from doing so. Fortunately, the Android version will not suffer this restriction. I hope to get an Android preview out soon.

WarLight members who own iPhones, iPads or iPod touches can use this link to sign up for the preview. EDIT: removed the link – the preview is full. Stay tuned to the blog – more players will be allowed in once we reach Alpha.

Announcing the WarLight Wiki (which needs your help!)

The WarLight wiki is now live! This wiki will become the ultimate source of information for WarLight players.

It’s available at warlightwiki.com or wiki.warlight.net.

In true wiki fashion, anybody can edit any page on the wiki – you don’t even need to make an account. This is where you come in – anyone who loves WarLight is encouraged to help build out the information provided here.

Any contributions are appreciated, both large and small. Pick your favorite feature and write up how it works, fill in missing pages (red links), or even just make grammar improvements to the existing pages – every little bit helps!

In a future release, the information on the Help tab will be removed and it will just link to the wiki. Going forward, the wiki will be the one-stop-shop for WarLight information.

Announcing WarLight 1.5

WarLight will be going down on Friday, July 1st at 6am PDT (1pm GMT) to add new features. If all goes well, it should only be down for about 20 minutes. Please plan accordingly for any fast games or single player games that may get interrupted during this time.

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

Vacation Mode

WarLight will let you mark yourself as “on vacation.” This feature helps players avoid getting booted in times when they’re going to be away from WarLight for a while.

Simply visit the Settings tab right before you leave on vacation and turn on Vacation Mode. While in this mode, WarLight will display a small “V” next to your name to let other players know you’re on vacation. It will also prevent you from being booted from most games. Note, however, that game creators have the option of disabling vacations in their game. In these games, you’ll still be bootable, so be sure to check the game settings.

Further, vacations aren’t honored in real-time games either. Real-time games are meant to be played in a single sitting, so going on vacation doesn’t really make sense.

To prevent abuse, each player is limited to 5 vacations per year and each vacation can last up to 10 days. If you’re gone longer than 10 days, you can extend your vacation. You can extend your vacation to up to 10 days from the current date, so you’d have to visit the website while on vacation.

Auto-boot with Banking Boot Times

In order to support vacations, the auto-booter had to be improved to be smarter about when to check games for bootability. As a result of this improvement, it also made it possible to support auto-boot in conjunction with banking boot times. This are two features which previously could not be combined – now they can!

Expired Ladder Games are easier to see

The website now shows (Expired) next to games that are more than 3 months old. This makes it easier to see which games are affecting your rating.

Preparation for Mobile Client

As mentioned in the previous blog post, this release contains code to support the upcoming iPhone and Android versions of WarLight. Stay tuned for the preview!

Misc Changes

– The website recieved some style updates.
– When using the Control+Click deploy method, starting to issue an attack now closes the deployment slider.
– When your teammates change orders, the game no longer shows the wait dialog.
– Fixed a bug that caused failed attacks to show the wrong attacking armies if you watched the attack, then navigated back and re-watched the same attack immediately after.
– The lobby now shows a string indicating your state in a game.
– Maps are now served up from a CDN so they download faster.

WarLight for iPhone and Android!

It’s time for a big announcement! I’ve been hard at work on making a mobile version of WarLight, which will first target iPhone and then later Android devices.

The mobile client will be a native app offered on the Apple App Store and the Android Market. This will be a full equivalent to the Flash client in that you can play the exact same multi-player games as you can on your computer, however the UI is completely re-worked to adapt to being played from a phone. This means it’s not a scaled-back version of WarLight — it supports all of the settings and all maps! Before you get too excited though, know that it’s not done yet — see below for a timeline.

WarLight is a perfect game for mobile devices due to its asynchronous nature. Unlike other multi-player games where you have to be online at the same time as your opponents, WarLight allows you to take your phone out of your pocket whenever you have a free moment, enter your orders, and put it right back. I believe the mobile platform will only get more important as time goes on, as fewer and fewer people own desktop PCs. And WarLight is a great fit for this environment. My goal is to put WarLight on as many devices as possible, so you can play no matter where you are.

Tablets

I know many of you at this point are wondering if this mobile client will run on your iPad or Android Tablet. The short answer is yes – it will run as an iPad or Android Tablet app. However, it’s important to understand that the UI is designed to be used from a phone.

I do recognize that tablets are also a growing market, and I do believe that WarLight is a fabulous game for tablets as it lends itself very well to a touch interface. In the future I hope to build a UI that�s custom-tailored to fit the tablet form factor. However, this release is focused on phones. The fact that it happens to also run on tablets like the iPad is just a free bonus.

Preliminary Timeline

As stated above, the mobile client is still a work-in-progress. I’ve been working on it in secret for a long time, and I’m finally within reach of having a “preview” version that I can share with the purpose of getting feedback. This is the first mobile app I’ve ever made, so I expect it to be a learning process with many iterations. For this reason, the first previews will be member-only. If you’re a WarLight member, you don’t need to do anything extra to sign up for the betas – just keep an eye on the blog.

1.05: The first step is to get WarLight 1.05 out (hopefully this week). This will this contains all of the changes to the server code needed to support the mobile client. For example, the format that WarLight stores maps internally is changing a lot so that mobile devices can render them quickly.

Preview: After 1.05 is out, there’s at least a few weeks of work still left before the first mobile client release: the preview. The preview will have just enough features to play multi-player games and chat in them.

Alpha: After the preview, I’ll begin working on the alpha. The alpha will add single-player support, as well as a more complete multi-player experience including things like the ability to see history, game settings, the players window, nudge/boot window, etc.

Beta: The beta will allow creating games, as well as the lobby’s add/remove players feature. The beta period will focus on bug fixing, polish and enhancing usability.

Release: The mobile client is pushed to the Apple App Store and Android Market.

Post-release: Tournaments are a lower priority and won’t make it until after the initial release. Also, things on the website (such as reading and posting on forums, viewing and joining the ladders) are also a lower priority since they can already be accomplished through a device’s web browser. However, it’s nice to have them all eventually added to the app so it becomes a one-stop shop.

Technical Details

Currently, the mobile client supports the My Games page, the lobby page, sign in, sign out, sign up, forgot password and the ability to render any map with panning/scrolling/zooming. All that’s left to add for the preview is the ability to deploy armies, issue attacks, commit orders, pick territories, and play cards.

It will run on Android Devices 2.1 and up and all iPhones. As a benchmark, I’ve been testing the Big USA map on a first-generation iPhone. Since the Big USA map is so large, and the first-generation iPhone is so old, this is what I consider the worst case scenario. Anything else should run swimmingly performance-wise.

To accomplish this, the maps are rendered using OpenGL to get the maximum amount of performance out of each device. All of the UI that doesn’t involve interacting with the map is handled with the native UI controls on each platform. (buttons, switches, etc.) I really like this mixed approach since it simultaneously allows for fast rendering you get with OpenGL, but avoids having to re-implement all of the native UI controls like many fully-OpenGL apps do.

One of the biggest hurdles was maintaining a single code-base for all of the clients. Most games that are written on multiple platforms / mobile devices end up doing re-writes of their code. I’d be willing to do a one-time re-write of WarLight’s code if I had to, but what I can’t do is actively maintain many copies of the code. I simply don’t have the time to fix every bug multiple times and add every feature multiple times. Combine this with all of the features I plan to add to WarLight down the road, and it’s clear I need a cross-platform solution. I’ll talk more about this in future blog posts.

Another hurdle was automated testing. I’ve talked a little bit about this on the blog before – I’m a huge fan of automated testing and WarLight would simply not be possible for a single person to do with manual testing. The number of combinations of game settings and situations is mind-boggling, and trying to manually test each of these before every release would make releasing extremely expensive.

Every time I add a feature, I add a slew of automated tests that test the feature in every significant way I can think of. Similarly, anytime a bug is found, a test gets created that reproduces the bug before the bug is fixed. These tests live forever and they all get run before any WarLight release happens. This ensures that bugs don’t come back (regressions).

The mobile client is no exception. I’ve been writing automated tests for the mobile client from the very beginning as I develop each feature for it. These tests take work to create and maintain, but they really pay off in the long run as they allow for rapid releases.

Once the preview is out, I hope to return back to a regular release schedule of once every 2-3 weeks. This is how I prefer to operate — the last few updates have been much slower because I was splitting my time between the mobile client and traditional releases. These days will soon be behind us — I’m eagerly looking forward to being able to rapidly add new features to the WarLight!

Stay tuned to the blog for more updates.

Announcing WarLight 1.4

WarLight will be going down on Wednesday, May 25th at 11pm PDT (6am GMT) for up to 1 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 v1.04.0. This blog post contains a summary of what’s changing.

Ladder Graphs and Arrows

When viewing a player or team’s ladder information, WarLight now shows you a graph of their previous rank and rating:

Further, all of the ladder pages now show small arrows that indicate the movement over the past week:

Profile Additions

The little speed graphs on the left side of profile pages received a small addition. It’s now split between real-time games and multi-day games. Additionally, the multi-day game graph now has a new section for turns that took longer than a week.

The Gold Stars that you can earn by completing single player levels quickly are also now shown on your profile.

Percentage Attacks

When issuing an attack, you can issue them in raw army numbers or by percentage. A small change is being made to the way that percentage attacks work.

Previously, attacks by percentage were calculated based off of the number of armies on the source territory. Now, attacks by percentage are calculated based off the number of armies that are available to attack with.

Let’s look at an example. Say you have 21 armies on Brazil and 21 armies on Argentina. Say you transfer 20 armies from Argentina to Brazil, and then attack Nigeria from Brazil with 50%.

When the attack happens, Brazil has 41 armies, but only 20 of them can attack (the other 20 already moved since they came from Argentina). In the old behavior, WarLight would calculate 50% of 41 and attack with all 20 armies. In the new behavior, WarLight will take 50% of the armies that are available to attack, and attack with 10.

Round Robin Tournament Limits

When creating a round robin tournament, tournament creators now have the option to specify how many teams/players will be allowed to join the tournament. Of course, there’s still a “Start Tournament” button, so this number really specifies the maximum number of players. When the tournament is full, it will automatically start as well, which relieves the tournament creator from having to click the start button.

While this is only a minor convenience for non-team tournaments, this fixes a key problem that existed for team round robin tournaments. Since the tournament now has a maximum size, it can help guide players into forming even teams. Since the tournament can’t start with uneven teams, this makes it significantly easier to get team round robin tournaments up and running.

Ladder Matchmaking Tweaks

The ladder’s matchmaking algorithm has to walk a fine line. If it tries to be too selective in the matches it creates, some people will complain that they aren’t getting as many games as they’d like. Conversely, if it’s less selective, some people complain about who their opponents are. I’m trying to tweak it only in ways that logically make sense, and to make sure I’m not overcorrecting it one way or the other.

The ladder has eligibility requirements for two players or teams to be matched against each other. For example, they can’t currently be playing each other, have just finished a game with each other, or have had a match created against each other in the last 3 games.

The first change being made is that the ladder eligibility requirements now go both ways. Teams or players won’t be matched with someone, even if they meet the requirements, if that other person doesn’t meet the requirements back at them. This is a logical change that will help bring some stability to the matchmaking algorithm.

Since this will cause some people to receive fewer games than before, the ladder range is also being increased to counteract this. The range the ladder looks at has been increased from 25% to 30%.

Even with this increase, I expect some people will have stagnated games in the short-term due to this new requirement. However, as a few more games finish, this will pass and everything should return to the same quantity of games it was at before, but the quality of opponents should be much higher (i.e. fewer repeats and more diversity.)

Bug Fixes

– Fixed bugs around retired ladder games.
– Fixed a bug that caused the “A” hotkey, when used to skip watching the latest turn, to make the game think you hadn’t watched the latest turn and sometimes revert back to the watching state (such as when exiting history.)
– Fixed a bug that was causing the spy’s card “Can spy on Neutral” flag to not obey templates.
– Fixed a bug that was causing the team-size box to not obey templates.
– Sorting the My Games page by Game Name now does a case-insensitive sort.
– Fixed a bug that was causing stroke opacity to be inconsistent on some maps.
– Fixed a bug that caused the Send Feedback window text to not be selectable with the mouse.
– Fixed a bug that caused errors if you went too far back into the “All Forum Posts” archives.
– Fixed a bug that sometimes caused an error when a host changes the invited players from the lobby screen.