Mathematics of player levels in game development

My husband is a game developer and my contributions are usually of the sort where I look at what he’s done and say “hey wouldn’t it be great if it did this”. While these are usually positive ideas, they’re mostly a pain to code in. Today however, I was able to contribute some of my maths knowledge to help balance out one of his games.

Using an open api, he’d written a simple pokemon battle game to be used on twitch by one of our favourite streamers, FederalGhosts, and needed a way of determining player level based on the number of wins, and the number of wins required to reach the next level without recursion. While this post is specifically about the win to level relationship, you could use any progression statistic by applying scaling. Here we want to determine:

  • Number of wins (w) required for a given level (l)
  • The current player level (pl) given a number of wins (pw)
  • Wins remaining to the next level (wr) for a player based on current wins (pw)

Let’s take a look at a few ways of doing this. Each section below has the equations and code examples in python1. Assume all code samples have the following at the top:

import math

database = [
{"name": "player1", "wins": 5},
{"name": "player2", "wins": 15},
{"name": "player3", "wins": 25}
]
Continue reading Mathematics of player levels in game development

Data: access and ethics

Last week I attended two events back to back discussing all things data, but from different angles. The first, Open Data, hosted by the Economist was an event looking at how businesses want to use data and the ethical (legal) means that they can acquire it. The second was a round table discussion of practitioners that I chaired hosted by Ammonite Data, where we mainly focussed on the need for compliance and balancing protection of personal data with the access that our companies need in order to do business effectively.

We’re in a world driven by data. If you don’t have data then you can’t compete. While individuals are getting more protective over their data and understanding its value, businesses are increasingly wanting access to more and more – at what point does legitimate interest or consumer need cross the line?

Continue reading Data: access and ethics

How much maths do you really need for data science?

My LinkedIn news feed was lit up last week by a medium post from Dario Radečić originally posted in December 2019 discussing how much maths is really needed for a job in data science. He starts with berating the answers from the Quora posts by the PhD braniacs who demand you know everything… While the article is fairly light hearted and is probably more an encouragement piece to anyone currently studying or trying to get that first job in data science, I felt that, as someone who hires data scientists1, I could add some substance from the other side.

Continue reading How much maths do you really need for data science?

To everything there is a season

Depiction of Janus, Vatican collection, Photograph by Loudon dodd – Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=7404342

It’s inevitable, at the start of a new year, to reflect on what has gone before and what is yet to come. Janus, the Roman God for whom January is named 1, is depicted in such a way, so it’s difficult at this time of year to be anything other than retrospective :).

Continue reading To everything there is a season

Facebook’s Maths Solving AI

In December, Lample and Charton from Facebook’s Artificial Intelligence Research group published a paper stating that they had created an AI application that outperformed systems such as Matlab and Mathematica when presented with complex equations. Is this a huge leap forward or just an obvious extension of maths solving systems that have been around for years? Let’s take a look.

Continue reading Facebook’s Maths Solving AI

M347 – 33% through and reflections

I’ve recently submitted the first tutor marked assignment of M347, my final course in the BSc Mathematics I’ve been studying with the Open University.  The third unit of this course was long and quite a slog to go through.  While I’ve been using many of these equations over the past few years, diving deep into the theory and derivation has been fascinating, although frustrating due to the lack of practical application.  If you’ve read my other posts then you may recall how frustrated I was with group theory and the early parts of complex analysis, while the quantum world was far more engaging from the start1.  As with all my maths studies, this exercise of filling in the gaps has revealed that there are far more things I didn’t know I didn’t know than things I knew I needed to know.

Continue reading M347 – 33% through and reflections

Let’s talk about testing

One of the things that I find I have to teach data scientists and ML researchers almost universally is understanding how to test their own code. Too often it’s all about testing the results and not enough about the code. I’ve been saying for a while that a lack of proper testing can trip you up and recently we saw a paper that rippled through academia about a “bug” in some code that everyone used…

A Code Glitch May Have Caused Errors In More Than 100 Published Studies

https://www.vice.com/en_us/article/zmjwda/a-code-glitch-may-have-caused-errors-in-more-than-100-published-studies

The short version of this is that back in 2014, a python protocol was released for calculating molecule structure through NMR shifts1 and many other labs have been using this script over the past 5 years.

Continue reading Let’s talk about testing

Getting a first job in AI or data science – what candidates need to know

Me in Lego – well not really, but it does look a lot like me 😉 – this was a very fortuitous collector fig from Series 18.

Getting any role in IT can be daunting as a first timer, whether it’s your first ever job or you’ve changed career or you’ve had a break and are returning as a junior in a new field or anything else.  Getting one in any part of AI can be even more of an up hill struggle.  Job posting and recruitment agencies are asking for PhDs, academic papers and post-doctoral research as well as years of experience in industry.  How can you get past that first barrier?  I get a lot of people asking me this when I present at Meet-Ups so thought I’d collate everything into one post.

I’m going to break down how you can demonstrate the skills that businesses need and how to talk confidently abut what you can offer without the fluff.

Continue reading Getting a first job in AI or data science – what candidates need to know

Rework London 2019 Part 1

The ReWork Deep Learning summit in London in September has become one of my must have go to conferences. It’s a great mix of academic talks and more practical sessions regarding applications of various types of Ai in business, so I couldn’t miss it this year either. Here’s a summary of Day 1

Continue reading Rework London 2019 Part 1

OU Mathematics – final module choice

I started this degree not long after my daughter was born, a choice between an MBA and a degree for “fun” (learning for me rather than for career reasons) and it’s strange that I’m so close to the end of it. I have one level 3 module left to take. 30 points (or a quarter of a full time degree) to fit in around work and family1. I wrote a post a couple of years ago on my choices for level 3 and looking back at it now, I’m not sure I feel the same way.

Complex numbers (M337) was far more interesting and practically useful that I thought it was going to be. While it was a little drudgey at the start, towards the end everything came together beautifully. Deterministic and stochastic dynamics (MS327) was dull, it was essential mathematics and really useful, but there was nothing to excite me. Maybe this was a product of trying to study alongside long hours at work at the time. I wish I started with M303, the pure mathematics course, and then done complex numbers and the quantum world (my favourite module so far). However, I now have a choice again and I’m finding it tricky.

Continue reading OU Mathematics – final module choice