While recently looking at a battle report on Battlelog I noticed that a player’s tags are not shown – this is something that would be useful to identify fellow platoon players. So, I asked DICE via Twitter. Their response was…
@BF_Medic Potentially, but the problem is that it would show their current tag and not necessarily the tag played with in that round.
— Battlelog (@battlelog) April 28, 2014
Initially this may not make a lot of sense but, as a Developer, I understand the background to this.
Recording all game results is going to take up a lot of storage. The answer here is to store just the lowest level of data – in this case the individual stats for a person for each game. Behind the scenes there will be database on which they are likely to store all these stats, along with an ID for both the battle and the player. The player ID will then correspond to another database where all of our soldier information is stored – hence, if your clan tag is changed here it will also change for each battle report, including those played in the past.
To display a battle report you simply need to fetch all the game results by looking at the database for any records with that particular battle ID. You’d do this in sequence of their side and final score, making it easy to display the end results.
To display a list of games played on a soldier profile you fetch all the records with that player’s ID in date order.
The “elephant in the room” though is that Sony are threatening to add functionality in future that will allow us to change our PSN name. Battle reports use our platform names, rather than Battlelog names – if Sony do this then DICE will have an issue as a change in PSN name will also mean all battle reports changing. So, if this happens, it will force DICE to re-think their current strategy and might open the way for clan names to be added too.
How do we know this is the case? Let’s look at a URL for a battle report…
Those last two numbers are the relevant ones…
461358039314454784 – this is the battle ID
296381422 – this is the user ID. It doesn’t need to be specified but simply tells Battlelog to display the resulting report in a way most suitable for that player. If you omit it then you get a more generic battle report…
If you do this and you were in the game then, because you’re signed into Battlelog, it will still display some specifics for you (highlighting your squad in green, for instance)/
If you look up the above user you get the following URL…
Again, you see this ID in the URL, showing that it is unique to this soldier.