Nice to see another 2048 clone. At least this way, the 2048 craze is living, somehow...
And here is the code you want for creating the appvar (it even stores the pointer in M):
UnArchive "appvHS2048"
!If GetCalc("appvHS2048")->M
0->{GetCalc("appvHS2048",2)->M}^^r
End
This code loads the appvar whether or not it is in RAM or archive.
You can adapt this code for different appvar names, different variables to store the pointer to, and different appvar sizes. And I like to store the appvar in Archive when the program ends, just in case the calc crashes and a RAM clear is performed.