На каком движке angry birds

Обновлено: 07.07.2024

Энтузиаст решил обновить популярную игру о борьбе пернатых с зелёными свиньями. Выбор пал на движок Unreal Engine 4. Оригинальная игра Angry Birds финской компании Rovio Entertainment вышла в 2009 году. Энтузиаст захотел осовременить проект.

На YouTube-канале Fat Dino опубликовали видеоролик, в котором описывается ход создания ремейка на игровом движке Unreal Engine 4. Помимо демонстрации работы над проектом в среде разработки, автор показывает математические расчёты. В результате была создана физическая модель, обновлён пользовательский интерфейс и эффекты от столкновений и разрушения построек, перерисованы персонажи.

В конце автор показал игровой процесс ремейка Angry Birds на движке Unreal Engine 4 с трассировкой лучей.

Описание и технические характеристики

Exient Game Engine обладает мощной технологией графического интерфейса пользователя, что позволяет создавать высоко оптимизированные шейдеры для платформ нынешнего поколения без единой строчки шейдерного кода.

Движок позволяет создавать игры на шестнадцати различных платформах, а также с легкостью транспортировать созданные игры с одной платформы на другую. Создатели утверждают, что на нем без проблем можно создать гоночную игру или футбольный симулятор.

В 2003 году три студента Хельсинского университета приняли участие в конкурсе Nokia и HP на разработку мобильных игр на Assembly и победили с проектом King of the Cabbage World. Затем они основали компанию Relude, а игру продали студии Sumea. Команда работала над играми на J2ME, разрабатывала Burnout, Need for Speed и SWAT. В 2005 году Relude получила первый раунд инвестиций от бизнес-ангела и сменила название на Rovio Mobile.

В 2009 году у Rovio были деньги на создание одной игры. И они сделали это! Подобно Square с «Последней фантазией», Rovio сделали Angry Birds, обеспечившую прибыль компании в следующие годы.

image



Яакко Иисало (Jaakko Iisalo) в 2009 году был единственным дизайнером Rovio. Так как денег у компании было на одну игру, Яакко начал готовить варианты. У него всегда получалось рисовать животных, потому он сел за компьютер и нарисовал группу птиц с клювами, телом округлой формы и злобными бровями — так он реализовал идею сердитых птиц, которые разрушают вещи.

Первая версия сильно отличалась от известных сейчас Angry Birds, вспоминает Иисало. На птичку надо было нажать, чтобы она прыгнула и атаковала простые сооружения. Даже к моменту создания прототипа в игре не было катапульты — птички просто прыгали, например, на замок.

«Когда мы давали игру людям, они не понимали, что нужно делать. Был нужен узнаваемый механизм для запуска птиц. Я сразу подумал о рогатке, но это было слишком очевидным, слишком простым решением, поэтому мы пробовали ряд других вещей, даже пращу. Но именно при виде рогатки игроки сразу понимали, что нужно делать», — говорит Иисало.

image

После этого надо было придумать врагов. Яакко Иисало рисовал поросят лет с десяти. Все персонажи должны были быть очень простыми, поэтому для каждой из птиц выбрали основной цвет. Главный пернатый персонаж был красным — поэтому для врагов выбрали зелёный цвет. Зелёные свинки должны были воровать у птичек яйца и укрываться за сооружениями.

Через три месяца после того, как Angry Birds появилась в App Store, Apple дал разработчикам небольшой баннер на главной странице магазина — и игра стала вирусной. Сначала люди приходили в офис и говорили, что игрушку скачали миллион раз.

«Когда у Сигэру Миямото, дизайнера Super Mario Bros, спросили, какую игру он хотел бы сделать — он назвал Angry Birds», — добавляет Яакко Иисало.

image

Программист Туомо Лехтинен (Tuomo Lehtinen) работал над механизмом в игре, позволяющим запускать шары, и добавил блоки, в которые эти шары врезались. Затем разработчики получили птиц от дизайнера и картинка начала складываться. Но была проблема с механизмом прицеливания — птицы не летели туда, куда хотели пользователи. Игрокам было нужно знать, почему они промахиваются.

Сооружения из блоков не должны были слишком легко рушиться и слишком сильно колебаться от ударов. Также нужно было продумать расстояние от рогатки до замка-сооружения — увеличение этого расстояния увеличивало время игры и делало её интереснее.

Вся команда разработчиков играла в игру в офисе, у них даже был список с рекордами каждого из них.

Через какое-то время игра стала первой в Финляндии. «Но этот рынок настолько мал, что нам достаточно было просто рассказать об игре друзьям и попросить скачать её, и мы уже бы вышли на первое место», — говорит Лехтинен. В Швеции игра вышла на первое место благодаря интервью лыжницы Ане Парсон, в котором она сказала, что играет в Angry Birds, чтобы расслабиться перед соревнованиями.

В апреле 2010 года игра возглавила чарты США. Теперь оставалось выйти на первое место в мировом App Store. Это получилось у Angry Birds спустя пару месяцев. А в августе 2010 года игра вышла на новую платформу — на Android.

В рамках Angry Birds было выпущено множество версий игры, в том числе по мотивам фильмов и мультфильмов — Seasons, Rio, Star Wars, Transformers, Space. «Я помню, как мы пили шампанское и праздновали миллион, а затем десять миллионов скачиваний. Тогда это были огромные цифры. А теперь у нас выходит собственный фильм. Кто мог подумать, что мобильная игра может стать такой масштабной? Это потрясающе», — говорит Лехтинен.

5fce23eb3341a718025714.jpg

Решая задачу по кинематике, получил формулу траектории тела, брошенного с земли под произвольным углом:

Но к сожалению, данная формула не учитывает ни массы тела, ни силы броска, и если использовать такое в Gamedev, то компьютеру игрока прийдётся каждый кадр решать квадратное уравнение.

Как это реализовано на примере Angry Birds?
Есть сила броска, есть mg, есть масса птички, но как это всё записать в одну функцию, чтобы ещё и компьютеру игрока было не очень сложно?

От массы тела зависит взаимодействие с другой массой.
От силы броска и массы тела — начальная скорость v.

Чаще всего действительно не доводят до аналитического решения, а каждый кадр происходит шаг численного решения дифференциального уравнения:
(vx, vy)′ = (0, −g) — ну или сопротивление воздуха добавьте
(x, y)’ = (vx, vy)

Гуглите «методы Рунге—Кутты», нам хватит метода второго порядка.

GavriKos

то компьютеру игрока прийдётся каждый кадр решать квадратное уравнение.

И что? Это не особо то и тяжелые вычисления. Тем более для кор-механики.

gbg

Учебник физики за 6-7 класс средней общеобразовательной школы в руки и вперед, познавать так сказать.

Квадратное уравнение решить современному процессору не стоит практически ничего. Тем более, что его можно решить один раз.

iDmitriyWinX

Физику седьмого класса я знаю прекрасно, я просто не особо разбираюсь в том, что сложно процессору, а что нет.

Оказалось, что решать квадратные уравнения на процессоре не так затратно.

Читайте также: