Amazon Underground

amazon-underground-app1A month or two back, Amazon approached me about putting The Lords of Midnight and Doomdark’s Revenge on their new service. It had just a project name then, and I had to sign a whole host of documents before I was even told watch the service was, and then another whole host of documents when I agreed.

Before deciding that I would, I thought long and hard. Essentially, I never wanted the Midnight games to be advert driven, and I couldn’t see a compelling way to have “in app purchases” that would generate the kind of sales required to support the game, without an amount of work that would be loss leading.

By having the Midnight games as a full purchase game, it has probably stopped it from being installed as many times as it might have been when free, indeed I have seen the spikes when the game has been reduced in price for promotion. But even those extra sales have not amounted to much in the way of cash as the price reduction has obviously hurt.

That said, the games have sold around 30k units which I couldn’t be happier at. That just hasn’t resulted in a great deal of money, in the scheme of things. Rough fag packet calculation, if you take the average price at £2.50, taking into account price reductions, different platforms, and multi-currency, you get a turnover of £75k less Commission 30%, and VAT at 20%, it’s just £37.5k – and divided between Jure and Mike’s family, pretty much a three-way split, I’m looking at £12.5k over 2.5 years. Without doing an accurate calculation, I can say that number feels about right, and it’s still a long way from covering my time costs if I apply a day rate to it.

Android sales of the games are well under a 3rd of Apple, but they appear to have a 10:1 piracy ratio when taking into account rough internal data calculations.

So, as we hit the tail end of sales, I wondered if the Amazon pay-for-play where they pick up the tab, might be an interesting approach for some additional Android sales. The gamble was, will people who won’t buy it on Android, possibly pick it up and play it for a while, enough to generate a small trickle of income, that might be greater than the normal Android sales. This could all possibly be maximised by being an official launch app for the service.

Android still accounts for about £50 a month in sales, this last week has seen and additional £3k units downloaded through Amazon Underground, accounting for less than a £1 worth of pay-for-play. Amazon pay a fraction of a penny per minute played. So not a great start, but I’ll have to see how it goes.

I know the t&c’s for the Amazon offering are a little harsh, and the privacy settings quite extraordinary, but still understandable considering what they need to achieve, however I figure that the target audience who don’t want to pay for the games in the first place, probably don’t care. And those who do, have either already bought the game, or still have the option to through Google Play, or Amazon Store proper.

I just need to keep an eye on whether the Amazon Underground sales hurt the Android sales, better them, or just become another small income stream.

The Eye of the Moon

I have finally typed up the notes for The Eye of the Moon and combined it with a little story history.

I’ve just found some extra notes and bits that I forgot to scan. I have now added these in.

The new bits are:-
1. The hand drawn map of Valahar at the end.
2. Some information about name changes on the Eye map.
3. Names of additional wise characters.
4. Known Routes
5. Single Use Magic
6. Holding Domains
7. Independents
8. Restricting the Numbers

To Luxor, everything now grew clear

Clumping together...I’ve spent some more time looking at the AI for Doomdark’s Revenge, trying to work out why it doesn’t quite appear to be playing like the original. One thing I noticed is that I have completely misunderstood the recruiting logic when it comes to Loyalty and Treachery. I made changes in the last version, but I am going to need to revert them.

The approach algorithm

  • compare the the attributes of the lords and looking for matches gain +1 for each match.
  • If the character being approached is not loyal then +1
  • If the character being approached is treacherous then * 2
  • if the recruiting character is the liege of the character being approached then +3
  • If the recruiting character carries a crown of persuasion then +2
  • If the score is greater than 3 then the approach will succeed.

The basic concept that I have misunderstood is: Loyal characters are less likely to be recruited away form their current liege and un-loyal characters are more likely, therefore the algorithm gets a +1 for none loyal characters. And that treacherous characters are more likely to leave and thus the *2

The next thing I have missed is the lords following the objectives of their lieges.

It works like this.

If the lord has a liege and that liege is following their liege or their foe, then we must follow our liege. Otherwise pick a new objective.

There is a 32% chance that we will pick a new objective. Although that should be 25% because we could pick the objective we already have. That leaves a 68%/75% chance that we continue doing what they were already doing.

The problem for me is the first check. If we use Shareth as an example. She has a 12.5% chance that she will choose to follow either her foe or leader. As she has no leader she reverts to Luxor, which is her foe. So she has a 12.5% chance that she will follow Luxor. All the lords that follow her now have a 100% chance of following Shareth, and this ripples all the way down the stack of lords. Which at the start of the game means that 47 Icelords will disregard what they are doing and follow her.

The mistake I had made is that I had made the following lords take the objectives of their liege when their liege was following their liege or foe. What this means is that when the liege is following their foe the lord follows their own foe. So using Shareth again as the example, when she is following her liege ( Luxor by default ) then all her minions will head to her location, but when she is following her foe ( Luxor ), then all her minions are heading to their foe and not to her location. So as an example, Imgaril the Icelord would be heading to Imgorthand the Fey, who, is likely the the other direction of Shareth.

Hopefully this fix should make the game more like the original, but it bothers me that it is a flawed AI. I ran the game for the first ten days, up until the first battle took place, I ran it on the emulator too to compare notes. Here is what Shareth did over those days.

  1. Head Home
  2. Head Home
  3. Head Home
  4. Follow Luxor
  5. Head Home
  6. Follow Luxor
  7. Follow Luxor
  8. Follow Luxor
  9. Search for object
  10. Head home

Now Talormane does this

  1. Head Home
  2. Head Home
  3. Search for object
  4. Search for object
  5. Follow Lorelorn
  6. Follow Lorelorn
  7. Follow Lorelorn
  8. Follow Lorelorn
  9. Follow Lorelorn
  10. Follow Asorthane

The reason for the delayed follow on day 4 is because Talormane is following Lorelorn who is following Shareth, but Lorelorn is lower in the processing order than Talormane, and thus Talormane doesn’t know that Lorelorn is going to follow Shareth in that turn.

The final thing that I changed was that there is a 6.25% chance that the change of objective will be DO NOTHING. This is especially important for being in a battle with someone who is not the lords foe, because it means that without this the lord will always leave the battlefield. The mistake I had made was that I persisted the do nothing as an objective, i.e.. The lords objective becomes do nothing. But it shouldn’t, it should stay the same as the previous objective, and this turn that objective is ignored.

Going back to Shareth. If she chose to DO NOTHING then her objective would no longer be follow liege or foe, which means that her followers would be able to perform whichever objective they chose. However, if her previous objective had have been follow liege or foe, then her followers should still be heading towards her when she chooses to do nothing. This would have the affect of allowing them to catch up on her.