Автор: Алешина Людмила Алексеевна
Математические методы в компьютерных играх
В процессе обучения математике одним из эффективных способов является обращение к разработке компьютерных игр. Исследуя теоретические аспекты разработки игровых приложений, можно создать у учащихся дополнительную мотивацию к изучению математических дисциплин.
Разработка игр базируется на математических методах. Математика используется в каждом из аспектов разработки игры. Maya – программа, которая записывает все вершины, нормали моделей в математической форме и позволяет разработчикам создавать целые миры или отдельных персонажей. Однако большая часть математики игры считается прямо во время игры соответствующими движками, которые создают все изображения. Они выполняют очень важную работу, так как без неё игра просто не сможет существовать. Именно так созданы красиво ударяющиеся о края корабля волны в «Assassin’s Creed: Black Flag»; пролетающие над головой свистящие пули в «Call Of Duty: Ghost»; бег Соника или прыжки по параболе Марио; дрифт на скорости 80 миль в час в «Need For Speed»; скольжение вниз по горе на сноуборде в «SSX»; отрыв от Земли ракеты в «Kerbal Space Program» и многое другое.
При разработке и создании игр используются такие разделы математики, как алгебра, дискретная математика, тригонометрия, математический анализ, линейная алгебра.
Самые важные понятия для разработки игр с точки зрения математики: скалярное и векторное произведение, векторы, отражение, матрицы, скалярные манипуляции, косинус, синус, тангенс. Всё вместе, как правило, используется в сложных играх AAA-уровня. Простые же игры обычно требуют меньше математики.
Если посмотреть, как математика используется в программировании, то можно увидеть, что это может быть просто сложение X и Y, манипулирование синусами, косинусами. Однако в некоторых случаях можно увидеть такие процессы, как создание векторов, названных «MAX_SPEED» и «MIN_SPEED», и добавление их в игровой цикл для проверки скоростей, расчёт скорости космического корабля, деформация поверхностей при соударении и изменение траектории и скорости в зависимости от силы удара. Именно поэтому компании, занимающиеся разработкой игр, требуют от своих сотрудников знания математики и алгоритмов. Знание таких вещей не просто поможет разработать логику игры, но и качественно оптимизировать саму игру, находя альтернативные пути, которые помогают избежать лишних вычислений.
Некоторые вещи при создании игр полностью опираются на математику. Это симуляция жидкостей, анимация, алгоритмы, архитектура игровых движков, написание игровой логики, аналитика и сбор данных, расчёт кадров в секунду, игровая физика, графика/шейдеры, искусственный интеллект, процедурная генерация. И это лишь то немногое, что требует от разработчика игр знания математики.
Таким образом, мы видим, что посредством изучения компьютерных игр можно значительно повысить интерес к математике у обучающихся, наглядно показать использование математики в программировании.