I'm trying to make a turn-based game, and I'm trying to figure out how to communicate between the game and the graphics. Something along the lines of: Game tells graphics "It is Billy the NPC's turn. Billy the NPC moves over here and turns to face this way. It is now Tom the Monster's turn. Tom the Monster attacks John the PC and rolls an 18 and hits John the NPC. John the PC takes 8 points of damage from Tom the Monster's attack. It is now John the PC's turn." Graphics tells game "John the PC casts Spaceballs the Spell on Tom the Monster." Game tells graphics "John the PC's Spaceballs the Spell hits Tom the Monster. Tom the Monster makes a fortitude save of 13 and fails. Tom the Monster takes 12 points of Hurty damage and dies." Graphics tells game "John the PC's turn is over." Game tells graphics "Billy the NPC goes over this way and blotterizes his kajiggers. It's now John the PC's turn." Graphics tells game "John the PC moves over to this area." Game tells graphics "Load this area" and somehow hands over the map's data to the graphics The real intention is that the game tells the graphics what is going on, and the graphics tells the game what the player wants to do, and I don't exactly know what the best way to go about this is. I was thinking maybe keeping them in seperate processes and using pipes to communicate the actions and chunks of shared memory for the map data and such. I'm working with C in Linux (at the moment).