Pull to refresh
10
0
Савчук Виталий @esvit

User

Send message

Аффордансы – главные подсказки функциональной сути игровых объектов

Level of difficulty Easy
Reading time 9 min
Views 882

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

Читать далее
Total votes 3: ↑1 and ↓2 -1
Comments 1

Игровая экономика Premium игр на примере PC 4х стратегии

Level of difficulty Medium
Reading time 8 min
Views 7.1K

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

Читать далее
Total votes 15: ↑13 and ↓2 +11
Comments 5

Процедурная генерация укрытий в играх

Level of difficulty Easy
Reading time 8 min
Views 7.4K

В игровых мирах сражения, взаимодействия НПС и стратегические маневры приводят к необходимости поиска точек защиты или точек укрытия (cover). В этой статье я рассмотрю один из аспектов игровой механики – создание такой системы на основе анализа окружения, которая позволяет игрокам и AI эффективно и эффектно использовать геометрию в разных игровых сценариях, и делают игровой опыт более динамичным. Посмотрим на особенности, которые влияют на алгоритм генерации и реализацию в движке 4A Engine.

Читать далее
Total votes 13: ↑13 and ↓0 +13
Comments 0

Дефицит в IT закончился? Или нет? Что происходит на рынке труда?

Level of difficulty Easy
Reading time 10 min
Views 19K

По данным HeadHunter за первое полугодие 2023 года российские работодатели разместили 71 000 вакансий в сфере «Информационные технологии и телеком». Кажется, что это большая цифра. Но за первые 6 месяцев прошлого года вакансий было на 9% больше. При этом за это же время активными было 480 000 резюме, что на 11% больше, чем в прошлом году в первые полгода.

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

Читать далее
Total votes 25: ↑20 and ↓5 +15
Comments 37

Математика самонаводящихся ракет из аниме

Reading time 4 min
Views 18K

Я создал прототип ракетной атаки! Для этого понадобилась хитрая математика, о которой будет рассказано в этой статье.

Мы поговорим о кубических кривых Безье, шуме Перлина и rotation minimizing frames.
Читать дальше →
Total votes 77: ↑76 and ↓1 +75
Comments 11

Вы уверены? Как писать тексты для экранов подтверждения

Reading time 3 min
Views 19K

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

В этой статье собрала основные принципы создания текстов для экранов подтверждения, которым следуют Apple, Microsoft и Google.

Читать далее
Total votes 95: ↑95 and ↓0 +95
Comments 71

Менторство в команде Ops: внедрение процесса и первые результаты

Reading time 5 min
Views 1.3K

Привет, Хабр. Меня зовут Юрий Зорин, в Quadcode я руковожу Ops-департаментом. В марте 2022 года мы внедрили в команде внутреннее менторство: теперь у наших junior-инженеров есть наставник, который помогает развивать нужные навыки. В этой статье хочу рассказать, какой путь мы прошли на текущий момент и подвести первые итоги.

Читать далее
Total votes 7: ↑5 and ↓2 +3
Comments 4

Возрождение простых сайтов. Статика, 0kB JS, ничего лишнего

Reading time 8 min
Views 41K

Как мы обсуждали в прошлый раз, удручающее ожирение сайтов и софта вернуло моду на простые, маленькие проекты. И сейчас происходит своеобразный ренессанс веба 90-х, вплоть до стиля Geocities (такой был бесплатный хостинг) и веб-страниц в виде PDF. Таковы примеры самореализации. У каждого человека — уникальный сайт, который отличается от остальных и отражает его личность.

Статический сайт можно выполнить в одном файле HTML, а динамический — в одном бинарнике (под катом). Тенденция видна везде. Современные фреймворки даже хвалятся «0кБ JavaScript» по дефолту, а браузеры внедрили технические усовершенствования, которые во многом аннулируют преимущества использования SPA.
Читать дальше →
Total votes 107: ↑101 and ↓6 +95
Comments 72

Как выжить при быстром росте аудитории, когда игра за день становится хитом

Reading time 8 min
Views 12K

В 2013 году, когда игры-сервисы были где-то в зачатках, мы продавали Pixel Gun 3D за доллар просто как прототип FPS-шутера. В игре была одна карта, одно оружие и два вида зомби, при этом она сильно цепляла эмоционально — игрокам приходилось выживать в ограниченном пространстве с постоянно появляющимися монстрами. Словом, адреналин зашкаливал (по этой же причине до сих пор популярны батлрояли). 

Проект выложили в стор и тут началось: огромное количество установок, оценок, отзывов. Вскоре он занял топ-1 в App Store среди платных игр. Мы совсем были не готовы к огромному потоку игроков, которые что-то советовали, писали развернутые фидбеки и всячески пытались выйти на контакт. 

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

Читать далее
Total votes 60: ↑59 and ↓1 +58
Comments 6

Petite-vue

Reading time 8 min
Views 7.7K

Привет, эта статья - "перевод документации и часто используемых примеров" для petite-vue + ещё немного приколов и одна интересная практика (с которой не всё так очевидно, как могло бы казаться).

Зачем нужен petite-vue?

Petite-vue это 6-ти килобайтное подмножество Vue, основной задачей которого, по словам Эвана, является Progressive Enchancement.

Выучить очередной фреймворк
Total votes 11: ↑10 and ↓1 +9
Comments 7

Разработка настоящих компонентов: блок сообщения Facebook Messenger

Reading time 19 min
Views 8.6K
Смесь любопытства и тяги к исследованиям снова привели меня к системе обмена сообщениями Facebook. Я уже изучал компоненты Facebook и писал об этом. Сейчас я обратил внимание на то, что в одни только блоки для вывода сообщений чата вложена огромная работа. На первый взгляд может показаться, что разработка компонента, реализующего чат — это просто, что у составных частей такого компонента будет не особенно много вариаций.

Если же вникнуть в тему работы с сообщениями, то окажется, что один только интерфейс чата — это такая штука, при создании которой нужно учесть невероятное количество деталей. Особенно — если это чат некоей платформы, сравнимой по масштабам с Facebook.



В этой статье я расскажу об устройстве компонента, представляющего собой блок сообщения Facebook Messenger, покажу варианты его стилизации, поделюсь некоторыми интересными находками.
Читать дальше →
Total votes 35: ↑35 and ↓0 +35
Comments 1

Гидропоника. Персидская принцесса Сорая, или как из семян вырастить премиальную клубнику

Reading time 7 min
Views 32K

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

Почему из семян? Проще не заморачиваться, а купить рассаду! - скажут некоторые. Но увы, с покупной рассадой не всё так просто, как может показаться с первого взгляда. Главная проблема покупной рассады - грибковые болезни и наличие яиц или личинок вредителей. Даже приобретая рассаду с известных европейских питомников Вы рискуете получить заражённые растения, и занести к себе на садовый участок нежеланных гостей в виде трипсов, паутинного клеща, цикадок, белокрылки и иже с ними.

Читать далее
Total votes 57: ↑52 and ↓5 +47
Comments 66

Дифференциальные и инкрементальные бэкапы MySQL

Reading time 7 min
Views 15K

Для MySQL существует широко известный инструмент по созданию резервных копий баз данных — mysqldump, который создаёт дамп посредством записи серии SQL-инструкций для восстановления таблиц и данных целевой базы данных.

Он неплохо подходит для резервного копирования небольших баз данных, но когда база данных набирает приличный «вес» и возникает необходимость резервного копирования чаще, чем раз в сутки, скорость создания и размеры дампов могут стать проблемой. В данном случае на помощь приходят утилиты, создающие копию бинарных файлов баз данных, например, такие как Percona XtraBackup.
Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Comments 8

Способы обмена знаниями в компаниях

Reading time 7 min
Views 12K

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

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

Читать далее
Total votes 56: ↑54 and ↓2 +52
Comments 11

Снобизм постсоветского IT

Reading time 3 min
Views 32K

Хочу поделиться, на мой взгляд, мифами про развитие в IT. Эти мифы произошли от нашего снобизма или негативного мышления. Статья особенно будет полезна для тех, кто хочет активно развиваться, но сомневается в своих силах. Вкратце обо мне: мне 33 года, занимаюсь IT с 2013, 5 лет назад переехал в США, в этом году устроился в FAANG.

Миф 1. Крутые программисты пишут сложный код

«Ого, он написал свой фреймворк!», «Ого, он использует эту крутую сложную библиотеку!», «Почитал его код, ничего не понял. Он явно лучше программист, чем я, раз написал такое». У нас, как правило, если синьор написал код, то джуну там ловить нечего. А ещё синьоры могут мерятся письками, у кого код сложнее. Ну что ж, это горькая правда, что многие наши программисты сильно развились технически и материально, но счастье так и не обрели. Я сам такой, активно с этим борюсь. И включается детская позиция утверждаться на работе.

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

Читать далее
Total votes 93: ↑46 and ↓47 -1
Comments 150

Чем заняться в затишье между PHDays и The Standoff? Сделать обыкновенный разбор необыкновенного бейджа одной конференции

Reading time 15 min
Views 3K

Привет всем!  Как всегда ярко, мощно и динамично отгремел The Standoff, отшумели насыщенные PHDays10, и мы занялись разбором накопившихся завалов из отложенных дел. На волне впечатлений от международного форума по практической безопасности «Positive Hack Days: Начало» (и пока не стартанул осенний The Standoff) решили с коллегой дооформить статью о том, как мы ковыряли бейдж с позапрошлогодней конференции OFFZONE и что из этого вышло. Наш разбор под катом. Ну что, поехали?

Читать далее
Total votes 10: ↑10 and ↓0 +10
Comments 4

Онлайн-образование, Python и DevOps набирают обороты

Reading time 16 min
Views 9.7K

К старту курса о Fullstack-разработке на Python мы подготовили сокращённый перевод опроса StackOverflow среди почти 83 000 людей, без малого 70 % из них — профессиональные разработчики. Опрос проводился с 15 июня по 25 мая, облачные платформы в нём впервые выделены из платформ в целом, также добавлен раздел о том, с какими языками, платформами, фреймворками и т. д. людям хотелось бы работать. Конечно, вы найдёте в опросе информацию о зарплатах и образовании. Подробности, как всегда, под катом.

Читать далее
Total votes 16: ↑15 and ↓1 +14
Comments 0

Как симулировать плохую сеть под Linux, macOS и Windows

Reading time 3 min
Views 21K

Clumsy 0.2

Все распределённые системы — базы данных, мобильные приложения, корпративные SaaS и так далее — следует разрабатывать с учётом сбоев. Например, компания Stripe во время тестов убивала случайные инстансы — и смотрела, что произойдёт. Компания Netflix рандомно уничтожала инстансы прямо в продакшне с помощью программы Chaos Monkey (проект Simian Army).

Симуляция сбоев — необходимое средство тестирования. Проблема в том, что ситуации не делятся только на чёрное и белое, Есть огромная «серая» зона, где сбои явно не выражены, а проявляются в плохих условиях сети: ненадёжное соединение, узкий канал, потери пакетов, высокая задержка, дубликаты пакетов и так далее.
Читать дальше →
Total votes 45: ↑45 and ↓0 +45
Comments 6

Тонкости левел-дизайна: как не «убить» свободу выбора игрока

Reading time 9 min
Views 4.9K

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

Читать далее
Total votes 21: ↑21 and ↓0 +21
Comments 1

Lingtrain Aligner. Написал приложение для создания параллельных книг, которое вас удивит

Reading time 6 min
Views 22K

title


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


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


Установка


Приложение я оформил в виде docker контейнера, поэтому запустить его у себя на машине не должно составить труда. Также можно запустить приложение из исходников, инструкция есть в репозитории.


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


docker pull lingtrain/aligner:v4
docker run -v C:\app\data:/app/data -v C:\app\img:/app/static/img -p 80:80 lingtrain/aligner:v4

C:\app\data и C:\app\img — это папки на вашем компьютере.


Контейнер скачается с репозитория Docker Hub и запустится на 80-м порту. Откроем приложение в вашем любимом браузере по адресу localhost.


Lingtrain app 1


Сделаем три шага: загрузка, выравнивание, генерация.

Смотреть демо
Total votes 76: ↑75 and ↓1 +74
Comments 45

Information

Rating
Does not participate
Location
Винница, Винницкая обл., Украина
Date of birth
Registered
Activity