Знать нужно много чего...
Само собой программирование: C++, C#, Java или другие.
Математика: необходимо знание основ алгебры, геометрии, тригонометрии и математического анализа.
Физика: нужно знать основы, чтобы моделировать физические взаимодействия в игре.
Графика: нужно знать, как создавать 2D и 3D графику, а также как обрабатывать изображения.
Звуковое сопровождение: принципы работы со звуком, чтобы создать качественное звуковое сопровождение для игры.
Геймдизайн: нужно иметь представление о том, как создать интересный и увлекательный геймплей.
Сетевой код: если хотите создать многопользовательскую игру, то необходимо знать, как реализовать сетевой код.
Оптимизация: нужно уметь оптимизировать код, чтобы игра работала быстро и без сбоев на различных устройствах.
Ну и, естественно, уметь пользоваться поисковиком, так как искать придется много разной информации.