С развитием виртуальных миров и интерактивных сред, вопросы проектирования игровых объектов становятся всё более актуальными. Одним из ключевых понятий в дизайне игрового пространства является аффорданс – концепция, зародившаяся в экологической психологии Джеймса Гибсона и обозначающая возможности действия, которые предоставляет среда живому организму. В контексте видеоигр аффордансы выступают как неявные подсказки для игрока относительно того, как можно использовать тот или иной объект.
User
Игровая экономика Premium игр на примере PC 4х стратегии
Как спроектировать экономику для вашей игры? Это вопрос, ответ на который может занять небольшой цикл лекций или статей. Принципиальная разница в подходе основана в первую очередь на модели монетизации: F2P или B2P. Второе, что определяет подход к разработке экономической системы - жанр игры. В этой статье мы рассмотрим кейс проектирования игровой экономики B2P (premium) игры, не предполагающей заработка с микротранзакций.
Процедурная генерация укрытий в играх
В игровых мирах сражения, взаимодействия НПС и стратегические маневры приводят к необходимости поиска точек защиты или точек укрытия (cover). В этой статье я рассмотрю один из аспектов игровой механики – создание такой системы на основе анализа окружения, которая позволяет игрокам и AI эффективно и эффектно использовать геометрию в разных игровых сценариях, и делают игровой опыт более динамичным. Посмотрим на особенности, которые влияют на алгоритм генерации и реализацию в движке 4A Engine.
Дефицит в IT закончился? Или нет? Что происходит на рынке труда?
По данным HeadHunter за первое полугодие 2023 года российские работодатели разместили 71 000 вакансий в сфере «Информационные технологии и телеком». Кажется, что это большая цифра. Но за первые 6 месяцев прошлого года вакансий было на 9% больше. При этом за это же время активными было 480 000 резюме, что на 11% больше, чем в прошлом году в первые полгода.
Еще пару лет назад ситуацию можно было описать как кадровый голод — вакансий много, а активных соискателей мало. Сейчас вакансий становится меньше, а тех, кто ищет работу — больше. Получается, что все ровно наоборот? И голод закончился, все сыты? Попробуем разобраться.
Математика самонаводящихся ракет из аниме
Я создал прототип ракетной атаки! Для этого понадобилась хитрая математика, о которой будет рассказано в этой статье.
Мы поговорим о кубических кривых Безье, шуме Перлина и rotation minimizing frames.
Вы уверены? Как писать тексты для экранов подтверждения
В каждом продукте есть сценарии, которые могут привести к разрушительным последствиям. Например, какая-то команда может уничтожить важные данные или внести серьезные изменения в систему. Поэтому важно четко и понятно предупреждать об этом и помогать пользователю принимать осознанные решения.
В этой статье собрала основные принципы создания текстов для экранов подтверждения, которым следуют Apple, Microsoft и Google.
Менторство в команде Ops: внедрение процесса и первые результаты
Привет, Хабр. Меня зовут Юрий Зорин, в Quadcode я руковожу Ops-департаментом. В марте 2022 года мы внедрили в команде внутреннее менторство: теперь у наших junior-инженеров есть наставник, который помогает развивать нужные навыки. В этой статье хочу рассказать, какой путь мы прошли на текущий момент и подвести первые итоги.
Возрождение простых сайтов. Статика, 0kB JS, ничего лишнего
Как мы обсуждали в прошлый раз, удручающее ожирение сайтов и софта вернуло моду на простые, маленькие проекты. И сейчас происходит своеобразный ренессанс веба 90-х, вплоть до стиля Geocities (такой был бесплатный хостинг) и веб-страниц в виде PDF. Таковы примеры самореализации. У каждого человека — уникальный сайт, который отличается от остальных и отражает его личность.
Статический сайт можно выполнить в одном файле HTML, а динамический — в одном бинарнике (под катом). Тенденция видна везде. Современные фреймворки даже хвалятся «0кБ JavaScript» по дефолту, а браузеры внедрили технические усовершенствования, которые во многом аннулируют преимущества использования SPA.
Как выжить при быстром росте аудитории, когда игра за день становится хитом
В 2013 году, когда игры-сервисы были где-то в зачатках, мы продавали Pixel Gun 3D за доллар просто как прототип FPS-шутера. В игре была одна карта, одно оружие и два вида зомби, при этом она сильно цепляла эмоционально — игрокам приходилось выживать в ограниченном пространстве с постоянно появляющимися монстрами. Словом, адреналин зашкаливал (по этой же причине до сих пор популярны батлрояли).
Проект выложили в стор и тут началось: огромное количество установок, оценок, отзывов. Вскоре он занял топ-1 в App Store среди платных игр. Мы совсем были не готовы к огромному потоку игроков, которые что-то советовали, писали развернутые фидбеки и всячески пытались выйти на контакт.
Опыта работы с аудиторией не было совсем. Нужно было на ходу формировать комьюнити, поэтому решили делать мультиплеер, социальные функции, заводить соцсети и все, что поможет объединить игроков. Как это было и чему мы научились — в этом материале.
Petite-vue
Привет, эта статья - "перевод документации и часто используемых примеров" для petite-vue + ещё немного приколов и одна интересная практика (с которой не всё так очевидно, как могло бы казаться).
Зачем нужен petite-vue?
Petite-vue это 6-ти килобайтное подмножество Vue, основной задачей которого, по словам Эвана, является Progressive Enchancement.
Разработка настоящих компонентов: блок сообщения Facebook Messenger
Если же вникнуть в тему работы с сообщениями, то окажется, что один только интерфейс чата — это такая штука, при создании которой нужно учесть невероятное количество деталей. Особенно — если это чат некоей платформы, сравнимой по масштабам с Facebook.
В этой статье я расскажу об устройстве компонента, представляющего собой блок сообщения Facebook Messenger, покажу варианты его стилизации, поделюсь некоторыми интересными находками.
Гидропоника. Персидская принцесса Сорая, или как из семян вырастить премиальную клубнику
Выращивание растений - одно из моих основных хобби, и в этой статье я расскажу, как вырастить из семян вкуснейшую клубнику.
Почему из семян? Проще не заморачиваться, а купить рассаду! - скажут некоторые. Но увы, с покупной рассадой не всё так просто, как может показаться с первого взгляда. Главная проблема покупной рассады - грибковые болезни и наличие яиц или личинок вредителей. Даже приобретая рассаду с известных европейских питомников Вы рискуете получить заражённые растения, и занести к себе на садовый участок нежеланных гостей в виде трипсов, паутинного клеща, цикадок, белокрылки и иже с ними.
Дифференциальные и инкрементальные бэкапы MySQL
Для MySQL существует широко известный инструмент по созданию резервных копий баз данных — mysqldump, который создаёт дамп посредством записи серии SQL-инструкций для восстановления таблиц и данных целевой базы данных.
Он неплохо подходит для резервного копирования небольших баз данных, но когда база данных набирает приличный «вес» и возникает необходимость резервного копирования чаще, чем раз в сутки, скорость создания и размеры дампов могут стать проблемой. В данном случае на помощь приходят утилиты, создающие копию бинарных файлов баз данных, например, такие как Percona XtraBackup.
Способы обмена знаниями в компаниях
Вместе с ростом кодовой базы растёт и порог входа, который надо преодолеть новичкам для полноценного погружения в проект. Также возникает ситуация, когда опытные сотрудники не знают, как работает часть механизмов в уже существующей системе. При естественных процессах текучки персонала бывает и так, что эксперты уходят из компании, а новички ещё не успели получить критически важные знания. В таком случае старая команда без обмена знаниями «умрёт»: новички не смогут разобраться в старом коде и не будут знать, почему было принято то или иное архитектурное решение, и это приведёт к переписыванию проекта.
Чтобы не допустить такой ситуации, необходимо на уровне компании в целом и команды в частности организовать обмен знаниями и постоянно поддерживать эту культуру. Ниже я приведу различные способы обмена и субъективно оценю их эффективность и сложность внедрения.
Снобизм постсоветского IT
Хочу поделиться, на мой взгляд, мифами про развитие в IT. Эти мифы произошли от нашего снобизма или негативного мышления. Статья особенно будет полезна для тех, кто хочет активно развиваться, но сомневается в своих силах. Вкратце обо мне: мне 33 года, занимаюсь IT с 2013, 5 лет назад переехал в США, в этом году устроился в FAANG.
Миф 1. Крутые программисты пишут сложный код
«Ого, он написал свой фреймворк!», «Ого, он использует эту крутую сложную библиотеку!», «Почитал его код, ничего не понял. Он явно лучше программист, чем я, раз написал такое». У нас, как правило, если синьор написал код, то джуну там ловить нечего. А ещё синьоры могут мерятся письками, у кого код сложнее. Ну что ж, это горькая правда, что многие наши программисты сильно развились технически и материально, но счастье так и не обрели. Я сам такой, активно с этим борюсь. И включается детская позиция утверждаться на работе.
По-настоящему хороший синьор занимается в первую очередь продуктом и развитием людей. В хорошем продукте даже джуниор может починить баг. Код должен быть как можно проще и понятнее. Нужны простые и популярные библиотеки. Ну, допустим, пришлось все-таки написать сложный алгоритм - будь добр, подробно опиши, как он работает. Написал регулярное выражение - оставь комментарий, что он делает. На такого синьора сейчас все компании мира молятся. И пофиг, что он не может бинарное дерево со всеми ротациями расписать.
Чем заняться в затишье между PHDays и The Standoff? Сделать обыкновенный разбор необыкновенного бейджа одной конференции
Привет всем! Как всегда ярко, мощно и динамично отгремел The Standoff, отшумели насыщенные PHDays10, и мы занялись разбором накопившихся завалов из отложенных дел. На волне впечатлений от международного форума по практической безопасности «Positive Hack Days: Начало» (и пока не стартанул осенний The Standoff) решили с коллегой дооформить статью о том, как мы ковыряли бейдж с позапрошлогодней конференции OFFZONE и что из этого вышло. Наш разбор под катом. Ну что, поехали?
Онлайн-образование, Python и DevOps набирают обороты
К старту курса о Fullstack-разработке на Python мы подготовили сокращённый перевод опроса StackOverflow среди почти 83 000 людей, без малого 70 % из них — профессиональные разработчики. Опрос проводился с 15 июня по 25 мая, облачные платформы в нём впервые выделены из платформ в целом, также добавлен раздел о том, с какими языками, платформами, фреймворками и т. д. людям хотелось бы работать. Конечно, вы найдёте в опросе информацию о зарплатах и образовании. Подробности, как всегда, под катом.
Как симулировать плохую сеть под Linux, macOS и Windows
Clumsy 0.2
Все распределённые системы — базы данных, мобильные приложения, корпративные SaaS и так далее — следует разрабатывать с учётом сбоев. Например, компания Stripe во время тестов убивала случайные инстансы — и смотрела, что произойдёт. Компания Netflix рандомно уничтожала инстансы прямо в продакшне с помощью программы Chaos Monkey (проект Simian Army).
Симуляция сбоев — необходимое средство тестирования. Проблема в том, что ситуации не делятся только на чёрное и белое, Есть огромная «серая» зона, где сбои явно не выражены, а проявляются в плохих условиях сети: ненадёжное соединение, узкий канал, потери пакетов, высокая задержка, дубликаты пакетов и так далее.
Тонкости левел-дизайна: как не «убить» свободу выбора игрока
Поддержать динамику и темп в игре, и при этом оставить пользователю свободу выбора в прохождении уровня — непростая задача. Нашли доклад с техниками сознания нелинейных уровней, так автор рассказал об их ценности и потенциальных проблемах. Решили перевести, видео как раз вышло в открытый доступ на YouTube.
Lingtrain Aligner. Написал приложение для создания параллельных книг, которое вас удивит
Здравствуй, читатель. Хотелось бы ненадолго отвлечь твое внимание от новостей и историй данной технической статьей. Поэтому пусть такой "кликбейтный" затравочный заголовок не вводит тебя в заблуждение.
В этой статье я расскажу как сделать параллельную книгу, имея на руках два текста на разных языках. Я написал веб-приложение, которое упрощает процесс выравнивания, превращая сырые тексты в книги и параллельные корпуса. Хочу поделиться с сообществом этим проектом, а также узнать ваше мнение. Технические детали я описывал здесь и здесь, код приложения открытый. Поехали.
Установка
Приложение я оформил в виде 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.
Сделаем три шага: загрузка, выравнивание, генерация.
Information
- Rating
- Does not participate
- Location
- Винница, Винницкая обл., Украина
- Date of birth
- Registered
- Activity