Answer:
D. The tense is not consistent because was is past perfect and will have been playing is present perfect future.
By the time David was 30, he will have been playing Tetris for 21 years!--->
By the time David was 30, he would have been playing Tetris for 21 years!