Игры на unreal engine 1.



Приветствую, Хабр! Хотел бы познакомить вас с относительно небольшим проектом, который я сделал c нуля примерно за 150 часов (50 заходов ~3 часа каждый) на Unreal Engine 4. Проект я делал в прямом эфире только на стримах раз в неделю (в общей сложности ушел год), попутно отвечая на вопросы пользователей.

Сам проект не предназначался как коммерческий. Целью я ставил на практике показать всю сложность разработки игр, а именно такие проблемы, как:

  • Планирование и прототипирование проекта
  • Продумывание и реализация архитектуры проекта и отдельных его компонентов
  • Реализация интерфейса пользователя
  • Отладка и исправление ошибок
  • Работа с ассетами и графикой

В конце всей серии стримов у нас получился играбельный прототип “Сурвайвл” шутера. Те, у кого стакан наполовину полон, смогут даже назвать это пре-альфой без сюжета.

Если вам интересны подробности проекта, записи стримов, исходники и прочее, читайте далее.

Весь проект был реализован на визуальной системе программирования, под названием “Блупринты”. И конечно многие спецы могут назвать её ребяческой, разработать на ней можно спокойно даже относительно крупный проект. Более того, это можно сделать относительно быстро, как мы уже смогли доказать.

Сразу хочу ответить на вопрос: "Почему Блупринты, а не С++? ". Ну во первых, когда я начинал серию, плюсы я почти не знал. Хотя я и сейчас подобный сингл делал бы на БП. Во вторых, БП почти не уступают плюсам в нашем случае, но при этом дают ряд возможностей: Не позволяют наделать множество ошибок, возможных с плюсами, не приходится отвлекаться между БП и С++, понятнее новичкам. Да и они в нашем случае не намного медленнее, учитывая тот факт, что почти вся логика построена на событиях.

Мы так же успели немного поработать над графикой. К сожалению, ассеты делать времени у нас не было, поэтому мы часть оставили пустышками, часть сделали прямо в редакторе из примитивов, а некоторый контент позаимствовали из бесплатных демок Epic Games. Тем не менее, что-то успели сделать и сами, например систему дня и ночи, постобработку для воды и некоторые материалы объектов сцены.

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

Естественно, полноценной игрой это вряд ли можно назвать, так как нету ни сюжета, ни цели в игре - только чистая механика. Тем не менее, я считаю, что результатом можно гордится и он вполне отражает то, для чего задумывался весь проект.

Список всего, что мы успели реализовать в нашей игре

Персонаж

  • Управление персонажем
  • Система жизненных показателей (Жизни, броня, стамина, голод, жажда)
  • Переключение вида (от первого лица и от третьего)
  • Моделька (сделали во Fuse, анимации взяли с Mixamo)
  • Настроенные анимации передвижения и использования оружия
  • Универсальное взаимодействие с предметами

Объектная система инвентаря

  • Компонент инвентаря (встраивай в любой объект, куда хочешь)
  • Клеточная система с поддержкой различного размера предметов
  • Размер инвентаря по клеткам на страницу и по весу.
  • Класс предметов, которые можно положить в инвентарь. Предметы хранятся в качестве объектов.
    • Вес, размер, информация, состояние предмета
    • Функционал для стака (когда в одной ячейке много одного предмета)
    • Возможность добавить логику использования предмета
    • Выбрасывание из инвентаря
  • Интерфейс для взаимодействия с инвентарем
  • Интерфейс для обмена между другим компонентом и своим.
  • Drag&Drop манипуляция объектами между инвентарями и внутри одного.
  • Контекстное менюу предметов
  • Подсказки при наведении на предметы в инвентаре и в мире.
  • Список генерируемых предметов при создании объекта с компонентом / начале игры.
  • Список начальных предметов при создании объекта с компонентом / начале игры.
  • Система торговли между другим инвентарем
    • Интерфейс торговли
    • Компонент менеджмента денег (необходим для работы торговли)

Система экипировки

  • Экипировка нескольких типов предметов: Шляпы, Топ, Брюки, Ботинки, Оружие
  • Скелетная синхронизация у Топа, брюк и ботинок. (Шляпы и оружие по сокетам)
  • Удобное окошко для экипировки с поддержкой Drag&Drop
  • Поддержка логики-модификаторов при одевании
Оружие
  • Дальнобойное оружие
    • Перезарядка
    • Использование предметов-патронов из инвентаря
    • Поддержка классов снарядов/пуль
    • Автоогонь/одиночный огонь
    • Отдача с разбросом (свой + от факторов, н.п. бег или приседание)
  • Холодное оружие (с несколькими видами проверок на урон на выбор)
  • Состояние оружия ухудшается при использовании
Система крафта
  • Крафт по рецепту (выбрал рецепт, он скрафтил, аля фоллаут)
  • Крафт по предметам (закинул нужные предметы, он скрафтил, аля майнкрафт)
  • Интерфейс пользователя только для второго типа крафта.
Агрессивные мобы
  • Мобы ближнего боя (если увидят, побегут и начнут бить)
  • Мобы смешанного типа (стреляют, но если достаточно близко, побегут что бы ударить)
  • Дальники оббегают препятствия, если не могут выстрелить.
  • Есть встроенный инвентарь для лута после убийства.
  • Зона спауна
  • Список классов
  • Шанс спауна
NPC
  • Городские NPC, патрулирующие свою зону спауна
  • Уникальные NPC
  • Базовый контроллер расписания для уникальных НПЦ
  • Реакция на урон (убегают или используют имеющееся оружие)
  • Встроенный инвентарь для лута после убийства.
  • Объектная диалоговая система
    • Дерево диалогов
    • Каждый ответ - объект
    • Для каждого ответа можно докинуть любую логику или условие доступности.
    • Интерфейс диалога
    • Несколько готовых классов ответа (запускает торговлю, забирает ресурсы, если есть, выходит из диалога)
Строительство
  • Класс конструкций, которые поддерживают размещение
  • Использование предметов-ресурсов из инвентаря при размещении.
  • Снаппинг на некоторых типах конструкций (н.п. Стены, фундамент, окна)
  • Менюшка с конструкциями
  • Подсвечивание конструкций, на которые хватает ресурсов
Дополнительно
  • Небольшая карта с городом, лесом, водоемами (можно плавать).
  • Система смены дня/ночи
  • Автомобили
    • Вид от первого или третьего. Общее с персом
    • Включение/выключение фар.
    • Встроенный компонент инвентаря (нужно взаимодействовать у багажника)
  • Кое как работающие лестницы вертикального типа.
  • Главное меню
  • Меню паузы
  • Меню с настройками графики

Впрочем, говорить о проекте можно бесконечно. И чтобы не превращать статью в книгу, предлагаю ознакомиться с игрой и возможностями по видео. А тем, кому стало действительно интересно, чуть ниже сможете найти записи всех стримов, ссылки на исходники и билд игры.

Содержание по частям

  1. Начинаем и планируем проект. Создаем управление и поведение персонажа.
  2. Начинаем делать систему инвентаря.
  3. Продолжаем делать базу системы инвентаря.
  4. Готовим базу для экипировки и вооружения.
  5. Работа над оружием и использовании патронов.
  6. Делаем автострельбу и прицеливание.
  7. Создаем базовую систему крафта.
  8. Бег, переработка предметов и их износ.
  9. Реализовываем перезарядку для оружия.
  10. Делаем оружие ближнего боя.
  11. Доделываем ближний бой и делаем лестницу по которой можно взбираться.
  12. Делаем интерактивные предметы: Дерево, камень, кусты.
  13. Делаем HUD и начинаем делать интерфейс для инвентаря.
  14. Продолжаем работать над интерфейсом инвентаря. Делаем генерацию ячеек с предметами.
  15. Продолжаем делать генерацию ячеек и поиск места для предмета. Добавляем страницы инвентаря.
  16. Делаем небольшое взаимодействие с предметами в инвентаре и окно подробной информации.
  17. Сделали Drag&Drop перетаскивание предметов по инвентарю и в другой инвентарь.
  18. В этой части речь идет о визуализации крафта.
  19. Создаем окно с выбором количества предметов из стака для переброса в другой инвентарь.
  20. Делаем поддержку разных рецептов крафта, а так же фиксим разные баги у инвентаря.
  21. Создаем систему смены дня и ночи, а так же делаем новую сцену для нашего проекта.
  22. Начинаем создавать AI для агрессивных ботов.
  23. Делаем атаку мобов, а так же реакцию на атаку. Плюс реализуем сбор лута с мертвых мобов.
  24. Делаем зону спауна для нпц. Так же добавляем генерацию случайных предметов в инвентаре.
  25. Обновляемся до 4.13, а так же делаем дальних агрессивных нпц.
  26. Добавляем разные элементы на HUD. Добавляем ручную перезарядку оружия.
  27. Доделываем поддержку скелетной одежды и шапок. Добавляем анимацию для оружия от первого лица.
  28. Делаем интерфейс для работы с нашей системой экипировки.
  29. Начинаем делать торговую систему и компонент менеджмента денег.
  30. Продолжаем делать торговлю, создавая и настраивая компонент торговли.
  31. Делаем отмену торговли, а так же настраиваем анимацию перезарядки.
  32. Создаем транспорт со своим инвентарем, фарами и переключением вида. Создаем фонарик.
  33. Создаем строительство (а точнее систему размещения объектов перед собой).
  34. Делаем интерфейс для строительства, делаем привязку для стен.
  35. Создаем ещё несколько видов конструкций: Палатка, кровать, стул, стол, лампа, дверь. сундук, костер.
  36. Добавляем крышу, окна. Доделываем выравнивание относительно других конструкций.
  37. Делаем небольшое поселение, а так же населяем его NPC, которые так же создаем в этом уроке.
  38. Начинаем делать систему диалогов для наших жителей.
  39. Настраиваем туман и постобработку. Импортируем модель зомби и настраиваем ему анимации.
  40. Доделываем систему диалогов.
  41. Делаем взаимодействие с предметами от третьего лица, а так же модификаторы для брони.
  42. Создаем главное меню, меню паузы и настройки графики. А так же собираем первую сборку игры.
  43. Реализуем расписание для уникальных жителей.А так же что бы городские NPC убегали от атаки.
  44. Добавляем контекстное меню в инвентарь, а так же фиксим некоторые баги нашего инвентаря.
  45. Добавляем отдачу, разброс, анимацию выстрела и возможность ударить для огнестрельного оружия.
  46. Доделаем агрессивных и городских NPC, фиксим разные баги, связанные с ними.
  47. Настраиваем анимации для главного персонажа. Добавляем различную одежду.
  48. Исправляем различные ошибки в нашей игре.
  49. Исправляем различные ошибки крафта, NPC и экипировки в нашей игре.
  50. Немного дорабатываем карту и собираем последний билд.

Новой мобильной Lineage 2 на Unreal Engine 4 мы решили составить небольшую подборку интересных ремейков игр на этом движке, которые заслуживают вашего внимания.

Итак, топ-5 ремейков игр на Unreal Engine 4. Поехали!

1.

Анонс ремейка легендарной Final Fantasy 7 на конференции E3 2015 стал для многих людей главным событием того года.

В последствии, на PlayStation Experience 2015, был показан трейлер, содержащий в себе несколько секунд впервые показанного геймплея с участием Клауда и Баррета в самом начале игры.

Чтобы понять, какое место занимает Final Fantasy 7 в игровой индустрии, и как сильно люди ждали этого момента, достаточно посмотреть нарезку реакций на анонс этого ремейка.

2.

3.

22-летний художник 3D-окружения Киммо Каунела из Финляндии на протяжении всего предыдущего года работал над проектом The Last Stop , вдохновлённым творением студии — игрой . Киммо удалось создать потрясающую карту, показывающую, как бы выглядела игра, будь она выпущена на движке Unreal Engine 4.

У парня есть аккаунт на Deviant Art и собственный сайт , где можно посмотреть его последние работы. Этот проект, по словам автора, научил его работе с Unreal Engine 4.

4.

Энтузиаст Аирам Эрнандес поделился в начале этого года видео с любительским ремейком первой части , над которым он работает в одиночку.

Работа Эрнандеса использует модифицированную версию графического движка Unreal Engine 4. По его словам, сперва он хотел только воссоздать остров Тень Моисея (Shadow Moses) на новой технологии, чтобы знакомые с оригиналом геймеры и новички могли изучить его достопримечательности. Однако после того как на техническую демоверсию обратили внимание зарубежные СМИ, Эрнандес решил взяться за полноценный ремейк стесл-экшена.

В своей записи на Facebook автор переделанной Metal Gear Solid не уточнил, когда стоит ждать финальную версию. Видео, как следует из вступительного сообщения, записано на основе раннего прототипа ремейка.

5.

Моддер с ником Logithx вознамерился сделать ремейк культового шутера . Энтузиаст работает над воплощением антиутопичного Города-17 из HL2 с помощью Unreal Engine 4. Примерную дату окончания работ автор назвать пока не может — все пока еще на ранней стадии.

Logithx много времени работал над ремейком Half-Life 2 на прошлой версии движка от Epic — Unreal Engine 3. Однако когда компания начала распространение мощного UE4, он решил начать работу с нуля — и уже на новой технологии.

6.

«Как так, вы же сказали Топ-5 — откуда 6-й пункт?» - спросите вы.

К черту правила! Это же на Unreal Engine 4! Вы только посмотрите на эту графику! Автор проекта по переносу этой замечательной игры на новый движок - Александр Янг.

Pong — первая игра, показавшая, что игры — это серьезно. Забавно, но двух ракеток и шарика-пикселя хватило, чтобы устроить первый бум аркадных автоматов: игровые машины с Pong были так популярны, что рынок вскоре заполонили ее клоны. Впоследствии компания Atari выпустила версию Pong для консоли Atari 2600, доказав, что домашние игровые системы тоже имеют право на жизнь. Успех Pong также стал сигналом для других игровых компаний — например, по горячим следам Konami вошла на аркадный рынок с игрой Maze.

И на нём начали клипать игры, даже уже несколько вышло. Часть получилась хорошей, а другая... скажем так, от них ожидали лучшего. Но все же они вышли, мы в них поиграли, и ждём новых творений на этом движке, так как бесплатный он, и как бы творить да творить. И сегодня я вам расскажу, какие игры выйдут в ближайшем будущем на 4 Unreal.

Ну, и первая игра, о которой я вспоминаю, когда слышу об этом конструкторе, так это Unreal Tournament . Шутер от первого лица с очень динамичным гемплеем, всё взрывается, кровь, кишки повсюду, и даже нет секунды отдохнуть, разве только перед возрождением, и то даже оно здесь почти что моментально. История игры идёт аж с 99 года, тогда вышла первая часть, и все просто были удивлены от её геймплея, дали спокойно лучшую игру года, так как скорость на экране завораживала, и нужно было иметь неплохую реакцию. Сетевой шутер с каждой новой частью не менял динамику сражений, а только графику в лучшую сторону. Всё оставалось и остаётся по сей день в духе старой школы.

Только в 3 части разработчики, которые являются и создателями движка, компания Epic Games , решили добавить военную технику в своём футуристическом стиле, и лишь малая часть восприняла эту новость гневно, мол "всё, игра сдулась, и не будет она больше такой, какой мы привыкли её видеть, да превратиться в обычный шутер...", но техника пошла только на пользу.

В Unreal Tournament также присутствует сюжет, но я его толком не знаю, да и наверно никто его не знает. Слышал лишь, что там какой-то турнир проводят, и всё происходит как в мультиплеере , только с ботами. Ну и кому это будет интересно проходить? Именно поэтому купив, ну или скачав с торрента, все быстренько регистрируются и бегут нажимать кнопку "Поиск игры". И если вы хотите вспомнить те самые ощущения, то скорей идите на официальный сайт, там качайте лаунчер Epic Games и совершенно бесплатно играйте в Unreal Tournament с просто офигительной графикой и безбашенным гемплеем.


А о об этой игре я слышал довольно , она тогда мне приглянулась, и я начал её ждать, но по сети стали ходит слухи, что заморозили этот проект, опять же разработчики Epic Games , и ни слуху ни духу от них. И вот, спустя какое-то время, Эпики начали высылать первые ключи для закрытого альфа тестирования. Тогда-то уже все поняли, что работа над игрой кипит и ничего замораживать не собираются, игра кстати называется Fortnite . Это некая смесь , a, всех и . Вам придётся играть за одного из, скажем, выживших, который, по всей видимости, обладает навыками строительства, огнестрельного и холодного оружия, да и добытчик ещё неплохой.

Вы будете в открытом мире, днём, собирать разного рода ресурсы, дерево, камень и т.п. И пока не наступила ночь, и из всех щелей этого мира не поползли зомби, необходимо построить свой форт. А в вашем распоряжении будет доступно куча различных ловушек, и они-то наверняка остановят толпу голодных зомби, которых тоже несколько видов, от пушечного мяса, до хитрых и наглых ублюдков. Так что включаем фантазию перед заходом в игру, ведь нужно будет построить большой форт для душевного умиротворения и чтобы физически быть целым.

Да не забудьте собрать кучку таких же как вы в кооперативе , как говорится "Один в поле не воин". И если вас Fortnite заинтересовал, то записывайтесь на альфа-тестирование на официальном сайте, а игра по идее должна выйти в этом году.


Следующая по списку (но уже не от Epic Games , хватит) игра Fable Legends . Разрабатывается Lionhead Studios под крылом Microsoft , но увы, уже без Питера Молиньё. Кто хорошо знаком с игрой знают, что он был главным дизайнером. Сюжет игры разворачивается за 400 лет до первой части и будет неким приквелом Fable , вышедшей в 2004 году. К слову, есть ещё одна игрушка с таким же названием, появилась она в 96-м году и совсем от других разработчиков, в жанре квеста. Кто знает, связаны эти игры или нет, пишите в комментариях. Ну а мы вернёмся к сюжету, хотя по сути больше ничего неизвестно, только время, когда будут происходить действия.

Что касается геймплея, так его чутка изменили, добавили те части, которые никогда не должны были попасть сюда. К примеру, кооператив на четверых , возможно это и к лучшему, ведь всегда веселей поиграть с кем-то, чем в одиночку, но в некоторых играх он абсолютно не нужен, кто знает, может и Fable относится сюда. А мультиплеер теперь рассчитан на 5 человек, один из игроков будет злодей, а остальная четвёрка - отважные и добрые герои: Стерлинг , быстрый и вооружён мечом с ножиками, Инга , сильнейшая с щитом, Рук , бородач с арбалетом, да Уинтер , снежная королева и не думаю, что это окончательный список. Героям предстоит убить плохого парня своими силами, а тот, в свою очередь, сможет вызывать на поле сражения гоблинов и расставлять ловушки с засадами.

Также из разряда "Почему?": разрабы сделают игру по системе F2P и разобьют на сезоны, чтобы после окончания сюжета игроки не покидали игру, а покупали новое DLC с новыми квестами и сюжетом. Этими действиями Microsoft решили пополнить игру новой аудиторией, но есть и обратная сторона медали, игра может растерять старых фанатов. Из явных плюсов выделю графическую составляющую в своём стиле, большой, открытый и живописный мир, живущий по своим законам, а остальное всё пока что под вопросом.

Игра должна выйти в этом году на X-ne и поначалу только на нём, но потом анонсировали Windows 10 , теперь игра ещё будет и на PC с 10 виндой.


И как-то я забыл про стратегии, хотя буду точнее, все почему-то забыли этот жанр. Очень мало в наше время выпускают игры, где можно поуправлять государством и каждым бойцом. А если ещё сузить круг, стратегии в космосе так вообще по пальцам пересчитать. И Homeworld Remastered не утолил жажду, так что это собирается сделать инди-студия Snowforged Entertainment в Starfall Tactics .

В игре предстоит воевать на стороне одной из трёх враждующих фракций: VANGUARD , ECLIPSE INC и DEPRIVED . У каждой своя история, кто-то обычные войны, кому-то всего мало и они хотят большего, ну а некоторые просто затаили обиду на всех и готовы сражаться. Но это самая малая часть из того, что нужно знать об этой игре, всего лишь обложка. Создать огромную армию из лучших кораблей можно за любую фракцию. С учётом того, что каждый корабль можно оснастить чем угодно своеручно. От любого двигателя, корпуса, той же покраски, до нужного оружия и брони. И помимо обычного рынка, где всё это продаётся, есть чертежи. С их помощью и нужными ресурсами для создания вы сотворите уникальные корабли, коих не было ранее.

Думаю, про графику говорить не стоит, раз идёт речь о Unreal Engine 4 . Разрушения кораблей, лазеры повсюду, сам космос красив, но по видео гемплея видно, что летать мы будем в плоском пространстве. И хоть игра очень напоминает Homeworld и наверняка разработчики опирались на эту игру при создании своей, выходит вроде хуже или тоже самое. Но я буду надеяться, что ошибаюсь, ведь в Starfall Tactics отличная система настройки любого корабля и F2Pлейность проекта, хотя последнее вносить в плюсы игры не всегда стоит, но про донат пока ни слова. А выйдет игра фиг знает когда, мои поиски этой информации увенчались провалом, но включая вангу могу предположить, что в 2016 на ваших PC игра уже будет.


И раз уже начали говорить о стратегиях, продолжим, не так давно была анонсирована игра по вселенной Warhammer 40 000 с названием Battlefleet Gothic: Armada . Это название и раньше существовало в природе, это также была игра, только не компьютерная, а настольная, и это первая адаптация по ней. Бои будут происходить в космосе в реальном времени. Флоты Империи, Хаоса, Орков и Эльдаров встретятся в Готическом секторе, да победит сильнейший. События разворачиваются в те времена, когда начнётся вторжение Абаддона Осквернителя и Империя будет восстанавливать мир и порядок. Нам выпадет честь играть за Императора и отбиваться от всех четырёх врагов в секторе. Полностью сюжет нам не рассказывают разрабы, но поделились инфой, как они собираются сделать игровой процесс, ведь видео до сих пор нет, и все наслаждаются только скриншотами.

По геймплею известно то, что будет большая карта, и все в системе принадлежит Императору. Но это только в начале, врагов немало: Хаос, Орки, Эльдары и сам Абаддон. Действия на глобальной карте пошаговые, но самое интересное разворачивается в бою. Перед началом вы сможете (прямо как в ) создать свой флот, и как в Starfall Tactics оборудовать каждый корабль. Собрав армию нужно воевать, в бою вы можете даже не управлять ничем, ваши корабли, а точнее их капитаны, которым свойственно прокачиваться после боёв, если выжили, оснащены неплохим интеллектом. И действуют по обстоятельствам, но вы можете им всё-таки отдавать приказы, а если не подчинятся, разрешено казнить. Вы же Император, вам можно, тем самым вы припугнёте других капитанов. Но не всех нужно убивать, мало ли кто-то не захочет отступать и во славу Императору, дабы доказать свою верность пойдёт на таран и принесёт себя в жертву. Тем просто нужно приказать ещё раз, пускай служит, хотя есть вариант разрешить ему. Но часто это делать не стоит, капитаны в скором времени поймут, что вы ослабели, потеряли хватку, потакаете всем и начнут восстание.


Так что игрокам предстоит трудный выбор - быть жестоким, но с сильной армией, которая за него в огонь и в воду, или же добряком с горсткой предателей. Ну, и напоследок обрадую любителей Warhammera и Экстерминатуса. Он в игре будет, если, к примеру, вы не удержали планету, и враг захватил её, одна кнопка и идёт отсчёт до уничтожения планеты. Отобрали назад - таймер выключается.

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

  • Официальный сайт... не нашёл и приуныл

    А на этом первый выпуск "Лучшие игры на Unreal Engine 4 " подошёл к концу, у меня в списке ещё игр так 10 есть точно, и если хотите второй части, то пишите в комментариях и предлагайте свои известия.

  • Разработка игр
  • Приветствую, Хабр! Хотел бы познакомить вас с относительно небольшим проектом, который я сделал c нуля примерно за 150 часов (50 заходов ~3 часа каждый) на Unreal Engine 4. Проект я делал в прямом эфире только на стримах раз в неделю (в общей сложности ушел год), попутно отвечая на вопросы пользователей.

    Сам проект не предназначался как коммерческий. Целью я ставил на практике показать всю сложность разработки игр, а именно такие проблемы, как:

    • Планирование и прототипирование проекта
    • Продумывание и реализация архитектуры проекта и отдельных его компонентов
    • Реализация интерфейса пользователя
    • Отладка и исправление ошибок
    • Работа с ассетами и графикой

    В конце всей серии стримов у нас получился играбельный прототип “Сурвайвл” шутера. Те, у кого стакан наполовину полон, смогут даже назвать это пре-альфой без сюжета.

    Если вам интересны подробности проекта, записи стримов, исходники и прочее, читайте далее.

    Весь проект был реализован на визуальной системе программирования, под названием “Блупринты”. И конечно многие спецы могут назвать её ребяческой, разработать на ней можно спокойно даже относительно крупный проект. Более того, это можно сделать относительно быстро, как мы уже смогли доказать.

    Сразу хочу ответить на вопрос: "Почему Блупринты, а не С++? ". Ну во первых, когда я начинал серию, плюсы я почти не знал. Хотя я и сейчас подобный сингл делал бы на БП. Во вторых, БП почти не уступают плюсам в нашем случае, но при этом дают ряд возможностей: Не позволяют наделать множество ошибок, возможных с плюсами, не приходится отвлекаться между БП и С++, понятнее новичкам. Да и они в нашем случае не намного медленнее, учитывая тот факт, что почти вся логика построена на событиях.

    Мы так же успели немного поработать над графикой. К сожалению, ассеты делать времени у нас не было, поэтому мы часть оставили пустышками, часть сделали прямо в редакторе из примитивов, а некоторый контент позаимствовали из бесплатных демок Epic Games. Тем не менее, что-то успели сделать и сами, например систему дня и ночи, постобработку для воды и некоторые материалы объектов сцены.

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

    Естественно, полноценной игрой это вряд ли можно назвать, так как нету ни сюжета, ни цели в игре - только чистая механика. Тем не менее, я считаю, что результатом можно гордится и он вполне отражает то, для чего задумывался весь проект.

    Список всего, что мы успели реализовать в нашей игре

    Персонаж

    • Управление персонажем
    • Система жизненных показателей (Жизни, броня, стамина, голод, жажда)
    • Переключение вида (от первого лица и от третьего)
    • Моделька (сделали во Fuse, анимации взяли с Mixamo)
    • Настроенные анимации передвижения и использования оружия
    • Универсальное взаимодействие с предметами

    Объектная система инвентаря

    • Компонент инвентаря (встраивай в любой объект, куда хочешь)
    • Клеточная система с поддержкой различного размера предметов
    • Размер инвентаря по клеткам на страницу и по весу.
    • Класс предметов, которые можно положить в инвентарь. Предметы хранятся в качестве объектов.
      • Вес, размер, информация, состояние предмета
      • Функционал для стака (когда в одной ячейке много одного предмета)
      • Возможность добавить логику использования предмета
      • Выбрасывание из инвентаря
    • Интерфейс для взаимодействия с инвентарем
    • Интерфейс для обмена между другим компонентом и своим.
    • Drag&Drop манипуляция объектами между инвентарями и внутри одного.
    • Контекстное менюу предметов
    • Подсказки при наведении на предметы в инвентаре и в мире.
    • Список генерируемых предметов при создании объекта с компонентом / начале игры.
    • Список начальных предметов при создании объекта с компонентом / начале игры.
    • Система торговли между другим инвентарем
      • Интерфейс торговли
      • Компонент менеджмента денег (необходим для работы торговли)

    Система экипировки

    • Экипировка нескольких типов предметов: Шляпы, Топ, Брюки, Ботинки, Оружие
    • Скелетная синхронизация у Топа, брюк и ботинок. (Шляпы и оружие по сокетам)
    • Удобное окошко для экипировки с поддержкой Drag&Drop
    • Поддержка логики-модификаторов при одевании
    Оружие
    • Дальнобойное оружие
      • Перезарядка
      • Использование предметов-патронов из инвентаря
      • Поддержка классов снарядов/пуль
      • Автоогонь/одиночный огонь
      • Отдача с разбросом (свой + от факторов, н.п. бег или приседание)
    • Холодное оружие (с несколькими видами проверок на урон на выбор)
    • Состояние оружия ухудшается при использовании
    Система крафта
    • Крафт по рецепту (выбрал рецепт, он скрафтил, аля фоллаут)
    • Крафт по предметам (закинул нужные предметы, он скрафтил, аля майнкрафт)
    • Интерфейс пользователя только для второго типа крафта.
    Агрессивные мобы
    • Мобы ближнего боя (если увидят, побегут и начнут бить)
    • Мобы смешанного типа (стреляют, но если достаточно близко, побегут что бы ударить)
    • Дальники оббегают препятствия, если не могут выстрелить.
    • Есть встроенный инвентарь для лута после убийства.
    • Зона спауна
    • Список классов
    • Шанс спауна
    NPC
    • Городские NPC, патрулирующие свою зону спауна
    • Уникальные NPC
    • Базовый контроллер расписания для уникальных НПЦ
    • Реакция на урон (убегают или используют имеющееся оружие)
    • Встроенный инвентарь для лута после убийства.
    • Объектная диалоговая система
      • Дерево диалогов
      • Каждый ответ - объект
      • Для каждого ответа можно докинуть любую логику или условие доступности.
      • Интерфейс диалога
      • Несколько готовых классов ответа (запускает торговлю, забирает ресурсы, если есть, выходит из диалога)
    Строительство
    • Класс конструкций, которые поддерживают размещение
    • Использование предметов-ресурсов из инвентаря при размещении.
    • Снаппинг на некоторых типах конструкций (н.п. Стены, фундамент, окна)
    • Менюшка с конструкциями
    • Подсвечивание конструкций, на которые хватает ресурсов
    Дополнительно
    • Небольшая карта с городом, лесом, водоемами (можно плавать).
    • Система смены дня/ночи
    • Автомобили
      • Вид от первого или третьего. Общее с персом
      • Включение/выключение фар.
      • Встроенный компонент инвентаря (нужно взаимодействовать у багажника)
    • Кое как работающие лестницы вертикального типа.
    • Главное меню
    • Меню паузы
    • Меню с настройками графики

    Впрочем, говорить о проекте можно бесконечно. И чтобы не превращать статью в книгу, предлагаю ознакомиться с игрой и возможностями по видео. А тем, кому стало действительно интересно, чуть ниже сможете найти записи всех стримов, ссылки на исходники и билд игры.

    Содержание по частям

    1. Начинаем и планируем проект. Создаем управление и поведение персонажа.
    2. Начинаем делать систему инвентаря.
    3. Продолжаем делать базу системы инвентаря.
    4. Готовим базу для экипировки и вооружения.
    5. Работа над оружием и использовании патронов.
    6. Делаем автострельбу и прицеливание.
    7. Создаем базовую систему крафта.
    8. Бег, переработка предметов и их износ.
    9. Реализовываем перезарядку для оружия.
    10. Делаем оружие ближнего боя.
    11. Доделываем ближний бой и делаем лестницу по которой можно взбираться.
    12. Делаем интерактивные предметы: Дерево, камень, кусты.
    13. Делаем HUD и начинаем делать интерфейс для инвентаря.
    14. Продолжаем работать над интерфейсом инвентаря. Делаем генерацию ячеек с предметами.
    15. Продолжаем делать генерацию ячеек и поиск места для предмета. Добавляем страницы инвентаря.
    16. Делаем небольшое взаимодействие с предметами в инвентаре и окно подробной информации.
    17. Сделали Drag&Drop перетаскивание предметов по инвентарю и в другой инвентарь.
    18. В этой части речь идет о визуализации крафта.
    19. Создаем окно с выбором количества предметов из стака для переброса в другой инвентарь.
    20. Делаем поддержку разных рецептов крафта, а так же фиксим разные баги у инвентаря.
    21. Создаем систему смены дня и ночи, а так же делаем новую сцену для нашего проекта.
    22. Начинаем создавать AI для агрессивных ботов.
    23. Делаем атаку мобов, а так же реакцию на атаку. Плюс реализуем сбор лута с мертвых мобов.
    24. Делаем зону спауна для нпц. Так же добавляем генерацию случайных предметов в инвентаре.
    25. Обновляемся до 4.13, а так же делаем дальних агрессивных нпц.
    26. Добавляем разные элементы на HUD. Добавляем ручную перезарядку оружия.
    27. Доделываем поддержку скелетной одежды и шапок. Добавляем анимацию для оружия от первого лица.
    28. Делаем интерфейс для работы с нашей системой экипировки.
    29. Начинаем делать торговую систему и компонент менеджмента денег.
    30. Продолжаем делать торговлю, создавая и настраивая компонент торговли.
    31. Делаем отмену торговли, а так же настраиваем анимацию перезарядки.
    32. Создаем транспорт со своим инвентарем, фарами и переключением вида. Создаем фонарик.
    33. Создаем строительство (а точнее систему размещения объектов перед собой).
    34. Делаем интерфейс для строительства, делаем привязку для стен.
    35. Создаем ещё несколько видов конструкций: Палатка, кровать, стул, стол, лампа, дверь. сундук, костер.
    36. Добавляем крышу, окна. Доделываем выравнивание относительно других конструкций.
    37. Делаем небольшое поселение, а так же населяем его NPC, которые так же создаем в этом уроке.
    38. Начинаем делать систему диалогов для наших жителей.
    39. Настраиваем туман и постобработку. Импортируем модель зомби и настраиваем ему анимации.
    40. Доделываем систему диалогов.
    41. Делаем взаимодействие с предметами от третьего лица, а так же модификаторы для брони.
    42. Создаем главное меню, меню паузы и настройки графики. А так же собираем первую сборку игры.
    43. Реализуем расписание для уникальных жителей.А так же что бы городские NPC убегали от атаки.
    44. Добавляем контекстное меню в инвентарь, а так же фиксим некоторые баги нашего инвентаря.
    45. Добавляем отдачу, разброс, анимацию выстрела и возможность ударить для огнестрельного оружия.
    46. Доделаем агрессивных и городских NPC, фиксим разные баги, связанные с ними.
    47. Настраиваем анимации для главного персонажа. Добавляем различную одежду.
    48. Исправляем различные ошибки в нашей игре.
    49. Исправляем различные ошибки крафта, NPC и экипировки в нашей игре.
    50. Немного дорабатываем карту и собираем последний билд.

    «Лучшими играми на Unreal Engine» мы начнем серию небольших мини-топов, в которых вы сможете узнать о самых достойных играх того или иного движка. Честь стать первой в топах выпала именно Unreal Engine потому, что на этом движке сделано наибольшее количество игр за все время.

    10 место - Unreal

    Собственно, рассказывая об Unreal Engine, нельзя не упомянуть игру, для которой этот движок изначально и создавался. Unreal - это трехмерный шутер от студии Epic Games, которая и создала описываемый нами движок.

    Три года разработчики трудились над Unreal Engine, чтобы затем выпустить игру на его основе и с точно таким же именем. Впоследствии Unreal стала серией и развивалась вплоть до 2007 года.

    Благодаря Unreal Engine разработчикам удалось сделать их проект одним из самых инновационных для своего времени. Среди игр 1990-х у Unreal не было конкурентов на поприще количества всевозможных видов противников, которые противопоставлялись игроку.

    Множество флоры и фауны, десятки диких существ от птиц и рыб, до насекомых и кроликообразных двуногих. Хищные рыбы, пещерные мыши, чудовищные титаны - список можно продолжать бесконечно.

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

    3D-графика вместе с Unreal (игрой и движком) вышла на новый уровень. Конкурируя с одним из своих главных противников, Unreal представила высокодетализированные интерьеры и огромные локации с великолепными видами - такого не было даже в Quake II. Unreal стала первой игрой, в которой появились детализированные текстуры.

    Помимо этого, в Unreal игроки могли самостоятельно создавать и редактировать уровни (UnrealEd). Эта функция поддерживалась самим Unreal Engine, который использовался для рендеринга сцен.

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

    Ещё одной особенностью, присутствовавшей в игре, являлись так называемые зоны, представленные в виде воды, кислоты и лавы. В них можно было править характеристики, влияющие на движение и положение игрока (речь идет о гравитации, инерции, силы трения и так далее).

    Видео: геймплей Unreal (1998)

    9 место - Deus Ex

    Известнейший стелс-экшен в стиле киберпанк, если вы не знали, был выпущен на первой версии Unreal Engine в 2000 году. С этой игрой, вероятно, удалось познакомиться далеко не каждому из современных пользователей, учитывая её года, однако же о самой серии Deus Ex, которая развивается и сейчас благодаря усилиям Square Enix, геймеры уж точно слышали.

    В то время Unreal Engine являлся одним из самых высокотехнологичных движков, так что многие студи выбирали именно его для своих проектов. Не исключением стала и Ion Storm, создавшая Deus Ex. Тогда графика игры оказалась невероятно высокого уровня: существовала поддержка разрешения экрана до 1600*1200 пикселей, текстуры 24-бит, Direct3D, объемное освещение и многое другое.

    Некоторые игроки, к слову, жаловались на производительность игры, однако то лишь частные случаи.

    Наличие Unreal Engine позволило разработчикам отлично прорисовать модели героев, которые состояли примерно из 700 полигонов.

    Наконец, в жанровом плане игра получилась довольно разнообразной - Deus Ex нашли себе место и , и полноценный стелс/экшен, и шутер от 1-го лица. Без Unreal Engine у девелоперов вряд ли получилось бы реализовать такое многообразие.

    Видео: геймплей Deus Ex (2000)

    8 место - Mirror’s Edge

    Как видите, в список игр, разработанных на Unreal Engine, входят проекты самых разных жанров и стилистики. Mirror’s Edge - это игра про девушку Фэйт, которая с помощью невероятной ловкости и акробатических трюков красочно уходит от преследований и перемещается по высоткам огромного мегаполиса.

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

    Компания DICE, разработавшая игру, использовала движок Unreal Engine 3, а не свой собственный - Frostbite. Тогда их детище ещё не было закончено, так что из-за горящих сроков пришлось обратиться к помощи Epic Games.

    Используя максимальные возможности движка, DICE в кооперации с Illuminate Labs создала уникальную систему освещения Beast, с которой вы тесно взаимодействовали в течение всего прохождения (цветные элементы уровней). Разработчики потратили на создание игры более семи лет и миллиарды долларов, что, как мы уже знаем, дало свои результаты.

    Видео: трейлер Mirror"s Edge

    7 место -

    Не менее достойным претендентом является шутер Bulletstorm, которую разработали сама Epic Games и польская студия People Can Fly. Epic ещё на первых порах своей работы доказала, что умеет делать экшен-игры, поэтому насчет успеха Bulletstorm никто не сомневался.

    И действительно, на выходе игроки получили передовой шутер на движке Unreal Engine 3, который вобрал в себе и отличную графику, и невероятной динамики геймплей.

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

    С их помощью игрок мог превратить сражение в нескончаемую серию, в течение которой он совершал жестокие, но красочные и кинематографические «фаталити».

    История Bulletstorm кончалась так же быстро, как и начиналась, из-за чего от геймплея игрок попросту не успевал уставать. Девелоперам удалось соблюсти баланс во всем и вся, так что устать или заскучать в этом шутере было невозможно.

    Видео: трейлер Bulletstorm

    6 место - XCOM: Enemy Unknown

    На Unreal Engine 3 нашлось место не только шутерам и RPG, но и тактикам, какой и является XCOM: Enemy Unknown. Этот проект был разработан Firaxis Games - студией, которая также известна по серии Civilization. XCOM 2012 года стала ремейком оригинальной игры, вышедшей в далеком 1993.

    В XCOM: Enemy Unknown игроку предстояло возглавить последний оплот человеческого сопротивления - организацию XCOM - и отбиться от наступления пришельцев.

    Из игрового процесса выделяются две составляющие - глобальная стратегия и тактика. В первом случае нужно действовать на мировой карте, отдавая различные приказания отрядам, а также управлять самой базой, выполняя экономические и технические задачи. Во втором же идет непосредственно геймплей, разворачивающийся в городах, на кораблях пришельцев и везде, где может развернуться сражение.

    Помимо всего прочего, XCOM: Enemy Unknown выделялась и отличной графикой, что тоже стало возможным с помощью Unreal Engine 3. Безусловно, игра является одной из самых лучших стратегий на этом движке.

    Видео: трейлер XCOM: Enemy Unknown

    5 место - Borderlands 2

    Шутер от 1-го лица компании Gearbox таким же образом был выпущен на Unreal Engine 3. В наш список мы решили включить именно вторую часть, так как в ней были исправлены ошибки первой, да и в целом общее качество игры значительно выросло.

    Вы многое упустили, если не слышали о Borderlands 2. Сегодня эта игра стала очень популярной и собрала огромную базу фанатов, которые активно играют как в первую и вторую части, так и другие адаптации по вселенной вроде Tales from the Borderlands.

    В первую очередь, проект берет количеством оружия, количество которого по сути невозможно посчитать - пушки имеют свойство генерироваться по ходу прохождения. Игра Unreal из начала статьи имела 17 видов пушек (достаточно серьезное число для своего времени), но минуло десятилетие, Unreal Engine 1 сменился третьей версией, как число 17 превратилось в бесконечность.

    Вторая особенность Borderlands 2 - графика, которая в противовес обычным достижениям UE3 попыталась взять не качеством детализации, а уникальностью - полностью рисованным графическим стилем, точно на страницах комиксов.

    Если вы хотите испытать все достоинства Unreal Engine, то вам, безусловно, стоит опробовать шутеры, для которых он изначально и создавался. Быть может, Unreal Tournament для вас слишком стара? В таком случае на первый план выходит именно Borderlands 2, где в компании друзей вас ожидают десятки невероятно увлекательных часов.

    Видео: релизный трейлер Borderlands 2

    4 место - BioShock 2

    Шутер от 1-го лица с фантастической тематикой, вобравший в себя элементы ролевой игры, был тоже выпущен на Unreal Engine. И хотя на официальном сайте игры висит информация о движке Vengeance Engine, последний является лишь улучшенной версией UE.

    В создании BioShock 2 Irrational Games использовала VE на базе Unreal Engine 2.5 версии. Но вскоре появилась третья, которая оказалась на порядок лучше предыдущей, из-за чего девелоперам пришлось в темпе переносить игру на новый движок. Тогда появился Vengeance Engine 2, основу которого составил UE3.

    Очевидно, что разработчики не ради славы или подтверждения своей самостоятельности и независимости переименовали приобретенный движок. Их VE2 действительно получил множество улучшений вроде интегрированной физики Havok 3, модифицированных эффектов HDR, новую версию UnrealEd (редактор сцен), новые тени и эффекты водной поверхности, и прочее, и прочее.

    Результат, который получился у Irrational, нам известен - BioShock 2 стала одной из лучших игр 2010 года.

    Видео: официальный трейлер BioShock 2

    3 место - Batman: Arkham Asylum

    В 2009 году буквально реанимировала вселенную «Бэтмана» в индустрии видеоигр. Их игра Batman: Arkham Asylum перевернула концепцию и репутацию игр по комиксам, прямо как трилогия К. Нолана «Темный Рыцарь», сделав упор на серьезность, мрачность и эпичность происходящего.

    Batman: Arkham Asylum была создана на Unreal Engine 3, графические возможности которого актуальны и до сих пор. Интегрировав систему PhysX, Rocksteady добились невероятного качества графики, включая наличие динамичных объектов, постепенно рвущейся одежды и прочего. UE3 в очередной раз доказал, насколько красивыми могут быть созданные на нем игры.

    Помимо внешней оболочки, Batman: Arkham Asylum брала и боевой системой, завязанной на комбо-сериях. С их помощью игрок мог проводить десятки различных комбо, в течение которых главный герой выписывал кинематографичные пируэты и ни на секунду не останавливался, пока игрок не ошибался.

    Вкупе с этим Batman: Arkham Asylum брала отличным сюжетом и великолепно проработанными персонажами, что делает её одной из самых лучших игр на движке Unreal Engine.

    Видео: трейлер Batman: Arkham Asylum

    2 место - Mass Effect 2

    О космической эпопее от компании BioWare можно говорить либо хорошо, либо никак, так как всевозможные придирки и оскорбления будут попросту неуместны. Mass Effect гордо идет в строю лучших представительниц жанра экшен/RPG, так что, если вы ещё не поиграли в неё, то бегом исправлять допущенную ошибку!

    Несмотря на то, что у компании с такой гигантской репутацией, как , есть собственный движок, в последнее время она все чаще избегает работы с ним. Mass Effect 2 же оказалась в этом списке неспроста - она была разработана на Unreal Engine 3.

    Как и предшественники, Unreal Engine третьей версии являлся великолепным движком для своего времени, настоящим образом для подражания.

    Именно с его помощью девелоперы сумели придать Mass Effect 2 невероятно детализированную графику, а также хорошую анимацию лиц.

    Однако же боевая система и AI оставили желать лучшего. Другие части - ME 1 и ME 3 - вышли на Unreal Engine 3 и 3.5 соответственно.

    Видео: кинематографичный трейлер Mass Effect 2

    1 место - Dishonored

    Примерный стелс-экшен с элементами RPG от компании не попрал возможности Unreal Engine 3. История о телохранителе Корво завоевала множество поклонников, которым полюбились фэнтези-город Дануолл и охватившая его чума, сам сюжет, а также, что самое главное, разнообразнейшая боевая система, которой в игровой индустрии нет равных.

    В создании игры принимали участие дизайнеры, работавшие прежде с Deus Ex и Thief: Deadly Shadows, которые тоже были основаны на Unreal Engine. Сам по себе геймплей походил на обе игры, что уместно, так как все три проекта (включая Dishonored) разрабатывались в одном жанре.

    Dishonored же отличалась нелинейностью прохождения, позволяющему проходить уровни несколькими возможными способами.

    Благодаря новой версии UE, разработчикам удалось улучшить стелс-механику в сравнении с Thief, создав детально проработанное поле зрение для NPC. В конечном итоге игра стала обладательницей множества наград, где отмечались дизайн, геймплей, сюжет и прочие сильные стороны Dishonored.

    Видео: дебютный трейлер Dishonored


    Лайк, если понравилось