added step-based engine snapshots to undo/redo game steps (continued)