In my day job, I’m a full stack C# developer doing a wide range of development. More recently, I’ve had a focus on Dynamics and the PowerPlatform and keeping up to date with the latest and greatest from the folks over at Microsoft.
In my home life, I’m a husband, a daddy, a
soccer football fan and a gamer playing a wide variety of games on my Xbox.
Whilst playing with the PowerPlatform, I had an idea. What about if I combine my home life with my business life and see what frankenstein creation I can come up with? This is what I came up with….
Tracking my gaming performance through the PowerPlatform!
One of the games I play a little too much is Destiny 2, made by Bungie. One fortunate thing about playing that game is that this game has a public API, meaning it’s the absolute perfect candidate to use as an experiment.
This is the first blog post in a series of blog posts all about how I used the PowerPlatform to track, monitor and improve my gaming experience through the likes of Flow, PowerApps and even a little bit of PowerBI! I can sense your thoughts and I absolutely agree – this seems like overkill for playing some games but if you’re on this blog, you know what the PowerPlatform is and what it can do, so why not?
This post will start with my basic concept and the sort of things I hope to achieve. Later posts will have all the implementation and I’ll share as much of the custom code as I can on GitHub.
What would I like to achieve?
The core intention I decided on is to use the PowerPlatform to track my game playing history – allowing me to do analysis on my performance over time. I have a regular group of players I play these games with, so if I’m building a platform to do my own tracking, I may as well extend it to handle as many other people as I want – adding a further competitive edge to an already competitive game.
In order to start developing, I had to start by understanding the data and how the basic data works from the Bungie API so I’ll have to give you a very basic idea of how Destiny 2 works and some of the early hurdles I knew I would have to cross.
Putting the plan together
When playing the game, an account can have up to 3 characters so at it’s most basic idea I need to find all characters, then check each of those characters for any games they have played. I already know after looking through the Bungie API documentation that I’m going to regularly need my MembershipId and CharacterIds, which are long numbers, so I’m going to have to store those to use them in the future. I also know that when looking at my history, I only get IDs of each game so I’m going to have to use a separate endpoint to load the details of that game once I have the ID.
I would like to add a new record with the smallest possible amount of information to a CDS database and use PowerPlatform to automagically do some wizardly so I mocked up a concept.
Looks a bit like a Flow doesn’t it? That’s useful – so I have a few things to do:
- Build a data structure/entity map for data I’m going to store
- Build a custom connector to gain access to the Destiny 2 API
- Build a flow to use the connector and store relevant data
- Build relevant apps/PowerBI once data is in place and we can learn
This isn’t a quick job, I’ve played for days and weeks on building this up, understanding it and learning about the PowerPlatform so there is going to be a few posts on this subject over the coming weeks.
Thanks for reading and please check back soon for Part II!