just my 2 cents :-)
I save the game with a txt-File. I dont' know, maybe thats a bit noobish, but it works and so it's okay for me :-D
Here I have a example of saving:
(the Character-proberties. I took for every character a save_dir, because I save the item-structs in the inventory and some other thinks, too, so it's orderly for me).
The Player-proberties are in one array, the size is as big as eigenschafts_index.
You have to be attend, that you load the different variables in the exact order, you saved them :->
Code:
function spieler_speicherung()
{
	// Datei + Pfad suchen
	str_cpy(save_dir,"save");					// damit der Verzeichnispfad dynamisch wird
	str_cpy(str_char_verwendet,"%SAVE_DIR%\\char");			// zuerst der Unterordner
	str_cat_num(str_char_verwendet,"%.0f",chosen_character);	// mit jeweiliger Nummer
	str_cat(str_char_verwendet,"\\char");				// dann der Dateiname
	str_cat_num(str_char_verwendet,"%.0f",chosen_character);	// mit jeweiliger Nummer
	str_cat(str_char_verwendet,".txt");				// schlussendlich Dateityp -> vollständiger Pfad mit Dateiname und Dateityp

	filehandle = file_open_write(str_char_verwendet);
	str_cat(str_char_verwendet,";");				// das Komma als Grenzzeichen, bis dorthin ists der Spielername, dann kommen die Stats
	file_str_write(filehandle,str_char_verwendet);			// den Spielername speichern

	int i;
	for(i=0;i<eigenschafts_index;i++)
	{
		file_var_write(filehandle,spieler_eigenschaften[i]);
	}
	file_close(filehandle);
}



For decription I dont waste time now. my opinion is, as long as there is no way of multiplayer over the internet, there is no need of decript the saveings. That is just my personal opinion, so I didn't make any mind about that and I can't help you regarding the decription :-|