1-freelance.ru

Журнал "Фрилансер"
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Советуем поиграть: лучшие игры на движке Unity

Советуем поиграть: лучшие игры на движке Unity

На прошлой неделе мы рассказывали о мобильных играх, созданных на основе легендарного Unreal Engine. Который, несмотря на свою функциональность и мощь, всё же обладает определёнными минусами — он дорогой и ориентирован, в первую очередь, на PC и консоли. Неудивительно, что у него быстро появилась альтернатива — технология, чьё название на слуху у многих любителей игр. Unity или Unity3D — любимый инструмент независимых разработчиков и уверенный обладатель 45 % (по собственной статистике) рынка игровых движков современности. Проекты на его базе мы и рассмотрим сегодня.

Но сначала — немного истории и фактов. С середины 2000-х в нашей индустрии появляется и стремительно набирает популярность такое явление как инди-разработка — создание ярких и неординарных проектов на чистом энтузиазме без значительных финансовых вливаний. Спрос рождает предложение, и вот в 2005 году свет увидела стартовая версия движка Unity.

С первых дней своего существования Unity создавался как профессиональный инструментарий для разработчиков среднего уровня, которым не по карману покупка дорогих технологий. Вначале «мотор» поддерживал только Mac OS X, последняя ревизия 4.6 совместима уже с дюжиной всевозможных платформ, включая мобильные. Главные особенности Unity — простота, наличие полнофункциональной бесплатной версии и относительная дешевизна лицензии. Всё это в совокупности привлекло к Unity уже 3,3 миллиона разработчиков. Несложно представить, какое количество игр создано на нём за все годы существования. Мы попытались выбрать из них самые значимые.

The Room Two

Считанные единицы могут похвастать такими достижениями, как оригинальная The Room. И дело даже не в продажах, превысивших планку в 4 млн копий, и не в многочисленных титулах «Лучшая игра для iOS». А, например, в том, что The Room, в числе прочего, была признана лучшей британской игрой 2013 года по версии престижнейшей премии BAFTA, оставив не у дел, например, «LEGO Властелин колец» и Need for Speed: Most Wanted.

Советуем поиграть: лучшие игры на движке Unity

Всё то, что обеспечило пространственной головоломке от независимых разработчиков такой сокрушительный успех, в полной мере перешло в сиквел. Хотя статистика The Room Two пока скромнее, чем у первоисточника (продано «всего-то» 1,5 миллиона копий), это ни в коем случае не умаляет её качества.

Вкратце суть The Room сводится к тому, что пользователь попадает в замкнутое пространство — комнату, — откуда он должен выбраться. Для этого предлагается обнаружить и решить многочисленные загадки, используя все доступные объекты, законы физики и магическую линзу. Сами комнаты относительно небольшие и объектов там не очень много, так что все возможности Unity разработчики направили на детализацию окружения: The Room выглядит привлекательно и атмосферно. А самое главное — по максимуму использует возможности не только движка, но и своей платформы, что превращает прохождение в незабываемый и увлекательный опыт. Кстати, в 2015 году состоится премьера третьей части, а пока есть возможность насладиться первыми двумя.

Игры на Unity3D

В этом разделе мы собираем игры на Unity3D. Этот движок известен тем, что спокойно работает даже на слабых компьютерах, прекрасно себя чувствует в рамках браузеров и при этом выдает неплохую графику. Нет ни одного жанра, где бы он не отметился: шутеры, стратегии, гонки, mmorpg, MOBA, survival… длинные уши Unity3D торчат отовсюду. И хорошо, что торчат – без них бы не родилось на свет пару десятков отличных проектов.

Вы, наверное, удивитесь, но самым массовым игровым движком является вовсе не Unreal Engine 3. Куда более распространенными на наших компьютерах являются игры на движке Unity3D. Особенности этого движка таковы, что он с легкостью идет на любых операционных системах, а также неплохо себя чувствует в обществе всех более-менее достойных консолей: Xbox 360, PS3 и Wii. Более того, этот движок уже давно наладил приятельские отношения с большинством браузеров, так что добрая половина игр на базе Unity3D – браузерные. Все это, вместе с непритязательностью к «железу», делает этот инструмент по-настоящему народным и массовым.

Читайте так же:
Игры этого месяца на пк

Первые игры на Unity3D появились в 2005 году – именно тогда вышла в свет первая версия движка. С тех пор он пережил дюжину всяких обновлений и дополнений, включая и версии для iPhone, подружился с DirectX, а игры на его основе проникли во все мыслимые и немыслимые ниши и устройства. Несмотря на массовость и разнообразие (а с отметкой Unity можно встретить и стрелялки, и стратегии, и РПГ, и гонки), игры созданные на Unity3D неизменно показывают достойную и приятную графику. Конечно, до созданных на новомодных Frostbite 2 или Unreal Engine 4 проектов им далековато, но тем не менее.

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

Battlestar Galactica – известнейшая и во многом даже культовая браузерка от студии Bigpoint. Игра соединяет в себе элементы RPG и стрелялки от третьего лица, основывается на знаменитом телесериале, а весь геймплей вертится вокруг развития кораблей, изучения космоса и бесконечных сражений с противником.

Offensive Combat – один из лучших представителей браузерных шутеров. Игра смотрится намного круче, чем тот же Counter-Strike, и это несмотря на то, что идет она в окне браузера. Шуточный стиль, динамичные перестрелки а-ля Quake 3 Arena и доступность (играть в Offensive Combat можно совершенно бесплатно) делают этот шутер очень популярным.

Brick Force – смесь песочницы по типу Minecraft и шутера. Несмотря на большие возможности Unity3D, в игре все выглядит квадратным и примитивным, но это компенсируется возможностью создавать собственные уровни, а во время перестрелок – не только стрелять по врагам, но и заниматься более осмысленной деятельностью: строить укрепления, рыть тоннели, осуществлять подкопы под позиции врага и т.д.

Guns of Icarus Online – амбициозная MMORPG в стиле стимпанк, предлагающая каждому желающему почувствовать себя в роли капитана боевого дирижабля. Проект клиентский, а это значит, для игры в него придется скачать клиент. И не забыть при этом расплатиться с разработчиками путем единовременной покупки.

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

Unity3D или Android Studio для игры android 2D?

У меня была идея для инкрементной игры 2D (например, cookie clicker), но я не знаю, как это лучше всего сделать. Сначала я думал о Android Studio, так как инкрементные игры просты и похожи на UI, но после некоторых исследований я пришел к мысли, что с Unity3D было бы проще. Я не новичок в программировании (сейчас я программирую в основном в C и python, но в прошлом году я изучал java), но я никогда не делал ничего лучше, чем приложение HelloWorld android.

2 ответа

  • Перенос игры 2d tile based iPhone на Android.

Есть ли какие-нибудь хорошие игровые движки на основе плитки 2d для android, которые я должен изучить, прежде чем просто прыгать прямо в холст для этой игры?

Я работал в течение некоторого времени с Unity3d и обнаружил, что это 2D часть с OnGUI() или GUITextures слишком неуклюжая. Кроме того, даже самая маленькая игра, сделанная на Unity3d, загружается как минимум на 10 МБ, что просто слишком много для игры 2D. Итак, в настоящее время я ищу движок для.

Читайте так же:
Игры для ps4 танки

Android studio лучше всего подходит для приложений, использующих действия (например, такие приложения , как YouTube и FotMob). У них есть панель приложений , которую пользователь использует для перехода к различным «pages» для получения желаемой информации.

Однако для таких приложений, как Cookie Clicker или Candy Crush , вы можете видеть, что они не следуют одному и тому же шаблону. Вместо этого обе игры имеют свои собственные графические движки, разработанные студиями или какой-либо третьей стороной. Поэтому, если вы не хотите создавать свой собственный графический движок, вам определенно следует использовать Unity.

Вы пробовали с libGDX? Вам не нужен эмулятор, и он очень похож на Java. Вам нужно проверить новую документацию, но вы все равно сделаете это с Unity.

Похожие вопросы:

Доброе утро! Я только что закончил игру, используя Unity3D. Каждый из моих коллег завершил приложение на родном языке Android и iOS, используя Eclipse ad XCode. Проблема в том, что нам нужно.

Я опытный разработчик iOS и начинал с cocos2d для своих 2D игр, а теперь перешел на Sprite Kit, так как он от Apple и будет продолжать поддерживаться. Однако недавно я установил Android Studio и.

Я хочу разработать какую-нибудь игру 2D для мобильных устройств с использованием Unity3d (iPhone & Android) и понял, что это пара фреймворков 2D в Assets Store, включая некоторые платные.

Есть ли какие-нибудь хорошие игровые движки на основе плитки 2d для android, которые я должен изучить, прежде чем просто прыгать прямо в холст для этой игры?

Я работал в течение некоторого времени с Unity3d и обнаружил, что это 2D часть с OnGUI() или GUITextures слишком неуклюжая. Кроме того, даже самая маленькая игра, сделанная на Unity3d, загружается.

Я попытался создать плагин android для unity3d в android studio, точно следуя некоторым учебным пособиям в интернете. Но каждый раз, когда я изменял манифест, игра терпела крах.

Я планирую разработать игру 2D для Android устройств без специального GPU, как HTC Wildfire. Я помню из PC, что OpenGL обычно выбирается вместо чего-то вроде SDL для 2D графики из-за скорости и.

Я хочу получать журналы из приложения Unity, когда оно работает на телефоне Android. Для этого я должен экспортировать проект Android из Unity3D и запустить его с помощью Android Studio. Я делаю.

Я могу экспортировать проект Unity3d android и импортировать его в android studio, но как я могу импортировать более одного проекта unity3d в android studio? Я попытался импортировать его как.

Можно ли включить .dll файлов в android Apk при создании игры с Unity3D. Я использую библиотеку Nvidia Blast для своей игры, и она прекрасно работает в редакторе, но материал, сделанный с помощью.

Взлом игр Unity на примере игры Poker World

Взлом игр Unity на примере игры Poker World

Разработчики игр с удовольствием пользуются теми удобствами, что им предоставляет движок Unity, но, как выяснилось, он столь же удобен и для любого желающего вскрыть эти игры. Для примера я возьму Poker World и покажу на ней, как можно не только менять параметры, но и влезть в саму логику, переиначить все на свой лад и перепаковать APK. Заодно соберем небольшой набор утилит, который поможет в работе с мобильным софтом.

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

Работа работой, а отдыхать тоже нужно. Человек я не азартный, но в карты покидать люблю. Недавно я приметил офлайновое приложение для игры в покер под названием Poker World. У него аскетичный интерфейс, минимальный набор функций, но есть почти все, что мне нужно. Напрягал только повышенный интерес разработчиков к донату. Поэтому с каждой раздачей исследовательская жилка напрягалась и таки не выдержала. Я взялся за клавиатуру с твердой уверенностью раздобыть себе немного виртуальных деньжат.

Читайте так же:
Игры лета 2014 года

Первые шаги

Настройки эмулятора MEmu 5.5.1

Настройки эмулятора MEmu 5.5.1

Чтобы начать вивисекцию приложения нам понадобится небольшой стенд. В первую очередь стоит поставить нормальный эмулятор Android. Раньше я использовал Andy, но теперь он скурвился и даже начал пихать майнеры в свои дистрибутивы. Мне в срочном порядке пришлось искать замену. Моя основная ОС — Windows и поэтому все поиски были направлены на дистрибутивы для этой платформы. Я перебрал с десяток вариантов из топа выдачи Google, и все они, культурно выражаясь, оставляли желать лучшего. Однако мои молитвы были услышаны, и я наткнулся на Memu. На момент написания статьи последняя версия была 5.5.1. Тут есть все, что тебе может понадобиться. Создавать можно виртуальные машины Android версий 4.4 и 5.1, а также поддерживает эмуляцию нескольких моделей устройств.

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

Главный экран эмулятора MEmu после запуска

Главный экран эмулятора MEmu после запуска

Что очень важно, MEmu поддерживает установку приложений из файлов APK и, о боги, в нем есть обычные настройки сетевого подключения Android. Это позволяет легко настроить устройство на работу через прокси типа Burp и перехватывать трафик. Ты удивишься, но часть эмуляторов не поддерживала работу через прокси и не имела стандартных сетевых настроек.

В общем, пока у меня не возникало претензий к MEmu. Если ты знаешь о более достойных вариантах, не стесняйся и пиши о них в комментариях.

Главное окно утилиты APK Studio

Главное окно утилиты APK Studio

Еще нам понадобится APK Studio, чтобы иметь возможность удобно распаковывать, пересобирать и подписывать пакеты. Для подписи пакетов к нему потребуется скачать uber-apk-signer и положить в директорию C : Users < имя _ юзера > . apkstudio vendor , предварительно переименовав в uber — apk — signer . jar . Также можешь обновить apktool до последней версии и скопировать в ту же папку.

И, конечно же, само приложение. Его можно скачать из Play Market и App Store, но нам ведь нужен сам дистрибутив. Тут на помощь приходят сайты-агрегаторы приложений. Такого рода сервисы легко гуглятся по запросу apk download . Я, например, остановился на https://apkpure.com/, где помимо текущей версии приложения можно скачать и предыдущие (иногда бывает полезно).

Переходим по ссылке и скачиваем нашего подопытного. На момент написания статьи последняя версия приложения — 1.3.5.

Загрузка игры Poker World 1.3.5 в эмуляторе

Загрузка игры Poker World 1.3.5 в эмуляторе

Теперь можно установить скачанный apk в эмуляторе. Для этого достаточно перетащить его на окно с запущенным MEmu — практически в лучших традициях macOS.

На этом этапе базовые приготовления закончены. Обо всех остальных полезных штуках и утилитах я расскажу в процессе препарирования приложения.

Начинаем веселье в iOS

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

Своеобразный однорукий бандит в Poker World

Своеобразный однорукий бандит в Poker World

Парочку таких я и обнаружил. В игре есть возможность раз в четыре часа крутить однорукого бандита, из которого тебе рандомно выпадают всякие ништяки. Их в игре всего два вида — это деньги и билеты. И те, и другие нужны для участия в турнирах. Так вот в местном аналоге тотализатора можно выиграть небольшое количество денег или один билетик. Количество денег, которые ты можешь срубить, зависит от уровня твоего персонажа. Каждые несколько уровней суммы выигрыша в этой рулетке удваиваются. На самом первом они составляют от $400 до $2000.

Читайте так же:
Игры с ближним боем на пк

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

Эволюция спинов в Poker World

Эволюция спинов в Poker World

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

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

Чтобы бесконечно не переводить время в будущее, можно сделать так:

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

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

Вообще, я сильно удивился тому, какие проблемы может вызвать изменение даты на устройстве с iOS. Например, после того как я выставил 2030, меня разлогинил iCloud и отказывался пускать обратно с неизвестной ошибкой. Я уж было подумал, что мой аккаунт заблокировали за путешествия во времени. Повторно авторизоваться удалось только после перезагрузки девайса.

Два года назад в iOS нашли баг: устройство окирпичивалось, если поставить дату на 1970 год. Можно предположить, что от системной даты многое зависит.

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

Эволюция бесплатных игр в Poker World

Эволюция бесплатных игр в Poker World

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

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

Интересный файл с настройками игры Poker World

Интересный файл с настройками игры Poker World

Но это все цветочки. У меня завалялся старый джейлбрейкнутый айфон, а это значит, что настало время заглянуть поглубже в недра игры и посмотреть, что там творится. Запускаю утилиту Filza и смотрю, где располагаются файлы приложения. У меня это / path . Немного покопавшись, я обнаружил интересный файл com . youdagames . pokerworld . plist .

Редактирование количества денег и билетов у игрока в Poker World

Редактирование количества денег и билетов у игрока в Poker World

Сам файловый менеджер Filza позволяет открывать, редактировать и сохранять файлы plist. В нем располагаются разные настройки, которые касаются игры в целом и текущего пользователя, в частности. Мой взгляд зацепился за парочку интересных переменных с названиями — UserChips , UserTickets . И да, они означают именно то, что ты подумал. Это количество твоих денег (фишек) и билетов. Я поменял значения на нужные и запустил игру.

Добавили себе фишек и билетов

Добавили себе фишек и билетов

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

Читайте так же:
Игры выходящие 22 февраля 2019

Властвуем в Poker World для Android

Домашняя папка Poker World в Android

Домашняя папка Poker World в Android

Первым делом точно так же проверяем домашнюю папку приложения. Не лежат ли там какие-нибудь интересные файлы? Для этих целей я воспользуюсь файловым менеджером из Cyanogen Mod и перейду в папку / data / data / com . youdagames . pokerworld / shared_prefs / .

Файл с настройками Poker World на Android

Файл с настройками Poker World на Android

Сразу же бросается в глаза файл com . youdagames . pokerworld . v2 . playerprefs . xml . Откроем его и убедимся: там все то же самое, что и в iOS, только в формате XML.

Но мы это уже проходили, поэтому ценность этой находки для нас минимальна. Пойдем чуть дальше.

Возможные декомпиляторы на сайте javadecompilers.com

Возможные декомпиляторы на сайте javadecompilers.com

Попробуем декомпилировать apk-файл с игрой. Для этих целей я почти всегда использую замечательный онлайновый сервис javadecompilers.com/apk. Кстати, помимо приложений для Android, он может декомпилировать файлы JAR, причем разными методами. На выбор декомпиляторы JDCore, CFR, Jadx и т.д.

В общем, декомпильнули наш файл, скачали его, распаковали и видим, что ничего особо интересного там нет. Печаль.

Также есть целый фреймворк, который неплохо помогает в исследовании мобильных приложений, он называется Mobile Security Framework, MobSF. Он тоже выполняет декомпиляцию приложения и ищет в получившихся исходниках всякие интересные вещи и потенциальные уязвимости. Рекомендую не брезговать им и натравливать его на исследуемые приложения. Фреймворк легко устанавливается и, помимо этого, существует в виде контейнера Docker, что сводит его установку к одной команде.

Игра Poker World написана на Unity

[/crayon]
Игра Poker World написана на Unity

Но нам это тоже не поможет. У нас здесь игра на движке Unity, на что недвусмысленно намекает наличие характерных файлов.

Декомпиляция Unity файлов из Poker World в ILSpy

Декомпиляция Unity файлов из Poker World в ILSpy

Я, конечно же, слышал про этот игровой движок, но никогда не приходилось иметь с ним дело в плане реверса. Немного покурив мануалы, я узнал, что все самое интересное обычно находится в файлах Assembly — CSharp . dll , Assembly — CSharp — firstpass . dll и Assembly — UnityScript . dll из папки Managed. Как видно из названия, они написаны на C#, поэтому нам нужен соответствующий декомпилятор. Есть несколько классных вариантов, среди них ILSpy и DotPeek. Обе утилиты абсолютно бесплатны и имеют свои фишки; я остановился на ILSpy. Откроем в нем Assembly — CSharp . dll и Assembly — CSharp — firstpass . dll .

Разворачиваем дерево файла Assembly — CSharp . dll и наблюдаем огромное количество классов с интересными названиями. Это абсолютна вся логика игры. Есть где развернуться!

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

Сначала я было расстроился, но немного погуглив, я нашел отличное решение. При помощи утилиты под названием dnSpy мы можем вносить изменения напрямую в DLL, причем так, как если бы мы просто редактировали ее код на C#. Просто магия вне Хогвардса!

Декомпиляция файлов Unity из Poker World в dnSpy

Декомпиляция файлов Unity из Poker World в dnSpy

Скачиваем программу и открываем наши библиотеки в ней.

Если встроенный редактор покажется тебе недостаточно удобным, можешь сохранить все исходники как проект и пользоваться привычным. Для этого в меню File имеется команда Export to Project.

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector