How’s it going, Rob? Are the Player Ratings Ready?

So the player ratings are set to be done by the end of Q3.  Yeah, that’s eight days from now.  I’m reasonably certain I can get it done – mostly.  Chances are, the medals (like the level medal) won’t be ready in time and that’s okay.  The player ratings are generated at the time of the battle and are independent of the medals so I don’t see a problem with applying the update before the medals are ready.

Medals?  Did you say Medals?

I did, actually.  When your player rating is generated you’ll receive a medal that’s proudly displayed on your player profile indicating which of 12+1 “ranks” you hold.  There’s 12 ranks for rated players (any one who’s reported more than 30 games) and a provisional rank.  They look something like this:

Medals for battle rating
Medals awarded for battle rating on iToysoldiers

I’m reasonably happy with them.

What’s taking so long?

Well, as it turns out figuring in the impact of a player’s faction required a lot more testing and tweaking than I originally thought.  My original thought was to modify the K value of the calculation through the use of a ratio between the player’s faction battle ranking.  This didn’t pan out exactly the way I wanted it to.

So I set myself to figuring out exactly where to apply the faction impact and I stumbled across a website that talked about how they determine EL0 for NBA teams.  One of the factors they introduced into their calculation is home team advantage.  Clearly I don’t need that but HOW they did it was clever.  They essentially modified the rating of a team by a constant when they had a home team advantage.  “Ah ha!”, says I.  That’s slick.

So right now I’m messing around with the calculations with an aim to implementing a ratio that’s applied to the player’s rating before the rest of the calculation.  So consider a commander playing Eldar with a rating of 2000 against an Ork player with a rating of 1000, the calculation will actually set the Ork player’s rating considerably lower and the Eldar player considerably higher.  Not that in this example it’d be necessary.   But if they both had a rating of 1200 then if the Eldar player won the change in scores wouldn’t be nearly as dramatic as if the Ork player wins.

Please tell me you’re not messing with anything else

Well…  Nothing major.  A couple of bugs.  The biggest of which is making it so that when you add an image from the modelling project page it’ll actually get associated with the modelling project.  I’ve also done some work on the page layout for events so there’s not quite so much empty space on the page.  Really, that’s pretty much it.

Comments? Questions?  Post a comment here or visit the iToysoldiers Help Portal.

Rob @ iToysoldiers

Rating Players: Trials and Tribulations

Ahoy, commander! Now that we’ve got some improvements on creating content on iToysoldiers I figured I’d be time to start working on improving the stats and metrics around your miniature wargaming battles.  Specifically, I’m working on rating players based upon their performance. In short, I’m implementing a modified variation of the ELO ranking system and I’m going to be applying it pretty much everywhere average battle score is used.

Average Battle Score Sucks

Let me talk a little bit about why this change to an ELO based player rating is important.  Right now, iToysoldiers uses your average battle rating to determine your position in various leaderboards.  This isn’t a bad solution because it does show your relative standing as it relates to other players.  It’s also pretty handy for determining a player’s relative strength in relation to assorted meta items like the mission being played.

The HUGE problem with this system is that it really assumes each player has a similar number of reported games.  So players who’ve played lots of games will have a reasonably accurate score and folks who’ve played a small number of games will have a ridiculously inaccurate score.

For example: If I’ve played three games and they’re all wins my average battle score would be 5.  If my buddy Tyler has played 400 games and they’re all wins then his score would also be 5.  If he lost one of those games it’d put him beneath me in the rankings.  Who’s really the better player?  Do we know yet?  Should my score, with only three games, be compared against Tyler’s 400?  Is there a comparison to be made?  Maybe.  Maybe not.  But unless we’re looking at a similar number of games, Average Battle score doesn’t really tell us much.  In fact, it punishes players for reporting more battles and that’s something that I certainly don’t want to have happen.

Rating Players using Chess as a Model

Enter ELO as a model for determining a player’s rating.  The premise behind ELO is that with a little fun with math a player’s rating can be determined by past performance and modified by the results of a match between those two players.  The resulting rating is normalized to a value that can be used to compare players whether they’ve played 400 games or 3 games.  (Yes, yes.  I know…  The results will still be more accurate the more games that are played but the concept is sound).

What I’m working on now is implementing a modified ELO system into iToysoldiers so that it’ll be possible to get reasonably accurate ratings of players overall, and possibly (still working on this) under specific sets of battle meta. I’m aware of some of the draw backs of the ELO model and how other rating systems are possibly more accurate because they take a couple of other factors into account – things like confidence level of the current rating and stuff like that.  The biggest issue, to my mind, is that ELO (and Gliko – another player rating system – for that matter) assume that both sides are equal.  Example: In chess, both players have exactly the same pieces and the same “abilities”.  In miniature wargaming that’s not the case.  Factions have varying powers that contribute to the power of the player.  I’m aware of this and hence the modifications.

Keeping me up at night

Modifying the ELO player rating calculations to consider elements of miniature wargaming into account has been what’s really making my head spin the last week or so.  A couple of things have been weighing heavily into how this is going to work:

  • How will a player’s faction affect their player rating?
  • Some players won’t have their opponent on iToysoldiers so that a comparison score can be utilized in the calculation.
  • What are the definitions of a “provisional player”?
  • What happens when players are playing narrative battles where both sides aren’t necessarily considered even?
  • Do people care about their rating on a faction by faction (or game by game) level or is their over all rating acceptable?

Faction Impact on Rating Players

The biggie? How factions can or should impact rating players. I’ve decided on two factors:

First, if a player’s game is not acknowledged by another player on iToysoldiers then the rating change will be based upon the current rating of the opposing faction.  Yep.  That means that I’ll be generating ratings for the various factions of the game.  There’s a couple of cool things I’ll be able to do with that info.  The second is a bit more… dicey, maybe?

So within ELO there’s the concept called, “K”. K is a constant that determines how much a match matters when rating the players.  It is basically, what’s the biggest change in ratings that can happen.  In chess, the K value is only based upon a player’s ranking and how many games they’ve played.  I’m adding in another factor: The relative strength of the factions.  Example: In 40K Orks have had a rough go.  Their codex hasn’t been considered to be terribly competitive.  Craftworld Eldar, on the other hand, are generally considered to be pretty top tier.  Gotta tell you, the test runs of the data I have pretty much bear this out.  It makes sense to me that someone who’s playing Orks against Eldar shouldn’t loose as many points if they’re defeated by Eldar.  Everyone saw that coming, right? On the flip side, the Eldar player shouldn’t get quite as many points for defeating an Ork player ’cause their faction is superior.  I’m incorporating that concept into the ratings.

A nifty side effect is that standard deviation of a game system’s factions will also give an indicator as to the balance of a particular game.  I’m pretty excited about being able to provide that kind of info.


And that’s where my head’s at. iToysoldiers will be rating players by the end of September at the latest.  Have some thoughts on the matter? Feedback? Comment here.  Email me.  Visit the iTS Support Portal Entry for Player Ratings.  I aim to please and a thrive on your commentary.

Carpe Acies!
Rob @ iToysoldiers



Release 5.1: WYSIWYG Functionality is Live

Ahoy, Commander! iToysoldiers is pleased to announce Release 5.1 (Tolstoy). This release of iToysoldiers reintroduces a better authoring experience for all of you chronicling the glory of your miniature armies with a WYSIWYG editor and the ability to add pictures inline with most content and comments.  It’s also much easier to add captions and titles to images on mobile devices.

Also in this release:

  • We’re now using AWS S3 for image storage.  How does this affect you?  Not really at all.  It will, however, lower the cost of iToysoldiers which is good for everybody ’cause that means I’m forking over less money for this site.  It also gives me the ability to introduce a more scalable site when the time comes.
  • I fixed the layout of tournament pages so that they’re more in line with other event pages.
  • The color theme on calendar pages has been fixed.
  • I applied a bunch of security patches.
  • Links to the messaging functionality are now hidden from folks who aren’t logged in.
  • Fixed a math error on the modelling pages where the model count was left blank (calculations and their fields now default to 1 and suppresses any project that has a null or invalid value).
  • A bunch of backend weirdness left over from previous releases have been fixed or removed.

So that’s 5.1.  If you have any suggestions, problems, etc you know all you have to do is zip over to the iToysoldiers Help Portal and let me know, right?

Carpe Acies!

Rob @ iToysoldiers

WYSIWYG and What You See is Awesome: Authoring Experience on iToysoldiers

Well…  Not yet.  So one of the things that’s been killin’ me is the inability to add photos easily – especially on mobile devices.  I swear it’s like some of these module developers have never heard the word responsive.  They also love to hard code things in the most bizarre spots.  But I’m rapidly descending into a rant so I’ll go back to taking about what’s next for iToysoldiers and that is WYSIWYG and some improvements in the “authoring experience” and how images are handled.

Right now it’s nigh impossible to upload a photo from your phone onto iToysoldiers.  The window doesn’t scroll, you can’t zoom it in or out and it has a gutter on the top and left sides that prevents you from getting to the submit or close button.  That’s a huge problem and it’s been preventing me from posting stuff.  And if it’s preventing me from doing it I’m sure that it’s even more frustrating for other folks.  I’m pretty close to having this fixed.

The next thing that’s kind of a drag is the lack of a handy editor on text fields (in which you can put images inline).  No body wants to remember all the various html codes in order to make the text of their post bold or what have you.  I don’t even like doing that.  So the next release of iToysoldiers will include a major authoring experience improvement: a Wysiwyg editor built into each and every text form.  Yay.

I’m going to be offering up two flavors: Basic (the default) and Advanced.  The difference?  Basic only has a couple of buttons – the most useful.  Advanced will open up all the formatting options to you.  Things like lists, headings, and the like.  I think mostly Basic will cover everything you might want but…  The option will be there.

So that’s what’s going on right now.  iTS Release 5.1: Tolstoy is coming soon.


The iToysoldiers 2017 Roadmap

Ahoy! Well, since I’m trying to be a bit more organized I figured I’d also let you guys see into what’s on the roadmap for the rest of the year.  Important: If there’s something you’d like to see on the list feel free to visit the iToysoldiers Support Portal and get it in there.

Q3 2017

  • Return WYSIWIG functionality to the site.
  • Introduce site wide player rankings.
  • Fix any bugs brought in with 5.0

Q4 2017

  • Revamp the Narrative Campaign Manager
  • Reintroduce Faction based stats
  • Improve some of the Event Management features.


What’s Inside iToysoldiers Version 5.0

Greetings, commander! I’m deliriously excited to announce the release of iToysoldiers Version 5.0. As befits a major release, there’s just a ridiculous number of new things and improvements.  I’m going to try and itemize them all here for your reading enjoyment. Of course the best way to experience all the new stuff is to visit and experience it yourself.

Improved Site Design

Probably the most obvious change is the site layout and theme.  I’ve opted to dramatically simplify the menus and various widgets on the page because I got a bit carried away with trying to be clever.  The end result is that pretty much everything you might want to see and do can be done from the navigation bar at the top of the page. I’ve also tried to bring all of the features and menus in line with the five major categories of the site.  Navigation is hugely improved as a result and I think you’ll find it easier to explore both the features of the site and the exploits of your fellow commanders.

A change that I think you’ll really appreciate is the “Add Content” menu.  It’s been broken down into categories so the list of things you can create to show off your miniature armies is a bit less… well… random. Here’s how the categories work out:

Gaming: putting the dice on the table (or planning for it).  Battle Reports and Army Lists.

Modelling: Building your models and putting paint to the plastic (or resin, metal, whathaveyou).

Narrative: Telling the story of your armies and their exploits: Narrative campaigns and Army Profiles

Theater: Where, when and with whom you play: Events, tournaments, clubs, and battlefields.

Community: Kind of everything else: Player profiles and leaderboards, Blogs, Galleries, and Forums/Discussions.

There’s a final section – for you technically minded folks – I’m calling Core.  It represents backend and UX improvements that really aren’t really player facing. Oddly enough, Core elements, even though they’re not necessarily obvious, you’d hate the site if I didn’t give them some TLC.  This is stuff like making sure I’m using the right libraries for various things, author experience, performance things, and the like.  Boring, Sydney.  Boring.

I’ve put a bit more consistency into the site.

Comments look the same (ish) whether you’re posting on a forum post, a battle report, or an image that someone’s uploaded.  Author content blocks look the same on all the various content types.

The activity stream on the front page (for those of you who’re logged in) has been dramatically simplified.  I removed that timeline bar from the display so it doesn’t take up valuable space when you’re using your mobile device or tablet to look at the page.  I also did some work on the formatting of how items show up on the page so they’re a bit more consistent.

The layout of pages – both for the battles, lists, blogs, etc that you create as well as the pages that list site wide content have (mostly) gotten a bit of attention.  The display of content is a bit more consistent across the site.

Image galleries are now formatted in such a way that it’s easier to view them and interact with images (like commenting on them or seeing larger versions).

Maps are back

Once upon a time, iToysoldiers had a number of different map based views.  Over time they’ve been disabled – largely ‘cause of technical issues.  Well, that’s changed!  I have a beautiful new mapping repository and library which makes creating maps easy.  Two maps have returned: The battlefield map for battle reports and the battlefield display for players – it shows where a player has engaged in battle.  Gotta tell you, I’m excited to add more.

Categorical Improvements

Since I’ve taken all this time to consolidate the site into five major categories, I should probably list improvements the same way, right?


Player battle stats have gotten a major overhaul.  Rather than lumping all of your stats together, battle stats are displayed by faction.

Player battle stats also have “raw data” tables that can be manipulated with various filters to allow for more in depth analysis of your battle results.

The battle report pages have gotten a major facelift.

You can now link a battle to an army list entry on the site.  You can even create an army list from the battle report screen.  It’s totally optional. I’ll be providing real stats for army lists in the near future.


One thing I’ve wanted is a list of my models, by army and unit, with how many I have and how many are completed.  Well.  It’s there now.  You can see an example, mine, here.  <insert:>  Fair warning: I don’t have all my models up yet but I’m working on it.


You didn’t think I’d leave your player profile alone whilst bringing everything into a more consolidated look and feel did you?  Well, even if you did, I didn’t.  Player profiles are now way better because they consolidate your miniature wargaming exploits (and other site activities) into the five major categories.  There’s now a tab for gaming, modelling, narrative, theater, and community.  When you and others peruse your profile they’ll (and you) will have an easier time drilling down to what’s important to them (or you).


There’s a ridiculous number of backend fixes and improvements. Most of it was removing deprecated stuff that didn’t hold up to the new categorization system.  Stuff like that helps improve the performance of the site in general ‘cause there’s no need to reference things that aren’t there anymore.  However…

After much internal debate I’ve decided to use UserVoice <insert link> as iToysoldiers Help Portal. The main reason?  I really value the “I suggest you…” feature.  See, UserVoice is not only a support ticket tracker, it also does an amazing job of helping me prioritize what should come next with iToysoldiers.  It’s also one less thing I have to manage and that’s a good thing.

Speaking of which…

So that’s Release 5.0.  I’m excited.  I think it’s one of the more helpful releases I’ve done.  That said, I may have missed some things.  I might’ve introduced a bug.  It’s even possible that there’s something iToysoldiers doesn’t do that make showing off your miniature wargaming armies easier. That’s why I have the support portal.  Let me know! Really.  Zip over to and tell me about what I could be doing better.  Of course you could reply here or send me an email at as well.  I aim to please.  I hope you like the new version of iToysoldiers.

Carpe Acies!
Rob @ iToysoldiers

Some Thoughts On Presenting Battle Stats

So on the iToysoldiers site I still have a legacy forum that asks for feedback on how to improve the site.  It really shouldn’t be there ’cause I really want to get “backend” type content out of the site proper.  However, every so often there’s a post there and it gets me thinking. In particular, I’m thinking about player battle stats and how to generate/display them.

If you’re interested, the post in question is here:  Essentially the ask is to allow players to “reset” their stats when a new edition of a rule set comes out (or whatever reason floats their boat). I think this is a fair ask to a certain extent. But here’s the rub: I don’t think a player really wants to “reset” stats.  I think what they really really really want is the ability to display stats with more granularity and customization than I currently allow.  Allow me to explain:

The Problem

As I was first building iToysoldiers I made a design decision to force players to pick specific elements representing their battle from a list I provided.  For example: You couldn’t just add an army faction.  Missions went into the mission field.  Points per army went into the points field.  I did this so that there’d be a way to aggregate data specific to a particular meta item and display it relative to every battle on the site.  For sure this helped keep my stat displays under control but unfortunately, it also means that players were only provided battle stat combinations that I created.  This is the problem.

How am I fixing this?

Well, the good news is that I’ve already started to do so!  The first major step to addressing this came when I allowed folks to add any faction into the “Army” field.  Yeah, for sure this has caused some problems – specifically with folks adding stream of consciousness type values into that field.  But as more players participate in the site that’s becoming less of an issue.

The second part of a fix is what I’m working on now.  Player battle stats are now tiered.  To explain: there’s high level stats based upon every game.  Stuff like win/loss/draw, # of battles, and that sort of thing.  But there’ll also be a specific page for each army that a player has entered battle reports for.  To use me as an example, I’ll have CSM, Dark Eldar, Ynnari and World Eaters as my armies and I’ll have a specific page for each.  Kinda like this:

iToysoldiers Battle Stat Teaser
What the army specific stat page looks like

There’s also an advanced filter view without graphs for detailed comparisons:

iToysoldiers Battle Stat Teaser 2
Advanced filters for iToysoldiers Battle Stats

So each army that you play will have these views.  Now, if you’re playing a new army or something it’s pretty easy to “reset” your stats because they’ll be army specific.  And since you can enter anything you want into the Army field a player could reset their stats by using a new army tag. But…

It Could Be Better

Yeah.  It could be better.  And here’s what I’m thinking.  What if there was a world where a player wasn’t restricted to the elements of a battle that I consider important?  What if this world allowed players to tag a battle report with elements that they thought were important instead of having to enter data in a fairly ridiculous number of fields?  What if every meta item was treated the same and battle stats could be generated using a selection of meta elements rather than specifically associating a meta item to a particular input/output field?

That’s what I’m thinking about now: How to revamp the battle reports to be more flexible, easier to use, and more useful when looking at battle stats.  Right now it’s just a seed of an idea and thinking about it is drawing attention to some of the really iffy design choices I made early on.  It’ll be a fair amount of work to do this.  Not so much to build it an put it into effect – but rather make old battle reports obey a set up like this.

So what do you think? I really really really want to know.  It’s feedback that spawns improvement in the site and this is a great example: One forum post and suddenly I’m think of huge improvements.  Drop me a line at, visit our support portal at or comment here.  I aim to please.

Rob @ iToysoldiers

Don’t I feel kinda silly

Ahoy, commander! Well, as it turns out the iToysoldiers Help Portal hasn’t been working in like… well… ever.  Kinda explains why the Bug Hunt has been kind of quiet.  Anyway, I fixed it by trashing the old system and bringing in a new one.  I still need to put the knowledge base back in there but you can now submit bugs and feature requests with impunity.

Oh! And because of this, I’m going to extend the Bug Hunt until May 31st.  Feel free to let me know what’s wrong with the Help Portal as well since it’s kind of new and hasn’t really gotten a thorough shake down.  Not at all like the previous version.

Carpe Acies!

Narrative Campaign Manager: Some ideas

Ahoy, Commander! So it’s been a really really long time since I visited the Narrative Campaign Manager on the site. I think the first iteration of it was pretty neat.  It allowed folks to create narrative campaigns that could be played over and over again. These campaigns could be organized in a linear fashion or using a node system (like planets or battlefields).  Players could pick which faction they wanted to be part of and have their games count toward the over all results of the campaign.

A couple of folks jumped on board and created and/or ran their narrative campaigns using iToysoldiers.  That made me happy.  However, it wasn’t without noticing that there were some things that weren’t quite there.  And so, I present to you: A List of things I want to add to the iToysoldiers Narrative Campaign Manager.

Special Rules

Either manually or based on rules, I want the campaign organizer to be able to define special rules that are enabled against certain conditions or phases of the campaign.  Something like, “Phase 1: Faction: +1 to reserve rolls during this phase”.  These special rules would show up on the campaign instance.

Solo Campaigns

Getting buy in from other players to commit to a long term campaign is hard.  What’s easier is defining a narrative around the games you play against whoever happens to be around.

Global Campaigns

Along the same line as solo campaigns, the Narrative Campaign Manager should be able to handle players anywhere.  Think of the Eye of Terror campaign that Games Workshop ran or the various WWII campaigns run by Warlord.  Essentially, anyone can sign up and report battles against the event.  Those battles would then help craft the story line as it continues.

Just In Time Narrative

This one will be harder but I think it’d be cool.  So the first time a narrative campaign is run it would update the “core” entry on iToysoldiers.  The idea being that you can create a narrative campaign as you go and then it’ll save it for other people.

I wander back and forth on this one though.  See, one of the reasons that I built the Narrative Campaign Manager the way I did was to prevent folks from losing interest and abandoning campaigns.  If the campaign is written and ready to go before it even starts it’s much more likely to be played to completion.  On the other hand, it could be said that playing the games the first time around define the story line of the campaign.  Still working on this one.

Anyway, that’s what’s in my head for future Narrative Campaign work. I have a bit of stuff ahead of this on the pipeline but I’ll get around to it.

Carpe Acies!
Rob @

What’s In the Pipeline at iToysoldiers

Ahoy, Commander!

So I just wanted to let you know about what’s currently being worked on for iToysoldiers right now. I have a release scheduled for next week that’ll include the following:


  1. I’m redesigning the look and feel of the Achievement pages. They’ll be cleaner and it’ll be much easier to see who’s earned a given achievement.
  2. I’m fixing the “bulk award” achievement rule so that it doesn’t generate quite so much email. This is a little thing ’cause it’s not often that I introduce a whole bunch of achievements.
  3. I’m going through and fixing some of the older achievements to use better code.

General Stuff

  1. In an effort to make navigation a bit easier I’m totally revamping the left nav menu.  Rather than being clever with titles like, “Order of Battle” I’m going to be using the categories of Gaming, Narrative, and Modelling for the major features.  Theater will still be events.  Think, “Where, when, and who to play” and Gazetteer will be collapsed into Community.
  2. General bug fixes that probably won’t really be noticed.

Bug Hunt 2017

Oh, and don’t forget that Bug Hunt 2017 is running right now. If you have any bugs, feature requests, or comments, do not hesitate to zip over to the iToysoldiers Help Portal and submit them.  You’ll be entered for a chance to win $25 at your favorite game store.

Carpe Acies!
Rob @ iToysoldiers