How often do you write to the binary file? Every tick? Every 2000 ticks? Would anyone be willing to post some code? How does this look? Code: ofstream myfile; myfile.open("data.bin", std::ios::out | std::ios::binary); myfile.write((const char*) &myData, sizeof(myData)); myfile.close(); Then I'd just have to record my position and every couple thousand ticks add to the binary file?