Game Engine Architecture 3rd Edition by Jason Gregory