А что вообще возвращает next_game?
У неё ведь даже return нету.
Получается так, что return возвращает callback функция в setTimeout,
но setTimeout ничего не возвращает.
Вам здесь другая логика нужна.
Либо как Выше упомянуто Промисы, либо цепочка вложенных callback'ов.