«Системное программирование» (или «системное программирование») означает программирование, выполненное на более низком уровне абстракции, чем (например) программирование геймплея. Программирование геймплея обычно связано с созданием реальной игровой механики и фронтальных возможностей, которые может видеть пользователь, в то время как системное программирование - это скорее создание каркасов, на которых работают программисты геймплея.
Это может означать графику, загрузку и потоковую передачу ресурсов, аудио, управление памятью, ввод-вывод файлов, API-интерфейсы абстракции платформы и так далее. Детали довольно сильно различаются, и, поскольку в игровой индустрии не существует стандартов для названий должностей, также не существует стандартов для названий областей программирования. В одной студии вы можете обнаружить, что «системное программирование» означает все, что я перечислил выше. С другой стороны, вы можете обнаружить, что они различают «графическое программирование» как отдельный домен и называют любую другую задачу, не связанную с программированием геймплея, «системным программированием». В еще одном случае они могут вообще не использовать этот термин и просто назвать его «программирование двигателя».
Поскольку это домен более низкого уровня, и обычно он предполагает более непосредственное взаимодействие с API-интерфейсами для каждой платформы для платформ, для которых будет полезно знание этих платформ, равно как и знание более общего домена (например, концепций ОС без учета того, как работает конкретная ОС, например, что такое виртуальная память или как работают потоки, как работает буферизация ввода-вывода и так далее).