Я, основываясь на своём опыте, вижу сложность в двух аспектах: логика и действие.
Действие - какой либо закон, численный метод, подсчёт и тому подобное. Для них нужна математика. Та же работа с векторами и матрицами (все игры) - всё это математика. Она необходима хорошему программисту.
Логика связывает все эти действия в единый механизм. Как её организовать, как связать. В этом еще одна сложность. Это есть уже программирование.
Одно без другого бесполезно. Учите и то и другое в равной степени. Используйте на практикие. К примеру суть программирования, где нужна математика и логика, хорошо отражена в игре Space Engineers через C#. Замечательная песочница, рекомендую.
Лучше заниматься программированием, если вам это интересно.
Математика и физика - это дополнительные предметы, не первостепенно важные.
Если у вас с ними проблемы - их нужно подтянуть, но не ставить их во главу угла.
Даже на фронтэнде сейчас популярны ООП и функциональный подоход. А тут дискра нужна.