After failing to add more variables to the save function, I ended up changing some of them from 32-bit integers to 16-bit integers. It works and now I can store a lot more than I could before. What I find weird is that operations on 16-bit integers take up more space than operations on 32-bit integers. Anyone can explain that to me..?