Как стать автором
Обновить
0
0
Сергей Заиграев @zaigraeff

Гейм-дизайнер

Отправить сообщение

Ошибки геймдизайна или как мы сделали игровой режим, который был никому не нужен

Время на прочтение13 мин
Количество просмотров33K

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

Мечтали о своих кланах и мы. Не просто мечтали, а сделали. Трижды.

Под катом я расскажу о каждых граблях, на которые мы наступили в процессе разработки: механики, которые работают не по плану, проблемы экономики, смурфинг, и даже «договорняки» через Discord.

Читать далее
Всего голосов 91: ↑91 и ↓0+91
Комментарии10

Переработали батлрояль и увеличили его онлайн в 2 раза

Время на прочтение9 мин
Количество просмотров9.6K

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

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

Читать далее
Всего голосов 52: ↑47 и ↓5+48
Комментарии7

Базовые архитектурные решения для обеспечения масштабируемости и производительности в социальных сетях

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров5.1K

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

Если вам интересна эта тема, то возможно, вы уже видели мою предыдущую статью о базовых принципах проектирования архитектуры социальных сетей на Хабре (если нет, вы можете ознакомиться с ней здесь). В ней я рассмотрел основы архитектуры, которые полезны для понимания в процессе разработки социальных сетей.

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

Читать далее
Всего голосов 13: ↑11 и ↓2+11
Комментарии2

В IT-образовании не работают лекции. Давайте это признаем и начнем учиться правильно

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

Второе — в этом мире отменили армию.

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


Читать дальше →
Всего голосов 85: ↑67 и ↓18+67
Комментарии325

Сравнение производительности инструментов обхода блокировок\VPN

Время на прочтение8 мин
Количество просмотров58K
По мере того, как нам все активнее закрывают доступ к различным ресурсам в сети, все актуальнее становится вопрос обхода блокировок, а значит все актуальнее становится вопрос «А как же быстрее обходить блокировки?».

Оставим тему эффективности, с точки зрения обхода DPI\вайтлистов\блеклистов для другого случая, и просто сравним производительность популярных инструментов обхода блокировок.

Внимание: В статье под спойлерами будет много картинок.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии59

Доступ к ssh серверу через очень зарегулированное подключение

Время на прочтение3 мин
Количество просмотров19K
Эта статья является результатом посещения мной автосервиса. В ожидании машины я подключил свой ноутбук к гостевой wifi-сети и читал новости. К своему удивлению я обнаружил, что некоторые сайты я посетить не могу. Зная про sshuttle (и будучи большим поклонником этого проекта) я попытался установить sshuttle сессию со своим сервером, но не тут-то было. Порт 22 был наглухо заблокирован. При этом nginx на порту 443 отвечал нормально. К следующему посещению автосервиса я установил на сервер мультиплексор sslh.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+31
Комментарии32

Сбер открывает доступ к нейросетевой модели ruGPT-3.5

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров45K

? Upd. Добавили пример запуска в Colab'е.

Друзья, свершилось. Сегодня мы рады сообщить вам о релизе в открытый доступ нейросетевой модели, которая лежит в основе сервиса GigaChat.

Про то, что такое GigaChat и как мы его обучаем, вы можете прочитать в нашей предыдущей статье. Скажу лишь, что главной его частью, ядром, порождающим креативный ответ на ваш запрос, является языковая модель обученная на огромном количестве разнообразных текстов — сотен тысяч книг, статей, программного кода и т.д. Эта часть (pretrain) затем дообучается на инструкциях, чтобы лучше соответствовать заданной форме ответа. Обучение такого претрейна занимает около 99% от всего цикла обучения и требует значительного количества ресурсов, которыми обычно обладают только крупные компании.

Этот претрейн, названный ruGPT-3.5, мы выкладываем на Hugging Face под лицензией MIT, которая является открытой и позволяет использовать модель в коммерческих целях. Поговорим о модели подробнее.

Читать далее
Всего голосов 86: ↑82 и ↓4+95
Комментарии100

Заставляем трансформеров отвечать на вопросы

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров5.7K

Привет, Хабр!

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

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

Что ответили трансформеры
Всего голосов 5: ↑5 и ↓0+5
Комментарии14

8 книг по PostgreSQL: от баз данных с «нуля» для самоучек до руководства про БД в облаках

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров61K

В целом, эта объектно-реляционная СУБД в дополнительном представлении не нуждается. Разработанная более 20 лет назад, она предназначена для создания и поддержки баз данных серверных приложений, в том числе ресурсоемких аналитических БД. Одна из особенностей PostgreSQL — открытый исходный код. Мы любим ее за развитое комьюнити и возможность развернуть «постгрю» самостоятельно и бесплатно.

Подготовили подборку полезных книг для тех, кто только начал или собирается работать с PostgreSQL. В нее вошли актуальные руководства на русском и английском языках. Если знаете еще одну-две отличных книги, смело рекомендуйте в комментариях.
Читать дальше →
Всего голосов 52: ↑50 и ↓2+62
Комментарии17

Всё о визах в Таиланд в 2023 году

Время на прочтение8 мин
Количество просмотров63K

От “А” до “Я” о визах в Таиланд: виды, стоимость, нюансы. 

Всем привет! Я – Женя, как-то я прилетела в отпуск в Таиланд и осталась тут жить. За это время я делала 3 визы и сейчас в процессе получения 4 – Elite visa. В статье расскажу обо всех тонкостях, связанных с получением

*Далее цены указываю в батах. Чтобы перевести в рубли, смело умножайте на два. Это более-менее точная цифра с учётом всех конвертаций.

Читать далее
Всего голосов 14: ↑7 и ↓7+3
Комментарии14

Как ускорить работу PostgreSQL

Время на прочтение10 мин
Количество просмотров22K

В статье рассказываем, как оптимизировать базу данных PostgreSQL на примере Linux на IBM Z. Опираясь на представленные примеры, вы шаг за шагом узнаете, какие опции и параметры конфигурации улучшат установку PostgreSQL с точки зрения:

Читать далее
Всего голосов 16: ↑15 и ↓1+17
Комментарии9

Полное руководство по модулю asyncio в Python. Часть 1

Время на прочтение11 мин
Количество просмотров134K

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

Перед вами — подробное и всестороннее руководство по использованию модуля asyncio в Python. В частности, здесь будут рассмотрены следующие основные вопросы:

Читать далее
Всего голосов 21: ↑19 и ↓2+27
Комментарии8

Дизайн уровней в Stray

Время на прочтение5 мин
Количество просмотров6.8K

Разработчикам Stray удалось сделать очень приятную игру, которая никогда не дает игроку заблудится по мере прохождения уровней. Все это благодаря прекрасной навигации и наглядности, построенной в игре. Давайте же разберем дизайн уровней в Stray.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии30

Я заменил КДПВ техноблога на изображения от DALL E 2. Вот что я узнал

Время на прочтение6 мин
Количество просмотров5.9K


Посты блогов с изображениями — это в 2,3 раза больше вовлечённости. Но проблема вот в чём — мы делаем движок запросов для потоковых таблиц. И как же выбирать изображения для технических тем?
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии16

Эволюция игрового фреймворка. Сервер на Python. Часть 1. Слои инфраструктуры

Время на прочтение22 мин
Количество просмотров3.7K

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

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

В качестве языка программирования выберем Python за его простоту и элегантность. Мы начнем в сокетов (asyncio), а закончим HTTP-сервером. Наша задача состоит в том, чтобы код логики не зависел от типа сервера и задействованных сетевых протоколов.

Читать далее
Рейтинг0
Комментарии1

Эволюция игрового фреймворка. Постановка проблемы

Время на прочтение6 мин
Количество просмотров6.4K

Скорость разработки и качество кода — вот, пожалуй, одно из главнейших противоречий IT-индустрии. Можно долго продумывать архитектуру приложения, потом ее совершенствовать, улучшать, а в итоге так ничего и не сделать. А можно быстро что-то сварганить, а потом и зарелизить, но из-за ошибок проектирования завести весь проект в тупик. На каждые два часа разработки, шесть часов будет уходить на поиск и исправление багов, в результате чего вся последующая разработка фактически застопорится.

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

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

Как тут быть, что поделать? Попробуем разобраться.

Читать далее
Всего голосов 5: ↑4 и ↓1+5
Комментарии24

Как мы подняли ретеншн третьего дня на 30% у североамериканских игроков в World of Tanks Blitz

Время на прочтение11 мин
Количество просмотров6.8K

Привет! В данной статье расскажу о том, как мы подняли ретеншн приблизительно на 30% на проекте World of Tanks Blitz на регионе NA (Северная Америка).

Сперва немного о себе и о нашей игре. Меня зовут Козловский Владимир. Работаю на должности Product Manager студии MS-1 Wargaming около 5 лет. Опыт в IT-сфере более 9 лет. В проекте World of Tanks Blitz специализируюсь на геймплейных фичах и внутриигровом онбординге новичков. WoT Blitz – это многопользовательский мобильный шутер 7х7 с танками, как реально существовавшими, так и вымышленными. Игра на рынке уже более 7 лет и представлена на iOS, Android, Windows10, MAC и Nintendo Switch.

Почему сфокусировались на NA регионе? 

Читать далее
Всего голосов 10: ↑7 и ↓3+5
Комментарии5

Моя первая NFT-коллекция на Solidity + Hardhat — «Сизифов Труд»

Время на прочтение6 мин
Количество просмотров28K

На момент написания статьи я работаю Frontend-разработчиком в VK (Delivery Club) на Vue и плавно перехожу на iOS-разработку. Уже около 4 лет считаю себя поверхностно приближенным к сфере крипты: участвовал в разработке P2P-платформы (BTC-обменника), изучал основы и идеологию, инвестировал, терял деньги на фьючерсах — все, как надо.

Однажды, по интернету стала расходиться новость о том, что 12-летний мальчик заработал ~$350,000 на коллекции программно-сгенерированных китов, состоящей из 3350 уникальных айтемов.

Так мне пришла мысль внести свою лепту. К тому же, как показывает практика, это потенциальный способ заработка в наше время :)

Читать далее
Всего голосов 32: ↑28 и ↓4+28
Комментарии50

Godot — рисование без правил

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров8.2K

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

Для начала представим такую тривиальную задачу: по клику мыши нужно рисовать некоторый примитив, который задает пользователь, например, нажатием клавиш. Звучит просто, однако с Godot это может вызвать головную боль.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии12

Генерирование полигональных карт для игр

Время на прочтение24 мин
Количество просмотров59K
Я хотел научиться генерировать интересные игровые карты, которые не обязательно были бы реалистичными, а также попробовать техники, с которыми раньше не работал. Обычно я создаю карты с другой структурой. Что можно сделать с тысячей полигонов вместо миллиона тайлов? Отчётливо различимые игроком области могут быть полезны для геймплея: местоположения городов, места квестов, территории для захвата или колонизации, ориентиры, точки поиска пути, зоны с разной сложностью и т.д. Я генерировал карты с помощью полигонов, а затем растеризировал их вот в такие карты:

image

Во многих процедурных генераторах карт, в том числе и некоторых моих предыдущих проектах, для генерирования карты высот используются функции шума (midpoint displacement, фракталы, diamond-square, шум Перлина и т.д.). Здесь я их не применял. Вместо неё я использовал структуру графов для моделирования элементов, определяемых ограничениями геймплея (высота, дороги, течение рек, места квестов, типы монстров) и функции шума для моделирования того, что не ограничивается геймплеем (форма побережья, расположение рек и деревьев).
Читать дальше →
Всего голосов 100: ↑99 и ↓1+98
Комментарии11
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность