Больше полу года работаю гейм дизайнером и пока составить диздок чтобы ни у кого не возникло ни одного вопроса - не получилось (кстати отметил для себя, что для художников проще, они сами додумают если ты не указал какого цвета пуговицы должны быть на манжетах, а вот если ты программисту не написал в доке как внутреигровой календарь должен реагировать на высокостный год в случае если во время карантина рак на горе таки свиснул - то девелоперы сами не додумают)))) )
писать требования надо под конкретного человека, а не "для программиста".
Кому-то текст понятнее, кому-то схема, кому-то макеты окон, флоумап.
Наиболее надёжный в моей практике способ составления требований - описать как всё это выглядит со стороны пользователя по этапам ("игрок жмёт кнопку - происходит то-то"). Детали реализации в данном случае излишни.
Негативные кейсы нужно описывать (не хватает денег, нет интернета и т.п.) - программист не должен "додумывать", т.к. "додумку" потом будет тестировать тестировщик и так или иначе вопрос "как это должно работать" всё равно прилетит ГД.
Всегда устраивать встречи перед реализацией фичи для синхронизации вижена, вопросов и т.п.
Ну и дружить надо со своими программистами, давать им влиять на требования, мотивировать давать обратную связь - это будет только в том случае, если ты их слышишь.