Google protobufNoticed some of you hate writing save/load code. I use it for game saving/loading and networking. It's awesome.
A quote from the website:
Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats.
You write a .proto file like this:
message Person {
required int32 id = 1;
required string name = 2;
optional string email = 3;
}
Then you compile it with protoc, the protocol buffer compiler, to produce code in C++, Java, or Python.
Then, if you are using C++, you use that code like this:
Person person;
person.set_id(123);
person.set_name("Bob");
person.set_email("[email protected]");
fstream out("person.pb", ios::out | ios::binary | ios::trunc);
person.SerializeToOstream(&out);
out.close();
Pure awesomeness that right there. Enjoy!
PS: No point in writing a tutorial myself here, a very easy and comprehensive one can be found on the official page I linked at the beginning of this post.