MrBeard

На Пикабу
Дата рождения: 1 января
660 рейтинг 5 подписчиков 10 подписок 8 постов 1 в горячем
Награды:
10 лет на Пикабу

Ответ на пост «Фильтрация на границе: Безопасность или хайп?»6

Я понимаю, что пост скорее всего от кого то из сотрудников, но всё ж напишу.

Блогеры, связанные любые люди, связанные с этим процессом, поднимают шум чуть ли не с открытия фильтрации в Шереметьево, потому что фильтрация работает НЕМНОГО не так, как предполагалось.

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

Для женщины вероятность въехать выше, для мужчины - очень сильно ниже. Если пенсионер - выше, если молодой - ниже.

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

При этом терроризмом на территории РФ в большинстве случаев занимаются, не въехавшие хохлы, а выходцы из средней азии, местные идиоты (за деньги, которые им не заплатят) и местные идиоты (ввиду шантажа/манипуляции).

К сожалению, у нас вместо адекватной фильтрации ВСЕХ въезжающих зачастую занимаются профанацией, цель которой - или прикрыть себе жопу максимально, или заработать денег. То же самое справедливо и для ФМС, в которой русскому из украины, казахстана, киргизии, молдовы и прочих стран получить ВНЖ или паспорт ОЧЕНЬ сложно, зато выходцы из средней азии без знания языка получают паспорта массово. Угадайте, законным ли способом )))))

Показать полностью
8

Аналитика в геймдеве

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


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

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


Вы спросите, что же позволило так стремительно менять игровой процесс, выбивая из игроков всё больше и больше денег? Ответ прост - АНАЛИТИКА!


Как много в слове этом - “аналитика”. Это именно тот набор инструментов, который позволяет отслеживать все действия игрока с момента установки вашей игры. Игрок получил уровень? Мы будем знать. Игрок сжульничал и получил предмет раньше, чем мы задумывали? Мы будем знать. Игрок выработал тактику безболезненного прохождения нашей игры без доната? Мы будем знать и прекратим это!


Современный мир сервисов, предназначенных для аналитики, широк и разнообразен, но мы, будучи истинно белыми рыцарями без изъяна и упрёка, создадим свою систему!


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

Установка

Старт уровня

Окончание уровня

Смерть персонажа

Список не так уж и велик, дык и игра не Bioshock.


С каждым событием мы будем отправлять уникальный идентификатор игрока, полученный на основе идентификатора его устройства, смешанного с тёмной магией. Ну, и версию игры мы тоже будем отправлять каждый раз. В событиях “Старт уровня”, “Окончание уровня” и “смерть” мы будем отправлять:


Количество жизней персонажа

Количество монет

Текущий уровень

Времени со старта уровня

Селфи игрока на момент создания события

С событием “смерть” мы так же будем отправлять идентификатор причины сего события(черепашка съела, звездой пришибло, проверил глубину пропасти)



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


Вы спросите, как же мы будем находить проблемные места в игре? Да очень просто. К примеру, мы берём последнюю версию игры и строим график количества пользователей от игрового уровня. Нормальное распределение пользователей для подобного графика плавное, без скачков, с постепенным снижением количества пользователей от уровня. Но на нашем графике мы наблюдаем Скачкообразное(от Скачков) изменение в районе уровня 5,когда его заканчивают лишь 10% от игроков, которые до него дошли.


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

Аналитика в геймдеве
Показать полностью 1
15

Первая игра на Unity3d или как я не потратил зря отпуск

Всё началось с того, что в этом году на работе заставили заранее выбрать даты отпуска и планово в него уйти. Моё обычное "а, потом отпуск, сейчас не до отдыха" в этом году не сработало. 

Моя работа связана с гейм девом, я пишу сервера для мобильных игр. А в отпуске человеку положено заниматься чем? Правильно, отдыхом от работы. Именно поэтому я занялся написанием простенькой мобильной игры на Unity3d=) Это была далеко не первая попытка познакомиться с этим движком, зато первая попытка, доведённая до финального результата.


Fly - финальный результат моих двухнедельных трудов.


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

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


Начать в этот раз я решил с поиска графики, хотя бы немного удовлетворяющей игровой идее и остановился на kenney game assets. Дирижабля там не было, зато был неплохой набор спрайтов для игры "tappy plane", который я и использовал.


Теперь немного о внутренней логике приложения. Единственным объектом, который не перемещается по оси Х будет наш главный самолёт. Все прочие объекты проносятся мимо него. Задники - генерящиеся объекты(облачка, башенки, деревья, земля), скорость которых зависит от Z координаты, что позволяет создать эффект параллакса(или лично мне так кажется). Монеты и вражеские самолёты тоже генерируются, но несколько хитрее. О них ниже.

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

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

OOOXOOO

OOXXXOO

OXXXXXO

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

Я выбрал второй вариант, ибо счёл его более простым и быстрым для данной задачи.

В итоге у меня получился генератор монет, который имел набор префабов, каждому из которых был задан его вес. При удалении последнего сгенерированного контейнера монет на Random.Range(0.8f, 1.2f) * DefaultDistance от правого края экрана за экраном генерировался новый набор в соответствии с вероятностью его веса.

Теперь о вражеских самолётах. Их три типа. 

Простой - быстро проносится по прямой.

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

Жёлтый - преследует игрока, меняя свою траекторию.


Как это работает? Простой тип не вызывает вопросов. Есть начальная скорость и небольшое ускорение по оси X, которое он получает каждый FixedUpdate. Шальной задаётся начальной скоростью и ускорением из диапазона (диапазон подобран вручную) по оси Y. Жёлтый ... Для жёлтого я задал Vector2 с ускорениями (к примеру 1f, 1f) и каждый гарантированный кадр он получает ускорение, равное произведению заданного вектора на вектор нормали к игроку.

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


Создав весь этот бедлам, я попробовал сделать первый android билд и с огорчением отметил, что система управления из первоначальной идеи смотрится на мобильных телефонах не очень. Две кнопки можно было бы расположить слева друг над другом, но тогда игрок будет вынужден нажимать на них одним пальцем, постоянно перемещая его по экрану, двигая и ошибаясь. Можно было их расположить внизу справа и слева, но тогда правая кнопка закрывала бы часть экрана, где могли бы появляться противники. Разбираться с виртуальным джойстиком я был морально не готов и пришлось реализовать однокнопочное управление, где при нажатии в любой части экрана самолёт начинал двигаться вверх, а без нажатия летел бы самостоятельно вниз. Благодаря этому управлению мне не избежать обоснованных и праведных сравнений с tappy bird и retry от Rovio. 


Это, в общем то, основная часть игры, написанная и протестированная за 2 дня. Чем же я занимался всё остальное время? А тем, что совершенно не умею делать - UI, интеграцией с Google Play, созданием проекта в Google Developer Console. 

Но больше всего времени у меня занял поиск музыки... Я около трёх дней провёл, прослушивая различные треки и слабо представляя, что в действительности хочу услышать. Совершенно не представляю, как пишут задания для композиторов на музыку... В итоге музыка была найдена на сайте PlayOnLoop. Там действительно неплохая подборка зацикленной фоновой музыки.

Какие у меня были изначально планы? Я хотел создать 2 игры за 2 недели отпуска, изучить движок, а точнее его 2d составляющую. Получилось же лишь одна игра, да и та едва влезла в этот график. Жалею ли я о потраченном времени отпуска? Нет, было весело! 

И это непередаваемое ощущение - залипать в собственную игру=)

Google play - Fly

Показать полностью 6

Жалобы - это инфекция

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

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества