Site and mobile update 1.15.8

WarLight has just been updated to version 1.15.8! This update brings the mobile client closer to party with the Flash version. As is often the case, some improvements to the website snuck into this update too. This blog post contains a summary of what’s changed.

Change Player’s Color

It is now possible to change the color that you or an opponent appears as on your own screen. To try it out, open a game, click on someone’s name in the lower-right, and select the new “Change Color” button.

Changing a player’s color only affects your own computer; everyone else will still see them as their true color. This is useful for a few situations:

  1. If you’re looking at a game where multiple players have very similar colors, you may wish to change one of them to make it easier to tell them apart.
  2. If you’re colorblind and the colors chosen aren’t ideal, you can change players to colors that you can see more clearly.
  3. If you aren’t playing as the color you wanted to play as due to someone else taking it, and are too stubborn to adapt, you can change yourself back to your desired color.
  4. If you’re playing a complex team game, you can change colors on a team to similar shades to help in visualizing what each team owns. If you want, you can even change entire teams to the same color, as WarLight does not prevent you from setting multiple players to the same color.

Changes in color are temporary. If you refresh your browser, all players will revert back to their standard colors.

Other Website Changes

– Re-arranged the player popup a bit when making room for the Change Color button. It’s now easier to read the info box when it has long lines.
– The seasonal ladder now requires 7 games to be completed before getting a rank instead of 5. This will cause the ratings to be less chaotic in the early days of a season.
– Fixed a bug that caused an error if you typed a non-number into the reinforcement card’s progressive multiplier box.

Mobile Client Changes

This update finishes out the ability to create multi-player games from the mobile client! All customization options are now available when creating games. Since this added a lot of UI to the app, it would be great if beta testers can try it out and e-mail if they find any problems.

Android beta-testers can install this via the usual method. If you’re a WarLight member and want to beta-test the iOS version of the game, there’s now a sign-up page located here.

Here’s the full change log for this update:

– Added the ability to customize game settings when creating games.
– Added checkboxes on multi-select screens.
– Template owners are no longer shown when you’re only looking at your own templates since they were redundant.
– Cleaned up the some of the card UI.
– Fixed a bug that occurred if you rotated your device while a game was loading.
– Fixed a bug when creating a game with custom scenarios that caused new players added to a game to not get assigned a slot by default.
– Android: Added space to the bottom of the menu so it looks a bit nicer.
– Android: The software keyboard no longer pops up by default on the game creation screen.
– Android: Fixed a bug that caused the fog texture to not appear after locking and unlocking your device.
– IOS: Retina devices now render the map in full resolution
– IOS: Fixed a bug that made some main menu buttons unclickable on some devices
– IOS: The app works under iOS 5 now. 6 is no longer required.

Site and mobile update 1.15.7

WarLight has just been updated to version 1.15.7! The mobile client creeps ever closer towards completion, and as usual, the website gained a few minor updates too. This blog post contains a summary of what’s changed.

Real-time tournament invite e-mails

You can now control whether or not you receive tournament e-mail invite emails separately for multi-day tournaments and real-time tournaments. Under Settings -> E-mail notifications, you’ll find two check-boxes: one for multi-day tournaments, and another for real-time tournaments.

Multi-day tournament e-mails default on, but real-time tournament e-mails default off. This means that if you want to receive e-mails when you’re invited to a real-time tournament, you must turn it on in the settings.

This reflects how most people use e-mail. Most people don’t get instant notifications when they receive an e-mail, so they typically won’t see the invite to a real-time tournament in time to join it. This leads to lots of disappointment when they check their e-mail only to find invites to tournaments that it’s too late to join.

If you’re going to create a “lobby tournament” for a real-time tournament, please make sure your lobby is set to real-time as well. This prevents people from getting e-mails that don’t want them.

CLOT can override bonus values

The CreateGame API can now be used to specify overridden bonus values. This allows custom ladders/tournaments to control the bonus values for each game independently, which opens up some new options. For example, you can make a ladder or tournament where the bonus values are randomized in each game.

See CreateGame on the wiki for information on how to use this.

Bug fixes

Two bugs were also fixed in this update:

– Fixed a bug in the game creator that made custom scenarios not appear if you closed and re-opened the scenario builder right away.
– Fixed a bug that caused an error if you clicked “map page” on an under-development map

Mobile Client

If you’re playing WarLight on Android, you can install it via the usual method. I highly recommend upgrading to this version since it has a few key bug fixes.

The biggest feature added in this release is the ability to create multi-player games from templates! You can’t customize template settings yet, but if you have a template you want to use as-is you can use it.

This also adds the ability for game creators to add or remove players to a game from the lobby.

Further changes:

– Overhauled the look and feel of the player details screen.
– Fixed a bug that made territory picks unviewable during the first turn.
– Android: Fixed a bug that caused deployment issues on some phones.
– Android: Fixed a bug that made screen title’s become off-center when rotating your device.
– Android: Fixed a bug that caused order re-arranging to not work.
– Android: Fixed a bug that made the map not appear after sleeping and waking your device.

Site and mobile update 1.15.6

WarLight has just been updated to version 1.15.6! This is primarily an update to the mobile client, but a few features snuck into the website as well.

Website Changes

– Added a link on the Forum page to view posts from all forums together.
– Added a tournament filter “Active tournaments I didn’t decline”
– Optimized up the “My Tournaments” page.
– [code] blocks on the forum no longer become double-spaced
– Added DeleteLobbyGame API that allows CLOT to delete games if they don’t start.
– The GameFeed API can now be used by CLOT to retrieve limited player data about games that haven’t finished yet.
– Improved the error dialog with options to report the bug.
– Fixed a bug that was causing some maps to use more data points than they needed to, slowing down the map rendering.
– Fixed a bug in the analyze graphs that could occur when the offensive kill rate was significantly modified from its standard 60%.
– Fixed a bug that could cause an error in some cases when loading a saved game.

Mobile Client Changes

EDIT: For members who are upgrading from the previous Android client, please un-install the existing client before installing this new version. This is necessary since the package name changed to support Facebook authentication, so Android views it as a different app. If you don’t un-install first, you’ll end up with two copies of the WarLight app. If you’re already in this state, just un-install both and then install the correct one again.

– You can now sign in with Facebook, just as you can on the website.
– The look and feel of the lobby has been overhauled.
– When you receive a private message, it now appears as an item on the game’s menu.
– Added space below the map for the deployment slider so that the slider will never overlap a territory you’re trying to deploy to.
– Fixed a bug that made scrolling choppy on large-screen devices or in landscape orientation on small screen devices.
– Fixed a bug that caused an error if you changed your password on the website while you had the mobile version open.
– Fixed a bug that caused skinny horizontal rectangles to appear on the map (this fix may not appear right away since the affected maps need to be re-processed)
– When playing an Airlift card, the back button now works properly.
– The history menu option is no longer visible on games still distributing territories or on the first turn.
– Upgraded the app from OpenGL 1.1 to OpenGL 2.0
– Improved the error handler so it won’t trap you in an infinite loop of errors.
– Fixed memory leaks.
– Fixed a bug that could cause an error if the back button was pressed too rapidly.
– The deployment slider is now centered.

Season VII

Congratulations to unknownsoldier for winning Season VI! Season VI came right down to the wire — unknownsolider snatched victory at the last minute!

Season VII will take place on the Heavy Earth map. This is a bigger map than Medium Earth. Combined with smaller neutrals, this allows for a lot more expanding than what we’ve seen before.

The three territories that you start with all begin with just 1 army instead of the normal 4. This makes cluster-picking less effective, so spread out those picks!

The luck percentage is still 16%, but this time on straight round. This makes it so the attacks against neutrals are guaranteed, but when you’re fighting opponents you’ll have a small amount of variation. Also, the order priority and order delay cards are missing this time to change it up a bit.

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

We’ll kick things off on January 2nd and it will end on March 3rd. Good luck!

Website outage

The WarLight.net website is experiencing an outage (EDIT: It’s back up!). I’m working on getting it back up as fast as possible. More details will be posted soon. Sorry for the inconvenience.

UPDATE 10pm GMT-8: The main WarLight database has suffered a hardware failure. Rackspace engineers are currently working to recover the data onto a new server. As a backup plan, I am also restoring the latest database backup onto a fresh server, just in case Rackspace is unable to restore the old server. The latest backup I have was taken about 4 hours before the outage, so I’m hoping it does not need to be used.

UPDATE 5am GMT-8: I’m really mad at Rackspace. For the last ten hours all they’ve given me is “We can’t give you an ETA” over and over. Finally, they tell me it’s 95% done being restored and will be up within 2 hours.

UPDATE 6:49am GMT-8: The website is now functional again. Unfortunately, there was a few hours rollback in the database. Hopefully players who happened to commit turns within that period will be respectful and try to commit the same orders they played the first time. I’m going to be taking steps to ensure this can’t happen again.

Additionally, for the next several hours, booting in all games will be disabled (you’ll get an error message if you try to boot.) This will allow players who couldn’t take their turn before the boot timer to get it in before getting booted.

WarLight’s database has had hardware failures before, however Rackspace typically will automatically move your server to a fresh machine with only a few minutes of downtime. This has happened several times, actually, and it’s never been a problem before now. This time it didn’t work for some reason, and to make matters worse, their support personnel were very unhelpful. I had gotten complacent on relying on Rackspace’s automated failover. Unfortunately, when the failover finally did happen after several hours, the database was corrupt beyond repair and I had to go with my own backup anyway.

To ensure this can’t happen again, I am going to set up a continuously streaming backup system that will backup the database several times per minute. This way, if there’s another failure, I don’t have to rely on waiting for Rackspace’s failover and I can restore from my own backup without significant data loss. Previously, the backup was only made every few hours, so this is a significant jump in reliability.

I realize the problems that outages cause, and I’m probably more disappointed by this than any of you. I take this very seriously as it’s my full-time job and I am going to take several steps to ensure this can’t happen again.

UPDATE: As mentioned above, booting is temporarily not allowed in any games. This gives a chance for players who are over the boot time in their games and couldn’t play due to the outage to take their turns. I realize this makes it difficult to play new real-time games, but please bear with me as we get everything back to working normally.

UPDATE: Booting is now re-enabled.

Announcing Custom Ladders/Tournaments framework (CLOT)

I’m pleased to announce the availability of the CLOT framework! CLOT stands for Custom Ladder Or Tournament. This is a way that players can create their own automated ladders or tournaments that far exceed the capabilities of WarLight’s built-in ladders and tournaments.

How it works

Each CLOT is hosted as its own website, separate from WarLight.net. This website manages the ladder/tournament — it has full control over how games are created, the game’s map and settings, how players are ranked, how the ranks are presented, etc. Players who want to join can go to this website to sign up with their WarLight account.

CLOT is an open-source framework that contains everything needed to create a CLOT website. The player creating a CLOT must be a WarLight member, but there are no restrictions on who can join and play in it.

It’s expected that the player creating a CLOT should know how to code, as the framework provided is just a skeleton example to get you started. Players who want to create a CLOT website will extend the framework to meet their needs. The framework is written in Python, but it could be ported to any language if you want to work in something else. It works by communicating to WarLight through the public APIs to create games and get updates on them.

Examples

Since the CLOT framework is an open-source programming tool, it can be used to create all sorts of different types of ladders and tournaments. It’s only limited by your imagination! Here are some examples of things you can create with it:

  • Clan battles: WarLight gives you access to the name and tagline of players joining, so you can parse out what clan they’re in by looking for clan tags. Then you could make a system that invites players to battles based on their clan, and show rankings of how well each clan is doing.
  • Promotion/relegation league: These leagues that have been popular on the forums can now be completely automated.
  • Vote-who-will-win tournament: You could make a single-elimination tournament where, before it starts, players can view the tournament bracket and cast votes for who they think will win. You can even allow players who aren’t participating in the tournament cast votes. Then when it ends, you can not only display the winner, but also who voted most accurately.
  • Real-time ladders: You could make a scheduling system that allows ladders made up of real-time games to take place. For example, players could tell your website when they’re on-line and ready to receive games, or you could work out a scheduling system where players input what times of the day they’re available.
  • Anonymous tournaments: You could make tournaments that don’t reveal who’s participating until the tournament ends.
  • Best-of tournaments: Like a single-elimination tournament, except each match is a best-of-3 or best-of-5.
  • World domination: Using custom scenarios, you could make a tournament where each round moves up to a bigger region of the world until the championship is on a world map. For example, say you get the first round as an FFA on a Italy map. If you win on Italy, then you go onto the second round, which is on the Europe map and you start with Italy. If you win on Europe, then you go up to the championship which is on the world map and you start with Europe.
  • Seasonal ladder followed by playoffs.
  • Ladders with rotating settings or maps.
  • Ladders with your own rating algorithms or settings, such as a 3v3 ladder or FFA ladder.
  • Choose-your-team tournaments: There’s nothing stopping you from creating pages on your CLOT website that input extra information for each game. For example, say you’re making a 5v5 tournament. You could pick 10 random players for each game, and elect a captain for each team who alternate choosing players for their team.

Getting Started

Check out the Getting Started guide on the wiki for instructions on how to get started using CLOT here. If you get stuck, there’s a new forum section for CLOT development, so feel free to ask questions!

Site update 1.15.5: Small update

WarLight was just upgraded to version 1.15.4! This is a just small update to fix a few bugs, but real-time tournaments also snuck in.

Real-time tournaments

It’s now possible to make tournaments real-time, which will allow the same boot times that real-time games do.

If a real-time tournament doesn’t start (i.e. fill up with players) within one hour, it will be automatically deleted. This is done as a safety mechanism to ensure that slow-filling tournaments don’t end up starting long after the majority of the players have already left who will then just have to be booted.

The primary intent of real-time tournaments are for players who organize their tournaments outside of the game (such as by announcing them ahead of time on the forums). Just creating a real-time tournament and expecting it to full up on its own is unlikely to work out well.

Teammate Card Fix

There’s a change in this update that should fix a problem that sometimes came up in real-time team games that involved lots of cards.

If a team has two copies of the same type of card (say, two order priority cards), it can sometimes be difficult to split the two cards between two teammates in real-time games. If teammate A tries to play the first card, and teammate B tries to play the second card, and they take their turns at the same time, there’s a chance that they might both try to play the same card which will cause the second committer to get a message telling them that they’re playing a card their teammate played.

This didn’t typically happen in multi-day games since WarLight is smart enough to see what cards your teammate has played, and pick the one in the stack that your teammate didn’t play. However, this can’t happen when both teammates play simultaneously since the game doesn’t know what your teammate has played yet.

In this update, there’s a much better fix to this issue. Now, when the second teammate commits their orders, the server will silently change their orders to use the available card instead of the one their teammate used. Essentially, it will “just work” without either teammate even knowing there was a conflict.

Misc Changes

– Fixed a bug when creating a game from a template that caused the boot drop-downs to not default to the value stored in the template.
– Fixed a bug that caused an error if you clicked Play Card on a surveillance card, opened the (more info) link on a territory, and then clicked a bonus worth 0 armies per turn.
– Fixed a timing bug that occurred if someone declined a tournament at the exact moment that tournament was starting.
– The attack-teammate and diplomacy confirmation dialogs now close when changing phases.
– Fixed a bug that caused the check-boxes on the Statistics->Graphs page to not enable after a game ended.
– Fixed a bug that sometimes caused Facebook signups to fail.

Season VI

Congratulations to [WM] dead piggy for winning Season V with a very impressive 17-3 record! It seems that 17-3 is more often than not the metric that defines a champion, as all of the seasonal winners so far have posted 17-3 records except Rubik87.

Season VI is going to be a bit of a departure from the low-luck settings of Season IV and V. Season VI will use automatic distribution instead of manual distribution. This means that you don’t pick which territories you start with, and instead are randomly assigned territories.

Now, I know what you’re thinking. “But Fizzer, won’t automatic distribution mean that games are determined by luck?” It’s true that luck plays a role, but here’s the way to look at it:

  • Everyone will lose 15% of their games due to getting worse starting positions than their opponent.
  • Everyone will win 15% of their games due to getting better starting positions than their opponent.
  • It’s what you do with the other 70% of your games that determine your ladder rank.

Personally, I’m excited for it – I think it’s going to be my favorite season! This season will be great for those who are weak at the territory selection part of the game but strong at the expansion/army movement part.

The settings are the same as Strategic 1v1, except with automatic distribution, no wastelands to make bonuses more equal, and an extra blockade card is also thrown in so you can make your own wasteland. You can practice the settings with this template: multi-player single-player.

The season begins at midnight GMT on Monday! (This will be Sunday night for those in negative timezones, such as North America). If you’re a member and not already in the seasonal ladder, you can join here. Have fun!

(* 15% is an estimate, the actual number could be higher or lower. The point is that the odds of getting good territories is the same as the odds of getting bad ones and it will factor out over the course of many games.)

Site update 1.15.3: Changing hosts

WarLight is changing its hosting provider from Rackspace to Amazon. Rackspace has been a good home for WarLight over the years, but ultimately it’s far too expensive for a game with low revenue like WarLight. This update also contains a new scaling architecture that will ensure WarLight won’t slow down when lots of players are playing.

This new architecture is also a step towards being able to crank up the refresh speed. One day, I hope manually clicking the refresh button will become a thing of the past and games will just always be live.

The swap over will happen sometime in the middle of the night tonight (aiming at 1am PDT 8am GMT). If all goes well, the move will be instantaneous and won’t require any downtime or even be noticed by the players. Even real-time games won’t be interrupted. However, if you do notice an issue with the website, please let me know by using the report bug page or e-mailing fizzer@warlight.net.

The wiki, blog, and archive database will move over later. Probably sometime this weekend.

This move will also upgrade the server to version 1.15.3. This is a small update that fixes a few bugs and has minor enhancements.

– Fixed a bug that caused an error when customizing tournament settings.
– When creating a co-op multi-player game (a team of humans vs AIs), the “AIs Surrender When One Human Remains” setting is automatically disabled. This setting doesn’t make any sense in co-op games since the AIs would want to surrender immediately when the game started.
– Made a few minor adjustments to the wait dialog: It now always prints the entire message when it’s long, and the background tint was removed.
– The aspx extensions are now optional in page urls.
– Fixed a bug when creating a game from a map page that caused the template to say the game would be on the Earth map.
– Fixed a bug when viewing history that caused players who were booted during territory selection to show as having an income.
– Fixed a bug that caused the vacation page to always say 0 vacations had been used.

It’s worth noting that these changes have not yet gone live at the time of this posting. These will go live when the host changes late tonight.

Also, as an aside, recently ReCaptcha has been failing at stopping automated spam comments on this blog. Manual moderation is stopping them from appearing, however if you make a legitimate post and it doesn’t appear it may have been lost in the moderation noise. Please e-mail fizzer@warlight.net to get it approved. Eventually I’ll work out a better captcha system.

Site update 1.15.2: Small update

WarLight has just been updated to version 1.15.2! This is a small update to fix a few bugs from the previous update. This blog post describes what’s changed.

Changes

– Optimized the My Games query a bit.
– Added double-click support to the create-game pages that ask about choosing templates.
– Changed the team controls from a drop-down to radio buttons.
– Added rounded corners to the dashboard page.
– Improved the display of forum threads when viewed on iPhones.
– Fixed a bug that could cause an error when sorting the forwarding tournament invites page.
– Fixed the report bug page for players using Opera.
– Fixed a bug that could cause an error when a host changes players on a team game with open seats.
– Fixed a bug that occurred if you tried to copy a game’s settings that used random teams.
– Fixed the error message that came up if a non-member map creator attempted to add more than 24 players to a game on a map they made.
– Fixed a bug that was causing several of the setting-highlights to default off for new players.
– Fixed a bunch of other various small bugs in the new game creation screens.

Non-members customizing built-in templates

Prior to the last update, it was possible for non-members to change the boot times, practice game setting, and private messaging setting but still refrain from customizing one of the built-in templates. This allowed them to use the 16% luck values of the Strategic 1v1 and 2v2 templates but still set their own boot times.

In the last update, these settings were moved into the primary customize step, which made it impossible to set them without customizing the template, and customizing the template meant that the luck value would be reset to 75%. This was an accident on my part – I didn’t realize that moving them would have this side-effect.

Now there’s a temporary work-around in place that allows non-members to set these settings and still use 16% luck. To do this, follow these steps precisely:

  1. Under multi-player, click Create Game as normal. Invite your players and click Next
  2. Click Change Settings, Use a Template, then the Strategic 1v1 or 2v2 template
  3. Check the “Customize Template” check-box and click Next
  4. Set up the following settings how you want them: the multi-day/real-time box, the boot times, the private messaging check-box, the personal message, and the pracitce game check-box. You must not change any other settings or this won’t work.
  5. Click Next. It’ll ask you to save the game as a template. Click the “No” button (even if it’s already checked), then press Ctrl+Shift+J. (Hold down the control and shift keys on your keyboard, and press J).
  6. If it works, you’ll now be at the create game screen. Just name your game and click Create Game

This is a temporary work-around. In the future, there will be a better solution to this.