A tense is a verb form.
The reason for calling will have played in the 'future perfect tense' is because the time referred to in a. is the future. But the problem is, the same form will have played in b. refers to not a future time but a past time.
a. I will have played tennis for thirty years by the end of this year.
b. He will have played tennis for thirty years by the end of last year.
Then, should you be calling the same form will have played in b. the "past" perfect tense??
No, you shouldn't. Since a tense by definition is a verb form, you can't have different tenses for the same verb form.
What this shows us is that there is no way of knowing what tense will have played really is under such a definition of 'tense' as:
A set of forms taken by a verb to indicate the time (and sometimes also the continuance or completeness) of the action in relation to the time of the utterance.
(as defined in this Oxford Dictionary)
The reason for this problem, I think, is because we're trying to think of will have played as a single verb when it comprises three verbs. As shown in the Oxford definition, a tense is not a set of forms taken by one or more verbs in combination, but a set of forms taken by a single verb.
Interestingly, the Oxford definition is somewhat self-contradicting in that it tries to encompass "the continuance or completeness" as well as the time, when you'd definitely need more than one verb to indicate either "the continuance or completeness".
This goes to show that the traditional definition of the term 'tense' is problematic at best, if you're to stay logical in applying the term to real sentences.
Likewise, determining the tense of could have played is problematic:
c. I/He could have played tennis for thirty years by the end of this year.
d. I/He could have played tennis for thirty years by the end of last year.