".scripts\0" // You can name these two whatever you want... char header_length char num_scripts ".script\0" // Also, maybe use ".data" string identifier for this... it's really up to you. char header_length char id // have each script have it's own ID char *name // if you want, you can give it a name char trigger_type // 1: character steps on a tile; 2: character shoots a tile, etc. /* add more info if you need */ int script_len // store the script's length for easier reading /* header ends here */ Here you write your script. End each line with a null character but remember to \0 include that extra byte into script_len. With each line ending with a null char, \0 parsing is much easier. \0