Какой игровой движок выбрать для мобильной игры

CryENGINE 3 Free SDK

CryENGINE 3 — бесплатный игровой движок созданный компанией Crytek, которая выпустила первую версию движка в 2002 году. Третья же версия появилась на свет в 2009 году. Мировая известность этого движка оправдана потрясающими графическими показателями выпускаемых продуктов, некоторые из которых выглядят невероятно фотореалистично.

Возможности:

  • Лучшей демонстрацией возможностей я считаю уже готовые игры и тут у CryENGINE 3 есть чем похвастаться. За все время этот движок использовался разработчиками таких игр как Far Cry, Crysis и AION. Конечно же, список созданных игр гораздо больше, но я привел наиболее известные игры.
  • CryEngine 3 является кроссплатформенным движком и поддерживает PC, PlayStation 3 и Xbox 360 .
  • Импортировать текстуры можно из 3ds max, maya а также из предыдущих версий движка.
  • Процитирую слова основателя компании Цеват Ерли: «Движок был готов к следующему поколению еще 3 года назад. У нас давно есть продвинутая система частиц, GPU-рендеринг, Deferred shading, тесселяция, поддержка DX11 и так далее» — Действительно, реальные примеры созданных игр, говорят о многом.

С чего начать?

SDK скачивается в виде архива, без инсталлятора. В архиве содержится несколько папок, каждая из которых имеет свое назначение. Например, для запуска редактора используйте папки bin32 или bin64 (в зависимости от разрядности вашей системы). Файл редактора editor.exe, ну а для просмотра результата — launcher.exe.

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

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

Язык интерфейса: Английский

Видеоуроки по CryENGINE 3 Free SDK

id Tech

Инструмент для создания Wolfenstein, Quake, Rage, Doom.

При выходе очередной версии (ныне разрабатывается 7-я) устаревающая выкладывается для общего доступа по свободной лицензии.

Вместо Direct3D в качестве API используется открытый OpenGL, что унифицирует движок для различных платформ.

Рис. 11 – Многофункциональный id Tech подходит для множества игровых жанров

Технологическая составляющая:

Positives

  • поддержка очень высокого разрешения;
  • в последней версии больше внимания уделено оптимизации существующих технологий;
  • очень много визуальных эффектов;
  • отложенный и прямой рендеринг;
  • добавлена поддержка Vulkan.

Negatives

  • реализация идеи, вместо полигональной геометрии использовать воксельную, провалилась;
  • седьмое поколение технологии не работает на консолях.

На 5-й версии разработчики выпустили только Rage, тогда как другие игростроительные компании создали на нём Wolfenstein и 2-ю часть Dishonored.

Unity3D

Движок, стремительно набирающий популярность среди новичков. Причина тому вполне естественна – легкость и интуитивность, как интерфейса, так и в целом системы конструирования игры. Масса видеоуроков и качественная документация  дают дополнительное преимущество этому движку. В работе Unity3D довольно производителен и стабилен.

Возможности:

  • Мультиплатформенность игр и самого движка. Поддерживаются Android, iOS, Blackberry, Windows XP/Vista/7, OSX, Wii, Playstation 3, Xbox, Flash, Web Player. Особо хочется подчеркнуть веб-плагин, ведь теперь можно играть в созданные 3D игры прямо в браузере, ниже c примерами игр я привел ссылку.
  • Охвачены практически всевозможные жанры современных игр, это действительно впечатляет (http://unity3d.com/gallery/made-with-unity/profiles/)!
  • Упрощенный импорт текстур, звуков, шрифтов. Для импорта достаточно перетащить элементы в папку с текстурами на панели движка. Поддерживаемые форматы: JPEG, PNG, GIF, BMP, TGA, IFF, PICT, PSD, TIFF (изображения); FBX, COLLADA, 3DS, DXF (3D модели); MP3, OGG, AIFF, WAV, MOD, IT, S3M, XM (аудио).
  • Скриптинг. Скрипты можно писать на JavaScript, C# и диалект Python’а под названием Boo. Чаще всего код пишут на JavaScript, к тому же, практически вся справка к Unity содержит примеры именно на JavaScript. Проверить работу скрипта можно сразу в игре, не покидая окна Unity.
  • Графическая система хорошо оптимизирована и работает на DirectX(включает поддержку DirectX 11)  и OpenGL. Есть поддержка отложенного освещения(Deferred Shading) и теней в реальном времени. Так же присутствуют встроенный генератор ландшафтов и встроенный редактор шейдеров.
  • Если хотите разрабатывать игру в команде, для Вас в движке предусмотрена система совместной разработки — Asset Server.

Примеры игр: Bad Piggies, Wasteland 2. В некоторые игры можно поиграть прямо на   (требуется установка специального плагина UnityWebPlayer)

Язык интерфейса: Английский

С чего начать?

На нашем форуме есть тема посвященная этому движку (ссылка ниже). Тут Вы найдете видеоуроки и прочий материал по изучению Unity3D.

Скачать Unity3D с официального сайтаВидеоуроки по Unity3D

Программы для создания спрайтов и анимаций

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

Adobe Animate

Позволяет установить утилиту на стационарные операционные системы. Применяется для создания анимации и векторной графики. Приложение позволяет накладывать музыкальное сопровождение, разрабатывать скрипты, дополнять иные продукты от Adobe.

Moho

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

Cinema 4D

Профессиональное программное обеспечение, позволяющее реализовать инновационную анимированную графику. Утилита отличается упрощенными элементами управления, а также прогрессивными материалами под обучение.

Pencil2D

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

Дополняется множеством подсказок, фильтров и эффектов.

Игры, в которых можно создавать игры

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

Adventure Game Studio

Преимущества:

  • наличие демо-версии и демо-игры,
  • возможность импортировать видео- и аудиоматериалы.

Недостатки:

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

Применяется для создания игровых проектов в жанре «Квест». В программе реализовано множество инструментов, позволяющих: создавать уровни, загружать объекты, активировать скроллинг уровней. Присутствует множество справочных материалов, впрочем, недостатком станет реализация контента исключительно на английском языке.

Stencyl

Достоинства:

  • обилие инструментов для персонализации,
  • практичные опции по управлению сценариями.

Недостатки:

  • интегрирован средний по релевантности язык программирования,
  • стоимость покупки полной версии.

Game Editor

Достоинства:

  • оптимизированный сценарий для создания приложений,
  • обилие шаблонов.

Недостатки:

необходимо обладать начинающими навыками программирования.

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

GameSalad

Достоинства:

  • удобство использования,
  • поддерживаются мобильные операционные системы.

Недостатки:

некоторая нестабильность работы приложения.

Поставляется на рынок с пробным периодом в 15 дней, а стоимость платной подписки сильно снижена. Недостатком станет невозможность работы с 3D графикой. Снабжается внедренным помощником, который реализован на английском языке.

Unity

Unity – это кроссплатформенный SDK для разработки игр с двухмерной и трехмерной графикой, распространяемый по условно бесплатной модели. Использовать его можно безвозмездно, но на разработчика накладываются ограничения (доход не более $100 тыс. в год). Движок умеет работать с API DirectX, OpenGL, для работы с физикой задействован PhysX. Скрипты пишутся на C#.

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

Преимущества Unity

К достоинствам движка относятся:

  • кроссплатформенность (Windows, Linux, Mac OSX, Android, iOS, веб-приложения);
  • простое освоение;
  • упрощенный импорт графических, звуковых компонентов в различных форматах;
  • выбор графических API;
  • сообщество разработчиков;
  • поддержка.

Недостатки Unity

В число минусов фреймворка входят:

  • сложность интеграции внешних библиотек;
  • оптимизация использования аппаратных ресурсов в 2D-проектах и разработках на WebGL;
  • ограничение коммерческой эксплуатации (бесплатная лицензия – только при доходе менее $100 тыс. в год).

7 Cocos Creator (Clash of Lords 2, Diamond Dash, Hill Climb Racing)

Упрощенная копия Unity, ориентированная на разработку 2D приложений для мобильных устройств. В качестве основных элементов используются узлы и спрайты, задействующиеся без ограничений. Если разработчик уже имел опыт использования Unity, здесь не окажется ни малейших сложностей, потому что интерфейс практически скопирован. Также среди достоинств выделяются:

  • Удобство работы с iOS;
  • Открытый исходный код;
  • Полностью бесплатный;
  • Большое и общительное, но временами токсичное комьюнити.

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

2 Место

Unreal Engine – является довольно мощным движком для создания игр. Эта платформа даёт возможность создания 2D и 3D игр. Неотъемлемой частью таких современных и мощных движков является кроссплатформенность, и в Unreal Engine она довольно хорошо реализована. Можно создавать игр для всех популярных платформ как для смартфонов (Android, IOS), так и для компьютеров под управлением (Windows, MacOS).

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

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

Очень важно, если вы профессиональный разработчик и планируете создать довольно сложный и большой проект, тогда вам стоит обратить внимание на эту платформу, так как она имеет полностью открытый код и очень хорошо оптимизированную, современную графику. Что касается написания скриптов, то в движке используется язык программирования C++. Открытый код позволит вам добавить с движок свои библиотеки и фреймворки, что дает почти не ограниченные возможности в создании игр

Открытый код позволит вам добавить с движок свои библиотеки и фреймворки, что дает почти не ограниченные возможности в создании игр.

Хочу заметить, что, будучи не опытным в сфере создания игр, а также если вы не знаете основ программирования на С++, тогда не стоит начинать знакомство с разработкой игр с этого движка.  Так как Unreal Engine является профессиональным инструментом для создания игр.

Что бы понять всю силу и возможности движка, можете просмотреть уже созданные на нем популярные проекты, такие как Gears of War 4, We Happy Few, Final Fantasy VII, Dead Island 2, Taken 7 и еще длинный список примеров возможностей.

Плюсы:

·         Огромное количество инструментов.

·         Создание абсолютно любого жанра игр.

·         Кроссплатформенность.

·         Оптимизация.

·         Большое количество видео уроков и инструкций.

·         Собственные форумы, обсуждения в разработке игр.

·         Движок является полностью бесплатный.

·         Встроенный магазин дополнений.

·         Возможность создания мульти плеера в играх.

·         Высокий уровень графики.

·         Почти не ограниченные возможности в создании игр.

·         Открытый код

Минусы:

·         Не подходит для начинающих.

·         Довольно требователен к компьютеру.

·         Сложный интерфейс.

Frostbite

Как и большинство движков, создан для только нужд Electronic Arts и дочерних компаний. Это связка физического, звукового и визуального компонентов.

Прославился благодаря последним частям Battlefield.

В Windows технология поддерживает DirectX 11 и хорошо оптимизирована под многоядерные процессоры.

Не является узкоспециализированным и предназначен для создания игр различных жанров (гонки – Payback, ряд шутеров, симулятор футбола – FIFA, платформеры – PlantsVSZombies, RPG – DragonAge).

Рис. 12 – Эффекты – главное, что привлекает во всех играх от EA

Возможности:

Плюсы:

  • дальность прорисовки на мощных системах – горизонт;
  • поддержка стереоскопического режима вывода картинки;
  • можно выводить изображение на пару мониторов в панорамном режиме;
  • есть мобильная версия;
  • почти полная разрушаемость объектов;
  • огромная территория с возможностью увидеть любой её уголок;
  • отличная сетевая составляющая.

Negatives

Значимых минусов не обнаружено

Универсальный движок с массой возможностей, который можно опробовать в деле в качестве разработчика, только примкнув в команде EA.

Anvil

Создан дочерней компанией Ubisoft, используется для выпуска Assassins Creed и только внутри компании.

Первой игрой была первая часть Креда Убийцы, затем появился симулятор сноуборда и Prince of Persia.

Любая из них вызвала массу удивления и привнесла в мир виртуальных развлечений немало нового.

Поддерживается на PC, PS всех версий, Nintendo, Wii и Xbox.

Рис 7 – Управление большим количеством персонажей

Код написан на C++, модели нарисованы в ZBrush, а окружающий мир – в 3ds Max. Для правильной скелетной анимации задействовано программное обеспечение от Autodesk. Физику виртуального мира моделирует легендарный Havok. В последних релизах было уделено немало внимания смене времени суток, динамическому освещению и дистанционной прорисовке. Также в него была интегрирована прогрессивная схема растительности (как в Far Cry 2) с новым ИИ, важным отличием коего является усовершенствованная система навигации NPC. Реализация и отладка Direct3D 10/11 хоть и весьма затратные, работа все же была проделана.

Среди неназванных особенностей движка выделим следующие:

  • оптимизация работы на многоядерных системах, вплоть до 32 потоков;
  • запуск игр на нескольких экранах в панорамном режиме;
  • сложный шумовой туман, способный симулировать песчаную бурю без падения fps;
  • эффекты преломления, отражения и рассеивания света в воде;
  • до шести отличающихся персонажей в одной кат-сцене;
  • большинство анимаций снято с реальных актеров;
  • в одной сцене может находиться до 3 тысяч участников, что позволяет устраивать массовые баталии, лишь бы ПК справился с нагрузкой;
  • NPC активно реагируют на героя, могут нападать одновременно, а не поочерёдно;
  • технология отсечения моделей и сортировка объектов по глубине прорисовки.

Плюсы:

  • требователен к ресурсам;
  • не лицензируется;
  • долго не поддерживал DirectX 10 и 11.

Минусы:

  • хорошая реализация многопоточности;
  • работает на PC и множестве консолей;
  • возможность реализации массовок при участии сотен игровых персонажей.

С Ubisoft, в плане устроить массовую заваруху и нагнать побольше людей в одно место, не сравнится никто.

Unreal Engine 4

Рис. 16 – Редактор Unreal 4

Словосочетание известно всем любителям пострелять.

Он поддерживает множество платформ, в том числе мобильных.

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

Элементы движка представляются как объекты с индивидуальными характеристиками, принадлежащими к определённому классу, который эти параметры и определяет.

Существует несколько версий движка, рассмотрим особенности последней из них:

Плюсы:

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

Минусы:

  • движок профессиональный, отчего его освоение требует определённых знаний, навыков и времени;
  • нет редакторов для Linux;
  • на слабых ПК комфортная работа не гарантируется.

И это лишь самые популярные движки для создания трехмерных игр.

Нельзя обойти стороной использующийся для разработки мобильных развлечений Unity и REDengine 3, продемонстрировавший свои прелести в Witcher 3.

В этом году предстоит увидеть его четвёртую версию в Cyberpunk 2077.

Defold

Defold — кроссплатформенный движок от компании King. Поддерживает Html5(WebGl), Android 2.3 (API level 9)+, iOS 5.1+, Windows Vista+, OSX 10.7+
Linux и является полностью бесплатным без каких-либо ограничений с момента, как был заявлен в марте этого года на GDC 2016.

Движок предназначен по большей части для работы с 2D проектами, но также поддерживает импорт 3D-мешей. Скриптинг осуществляется посредством Lua. Defold является полностью бесплатным и не имеет каких-либо ограничений по планке достижения дохода проекта. 

Есть хороший
от инди-разработчика Алексея Гулева.

Помимо вышеупомянутых движков, их существует еще превеликое множество: CryEngine 3, App Game Kit, AndEngine, Buildbox, Cocos2D, Game Maker Studio, MOMINIS, Rage Engine, IRM, Linderdaum Engine SDK, DX Studio, Project Anarchy, gameQuery, GameSalad, Godot Game Engine, Crystal Space 3D, Monkey и многие другие.
Отличия могут быть как незначительными, так и достаточно радикальными — порог вхождения, язык программирования, саппорт, тип лицензии, 2D/3D, возможности работы с графикой и другие особенности могут склонить сделать выбор в сторону нужного решения. Если уже сложилась четкая картинка и понимание того, что ожидать от разработки проекта и какой результат должен получиться на выходе — подогнать свои запросы под нужный движок не составит труда. Достаточно ознакомиться с возможностями уже зарекомендовавших себя на рынке, посмотреть шоукейс проектов и задать интересующие вопросы в сообществе или на форуме. В этом случае, решение вряд ли заставит себя долго ждать.

В рамках программы “Менеджмент игровых проектов” мы регулярно проводим различные мероприятия по игровой индустрии, и в частности по игровым движкам. Недавно проводили встречу Unity разработчиков. Записаться на наши мероприятия можно на странице анонсов.

Как написать собственный игровой движок на C++

В последнее время я занят тем, что пишу игровой движок на C++. Я пользуюсь им для создания небольшой мобильной игры Hop Out. Вот ролик, записанный с моего iPhone 6. (Можете включить звук!)

Your browser does not support HTML5 video.

Hop Out — та игра, в которую мне хочется играть самому: ретро-аркада с мультяшной 3D-графикой. Цель игры — перекрасить каждую из платформ, как в Q*Bert.

Hop Out всё ещё в разработке, но движок, который приводит её в действие, начинает принимать зрелые очертания, так что я решил поделиться здесь несколькими советами о разработке движка.

С чего бы кому-то хотеть написать игровой движок? Возможных причин много:

  • Вы — ремесленник. Вам нравится строить системы с нуля и видеть, как они оживают.
  • Вы хотите узнать больше о разработке игр. Я в игровой индустрии 14 лет и всё ещё пытаюсь в ней разобраться. Я даже не был уверен, что смогу написать движок с чистого листа, ведь это так сильно отличается от повседневных рабочих обязанностей программиста в большой студии. Я хотел проверить.
  • Вам нравится ощущение контроля. Организовать код именно так, как вам хочется, и всегда знать, где что находится — это приносит удовольствие.
  • Вас вдохновляют классические игровые движки, такие как AGI (1984), id Tech 1 (1993), Build (1995), и гиганты индустрии вроде Unity и Unreal.
  • Вы верите, что мы, индустрия игр, должны сбросить покров таинственности с процесса разработки движков. Мы пока не очень-то освоили искусство разработки игр — куда там! Чем тщательнее мы рассмотрим этот процесс, тем выше наши шансы усовершенствовать его.

Игровые платформы в 2017-ом — мобильные, консоли и ПК — очень мощные и во многом похожи друг на друга. Разработка игрового движка перестала быть борьбой со слабым и редким железом, как это было в прошлом. По-моему, теперь это скорее борьба со сложностью вашего собственного произведения. Запросто можно сотворить монстра! Вот почему все советы в этой статье вращаются вокруг того, как сохранить код управляемым. Я объединил их в три группы:

  1. Используйте итеративный подход
  2. Дважды подумайте, прежде чем слишком обобщать
  3. Осознайте, что сериализация — обширная тема.

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

Альтернативные движки

Я понимаю, что в настоящее время существуют инди-игры всех жанров на любой вкус (и это на самом деле хорошо), но мы под инди-играми в данном контексте подразумеваем маленькие, двумерные, ориентированные на мобильные устройства, созданные соло-разработчиком творения (которых преобладающее большинство), поэтому использовать Unity, UE4 для создания прототипов будет неоправданно сложно. Существует широкий выбор альтернативных движков, они проще в использовании и позволяют достигать впечатляющих результатов за меньший срок, минус спецэффекты, которые инди бы все равно не стал помещать в свою игру. Порой для создания полноценной игры под все платформы эти движки не требуют написания кода. Особенно меня продвинуло на тему альтернативных движков после участия в московской конференции разработчиков видеоигр White Nights 2017, прошедшей в октябре. Я подходил к инди-разработчикам, демонстрирующим свои проекты, и расспрашивал об используемом инструментарии. Во многих случаях они называли вовсе не Unity, а Construct 2 или GameMaker Studio.

Оба продукта представляют собой конструкторы двумерных игр, не требующие умения программировать (!). В Construct 2 игру создаешь, определяя игровые события и реакцию на них. Итоговые игры портируются под все распространенные платформы. Прога идет с подробной документацией, большим количеством примеров и теймплейтов, так что освоить ее несложно. Покупать советую в Steam, там ее стоимость за персональную версию составляет 6399 рублей.

Как самому создать игру. Construct 2 с открытым проектом

GameMaker Studio представляет собой популярный конструктор игр с двумя возможностями построения игры (подобно UE4): первая — методом drag and drop, вторая — писать код на собственном языке системы. В зависимости от целевой платформы игры, созданные с помощью GameMaker Studio, визуализируются с помощью OpenGL или DirectX с использованием соответствующих шейдерных технологий. Для обработки физики есть поддержка движка Box2D. Поддерживается широкий ряд устройств ввода. Десктопная версия в Steam стоит 1599 рублей, экспортеры для других платформ надо докупать: так, экспортер для web стоит 2579 рублей, для UWP — 6396 и столько же для мобильных систем.

Как создать игру самому. GameMaker Studio

Третий заслуживающий внимания альтернативный движок — AppGameKit. В отличие от двух предыдущих, разрабатывая с его помощью игры, надо писать код на скриптовом языке. Во многом благодаря этому он меня заинтересовал больше остальных. Стоимость этого движка в Steam составляет 2059 рублей, включая экспортеры под все поддерживаемые платформы. Хорошее вложение. За более подробным описанием архитектурной составляющей движка отсылаю тебя к упомянутой статье.

Раньше я надменно смотрел на эти тулзы, но теперь вижу в них силу, которая может сравниться с топовыми движками

Настало время обратить на них внимание и взять в комплект игродела

Где взять арт и прочий стафф?

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector