I have written about this sometime ago. Before anyone closes this thread for redundancy, I will explain it again.
There are two concepts that you have to understand here:
- possession and temporal displacement of possession.
- participles, and in this case past participles.
1. Possession
When you say
I have {something}
it means you presently possess it. The time of reference is now.
However, English and Romance languages, provide facility to move your time of reference. Let us say you wish to displace your time of reference to last Tuesday, you would then have to use the past tense.
I had {something} last Tuesday.
2. Participles
Forming participles is the transforming of verbs into adverbs, adjectives or abstract objects.
Verb: burn.
Adjective from present participle: burning man.
But for your question, we are interested in the past participle.
Implying an abstract entity from a past participle
I have {abstract entity}.
I have {eaten lunch}.
Which means you have completed the existence an abstract entity, in order for you to have that entity.
Which is why you need to have a completed tense (in older less comprehensible terms, they call it the "perfected" tense).
Therefore
I have {eaten lunch}.
is a present {completed} tense. Otherwise aka present {perfected} tense, aka present {perfect}.
As I had previously pointed out, let us say you wish to displace your time of reference to yesterday.
I had {abstract entity} yesterday.
I had {eaten} yesterday.
Since the time of reference is in the past, it is a past {completed} tense. Otherwise aka past {perfected} tense, aka past {perfect}.
Know ye also there is possible the future {completed}.
Next year, I will beat you soundly at the game, because I will have {had two years of solid practice}.
Answer:
When you say,
I have not played in a long while.
the time of reference is now. You are saying,
If I played right now, I would lose. Because right now, I have not {played} for two years.
But, if you moved the time of reference to last year ...
- I lost to you last year, because at that time I had not {played} for five years.
- But I have {had sufficient practice} since last year until now.