Pull to refresh
39
0
Олег Мекекечко @natexriver

Unity Developer

Send message

Как защитить данные игры на Unity в оперативной памяти?

Reading time4 min
Views7.3K
image

Привет! Не секрет, что существует множество программ для взлома игр и приложений. Способов взлома тоже много. Например, декомпиляция и модификация исходного кода (с последующей публикацией кастомных APK, к примеру, с бесконечной голдой и всеми платными покупками). Или самый универсальный способ — сканирование, фильтрация и редактирование значений в оперативной памяти. Как бороться с последним, расскажу под катом.
Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments43

Kinda Heroes — devstory милой RPG с чибиками

Reading time3 min
Views4.2K
Привет! Имея за плечами довольно серьезный опыт разработки игр и приложений, я долгое время боялся браться за RPG. Я имею ввиду полноценную ролевую игру, а не казуальный кликер или айдлер (idle). Итак, я поделюсь с вами историей о том, как по-быстрому за 1 месяц сделать свою RPG, с блэкджеком и всем остальным.


Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments4

Pixel Studio — мобильный редактор пиксель-арта

Reading time6 min
Views8.4K
Приветствую! Идея создать свой редактор пиксель-арта (обязательно с блэкджеком) появилась на отдыхе, когда мне уже совсем надоело бездельничать и захотелось позаниматься любимым делом (а я занимаюсь играми и приложениями). А ноутбук я с собой не взял. Сейчас Pixel Studio активно набирает популярность, а нескромный заголовок «Лучший мобильный редактор пиксель-арта» нужно оправдывать) Под катом расскажу о том, сколько, как и в чем разрабатываю, как публикую и продвигаю, как развивается приложение и какие планы на будущее.

Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments8

Локализация игр и приложений в Unity. Быстро и удобно

Reading time3 min
Views26K
Привет! В этой статье я поделюсь своим опытом локализации игр и приложений в Unity, а также расскажу о своем плагине Simple Localization, который доступен в Asse Store. Уровень статьи — Easy. Кода не будет вообще, он вам не пригодится.

Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments35

Действительно ли Unity медленный? Осторожно, LINQ

Reading time2 min
Views13K
Часто говорят, что Unity медленный. Но насколько? Я разрабатываю приложение Pixel Studio, это редактор пиксель-арта. Для него я написал свою реализацию формата GIF. Самая трудоемкая операция — кодирование GIF, а именно алгоритм сжатия LZW. Посмотрим, как с этим справится Unity.

image
Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments67

Ну почему все стало так медленно?! Выбираем железо для разработки на Unity

Reading time6 min
Views45K
Привет! Я делаю игры и ассеты на Unity. Начинающие разработчики иногда спрашивают меня, с чего начать и насколько мощный компьютер им понадобится. Лично у меня железо довольно старое. И чтобы ускорить разработку, я решил наконец-таки провести апгрейд своего компьютера. С далекого 2011 года сердцем моего ПК является процессор Intel Core i5 2500K, но настала пора отправить его на пенсию. Но что лучше — высокая тактовая частота или наличие большого количества ядер? Обязательно ли покупать дорогой процессор, или получится сэкономить? Какая видеокарта нужна для разработки? Будем разбираться под катом!


Читать дальше →
Total votes 24: ↑15 and ↓9+6
Comments34

Готовимся к публикации игры в Xiaomi Mi Game Center (Unity, C#)

Reading time8 min
Views12K
Китайский рынок мобильных игр и приложений остается в значительной степени закрытым для остального мира. И не так давно Unity анонсировали сотрудничество с Xiaomi, призванное помочь разработчикам опубликовать свои игры с помощью сервисов Unity напрямую в Xiaomi Mi Game Center. А пока на официальном сайте висит табличка «Функция еще не включена, ждите новостей!», мы можем подготовить наш билд для Xiaomi. А если повезет, то и успешно опубликовать!

image
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments4

1.500.000 установок за 3 месяца — история разработки Tap Tap Builder

Reading time4 min
Views25K
Добрый день! Я — инди-разработчик и автор игры Tap Tap Builder. В этой небольшой статье я поделюсь своим опытом и расскажу, как маленькая игра прокладывает себе путь в большой мир.

image
Читать дальше →
Total votes 49: ↑39 and ↓10+29
Comments38

Оптимизация игры на Unity и dev story Tap Tap Builder

Reading time9 min
Views21K
В копилке каждого инди-разработчика должен быть свой сити-билдер, может быть поэтому я решился «сконструировать» свой велосипед. Конечно же, с квадратными колесами и креслом-качалкой вместо седушки. Работаю я один, поэтому никаких дизайнеров, художников, и тем более моделлеров, в проекте нет. Кроме того, в общем-то, это моя первая игра с трехмерной графикой. Дабы не утруждать себя изучением продвинутых инструментов для создания трехмерных моделей, я решил все сделать своими руками и средствами игровой среды Unity. Там есть только примитивы, вроде кубов да цилиндров, а также возможность их раскрасить. Что ж, следовало запастись терпением и начать «творить», погрузившись в роль архитектора. Полезной информацией для начинающих инди-разработчиков может оказаться мой опыт работы с издателем, а также способы оптимизации игры.

image
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments27

Можно ли сделать игру без художника за 2 дня? Devstory моей игры Neobug Rush 2 Players

Reading time4 min
Views32K
Добрый день! Игры не являются основным родом моей деятельности, это скорее хобби. Статья может оказаться полезной начинающим indie-разработчикам, у которых, как и у меня, нет ни команды, ни знакомых художников, ни бюджета на фриланс и продвижение игры. Но что более важно, есть энтузиазм, время и хорошие идеи. Итак, кому интересно, прошу под кат!

Читать дальше →
Total votes 55: ↑49 and ↓6+43
Comments36

Защита игр и мобильных приложений от взлома для чайников (Unity, C#, Mono)

Reading time8 min
Views71K
Всем снова здравствуйте! Дошли руки написать крутую статью на весьма важную тему для разработчиков игр. Итак, поговорим о защите ваших драгоценных игр и приложений, которые вы пилите на Unity в надежде заработать на буханку хлеба, от взлома злобными школьниками. Почему школьниками? Потому что надежной на 100% защиты априори быть не может. И кто захочет, все равно взломает. Вопрос лишь в том, сколько времени и сил он на это потратит. И как любят шутить безопасники — терморектальный криптоанализ никто не отменял.

Итак, в статье я постараюсь максимально доступно рассказать о 3 аспектах (и конечно, предложу реализацию):
  • защита данных приложения (сейвов)
  • защита памяти приложения
  • защита внутриигровых покупок (Google Play)

image
Читать дальше →
Total votes 31: ↑26 and ↓5+21
Comments34

Создание рейтинга игроков для мобильной игры (Unity + Google Play Game Services)

Reading time3 min
Views49K
Рейтинг игроков (leaderboard, scores) для мобильной игры — вещь интересная и порой даже необходимая. В этой статье я расскажу о том, как добавить рейтинг игроков в приложение, созданное в Unity, т.к. в рунете информации об этом не так много. Кроме того, рейтинг будет кросплатформенный (android + iOS), однако без поддержки Windows Phone.

image
Читать дальше →
Total votes 9: ↑6 and ↓3+3
Comments11

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

Reading time2 min
Views10K
Привет! Моя статья может оказаться полезной начинающим разработчикам мобильных приложений. Итак, бессонные ночи позади, и ваше приложение отправилось в свободное плавание по просторам маркета. Вы потираете руки, наблюдая за увеличением количества установок. И количествов денег, которые начинают поступать на ваш счет. Казалось бы, самое время отдохнуть. Но нужно иметь ввиду, что ваше приложение — как захватившийся костер. Если отойти на 15 минут, он потухнет. Поэтому я хочу поделиться с вами своим опытом и дать 10 полезных советов.
image
Читать дальше →
Total votes 17: ↑9 and ↓8+1
Comments4

Бесплатное тестирование мобильных приложений (Samsung Apps)

Reading time1 min
Views10K
Всем привет! Хочу поделиться с вами опытом и рассказать про публикацию игры на одном «малоизвестном» маркете — Samsung Apps.
Конечно, никому никогда не придет в голову мысль устанавливать оттуда приложения. Но! Я создал аккаунт (бесплатно!) и отправил игру. Через 2 недели пришел ответ, игру отклонили. Причина — в аттаче. Аттач не хилый такой — 40 метров. Скачал. Что же там?!
Html-отчет с тестами на 17! моделях самсунга — от мелких телефонов до планшетов. Все баги записаны с шагами воспроизведения, с картинками и видео! Я очень удивился, так как к QA имею прямое отношение. И хоть убейте, не понимаю, почему они это делают за бесплатно. Впрочем, ничто не мешает этим воспользоваться =)

Так что, если хотите за бесплатно протестировать вашу игру — пробуйте) Под катом несколько присланных фотографий и фрагмент html-отчета.
Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments8

Автоматизированное тестирование веб-приложения (MS Unit Testing Framework + Selenium WebDriver C#). Часть 4: Наконец-то пишем тесты

Reading time4 min
Views45K
image
Введение

Привет, привет! Ну что же, пришло время заключительной части, в которой я приведу пример несложных тестов, написанных с применением врапперов из предыдущих частей статьи. Как и обещал, открываю публичный доступ к работающей версии фреймворка (см. ссылки).
Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments3

Автоматизированное тестирование веб-приложения (MS Unit Testing Framework + Selenium WebDriver C#). Часть 3: WebPages — описываем страницы

Reading time4 min
Views25K
WebPages
Введение

Приветствую всех, кому предыдущие статьи оказались полезными или были просто интересны. В прошлой части мы разобрались с Selenium WebDriver, и теперь, перед тем, как приступать к написанию тестов, мы должны описать страницы тестируемого приложения. В превью перечислю основные моменты
  • Описания всех страниц будут находиться в отдельном проекте, я назвал его Autotests.WebPages
  • Для каждой страницы будет создан отдельный класс, располагающийся в отдельном файле
  • Названия классов будут совпадать с названиями web-страниц, например описание страницы MySite/Home/Help будет храниться в классе с названием Help
  • Структура расположения этих файлов иерархическая и будет повторять дерево web-страниц. Например, страница Help будет иметь путь Root\Home\Help.cs относительно проекта и располагаться в пространстве имен (namespace) Autotests.WebPages.Root.Home
  • Для доступа к страницам будет разработан некоторый фасад (Facade), статический класс Pages
  • На практике страницы могут иметь много общего, поэтому вполне логично использовать наследование и вынесение некоторого функционала в отдельные хелперы
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments4

Автоматизированное тестирование веб-приложения (MS Unit Testing Framework + Selenium WebDriver C#). Часть 2.2: Selenium API wrapper — WebElement

Reading time14 min
Views44K
Selenium + C#
Введение

Привет! В предыдущей части я описал основные проблемы, возникающие при работе с Selenium WebDriver, а так же привел пример обертки Browser. Вроде было не сложно, да?) Ну что ж, идем дальше. Надо разобраться с оставшимися проблемами:
  • Описание элемента происходит одновременно с его поиском, т.е. на момент определения элемента он должен существовать в браузере. Очень часто решается путем написания getter для каждого элемента. Это накладно и плохо с точки зрения производительности
  • ISearchContext.FindElements принимает только один параметр типа OpenQA.Selenium.By, т.е. мы не можем искать сразу по нескольким свойствам. Обычно элемент ищется по первому критерию, а затем начинается отсеивание по остальным
  • Отсутствие многих, казалось бы, очевидных методов и свойств. Например: Exist, SetText, Select, SetCheck, InnerHtml и т.д. Вместо этого мы вынуждены довольствоваться Click, SendKeys и Text
  • Множество проблем на различных браузерах, например на Firefox и Chrome элемент кликается, а на IE — нет. Приходится писать special cases, «костыли»
  • Производительность. Да, драйвера работают не быстро. Впереди планеты всей как обычно IE — поиск может занимать секунды, иногда и десятки секунд

В этой части мы будем писать wrapper WebElement, который целиком направлен на пользователя, т.е. на разработчиков автотестов. Признаюсь, что в момент его написания моя задача заключалась в создании «фреймворка», которым должны пользоваться инженеры по ручному тестированию для написания автотестов. Естественно предполагалось, что они имеют весьма скромные познания в программировании. Поэтому было совершенно не важно, сколько тонн кода будет в самом фреймворке и насколько он будет сложным внутри. Главное, чтобы снаружи он был прост как три буквы. Предупреждаю, будет много кода и мало картинок =)
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments7

Автоматизированное тестирование веб-приложения (MS Unit Testing Framework + Selenium WebDriver C#). Часть 2.1: Selenium API wrapper — Browser

Reading time6 min
Views54K
Selenium + C#
Введение

Снова здравствуйте! Представляю вам вторую часть статьи на тему автоматизированного тестирования веб-приложения на Selenium и C#. И если первая часть была из разряда «капитан очевидность», что вызвало негодование у читателей, то в этой части будет много кода. И так, зачем же писать обертку (wrapper) над Selenium API? На мой взгляд, пользователи могут столкнуться со следующими проблемами:
  • Интерфейс IWebDriver предоставляет довольно скудную функциональность в плане управления браузером. Поэтому все, что нам понадобится, придется писать самим
  • Описание элемента происходит одновременно с его поиском, т.е. на момент определения элемента он должен существовать в браузере. Очень часто решается путем написания getter для каждого элемента. Это накладно и плохо с точки зрения производительности
  • ISearchContext.FindElements принимает только один параметр типа OpenQA.Selenium.By, т.е. мы не можем искать сразу по нескольким свойствам. Обычно элемент ищется по первому критерию, а затем начинается отсеивание по остальным
  • Отсутствие многих, казалось бы, очевидных методов и свойств. Например: Exist, SetText, Select, SetCheck, InnerHtml и т.д. Вместо этого мы вынуждены довольствоваться Click, SendKeys и Text
  • Множество проблем на различных браузерах, например на Firefox и Chrome элемент кликается, а на IE — нет. Приходится писать special cases, «костыли»
  • Производительность. Да, драйвера работают не быстро. Впереди планеты всей как обычно IE — поиск может занимать секунды, иногда и десятки секунд

Ну что ж, много проблем — много решений. Я не хочу и не смогу изложить все и сразу в этой части. Длинный пост будет неинтересен, да и во время его написания энтузиазм резко падает) Поэтому эта часть имеет номер 2.1, в ней я покажу свой wrapper над браузером.
Читать дальше →
Total votes 29: ↑22 and ↓7+15
Comments3

Автоматизированное тестирование веб-приложения (MS Unit Testing Framework + Selenium WebDriver C#). Часть 1: Введение

Reading time4 min
Views63K
image

Введение

Всем Buenos Dias! В своей статье я хотел бы максимально лаконично и просто рассказать о том, как построить процесс автоматизированного тестирования web-приложения с нуля. Первым делом нужно правильно расставить приоритеты и выбрать приемлемое соотношение цена/качество. Сразу определимся — это будет не решение «на коленках» из зоопарка скриптов, которыми часто пользуются при ручном тестировании. В тоже время мы не будем тратить много усилий на проектирование нашего «фреймворка» для автоматизации. Наша цель — предоставить результаты своей бурной деятельности перед руководством в максимально короткие сроки, при этом система должна быть:
  • максимально простой, чтобы тесты могли писать даже специалисты по ручному тестированию
  • гибкой и расширяемой, поскольку мы не можем адекватно оценить весь объем работ на данном этапе
  • кроссплатформенной (Selenium WebDriver C# поддерживает Firefox, Chrome и IE)

В своем примере я буду успользовать .NET (Microsoft Unit Testing Framework) и Selenium WebDriver C#.
Читать дальше →
Total votes 25: ↑13 and ↓12+1
Comments15

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity