Originally Posted by Wiki
From the perspective of a computer programmer, an associative array can be viewed as a generalization of an array. While a regular array maps an index to an arbitrary data type such as integers, other primitive types, or even objects, an associative array's keys can be arbitrarily typed.
So the fact you can use negative values does not make it associative because negative integer is still an integer, same type.
Your code represents a dynamic array.
Gamecache is associative array.
Technicality like I said, but misusing names is always dangerous in the long run.