Как стать автором
Обновить

Компания ex-Wargaming временно не ведёт блог на Хабре

Сначала показывать

DataTalks #8: изучение пользователей

Время на прочтение3 мин
Количество просмотров5.3K
Всем привет! 25 ноября в Минске состоялась восьмая встреча белорусского сообщества аналитиков DataTalks. В этот раз речь шла о том, как исследовать покупателей/игроков/клиентов и на основе полученных данных делать выводы, полезные для бизнеса и пользователей. В этот раз встречу посетили более 200 участников из Беларуси и России.

Под катом вы найдете записи выступлений:

— «Как быстро и просто исследовать продукт с помощью пользователей?» — Софья Чебанова, руководитель лаборатории исследования пользовательского опыта Wargaming.
— «Как меняется покупатель?» — Валентин Соколовский, глава направления по работе с розницей Nielsen Belarus.
— «Удовлетворенность пользователей: от индивидуального мнения к бизнес-решению» — Ирина Малова, руководитель отдела исследований Wargaming; Андрей Ярмола, руководитель отдела Data Science Wargaming; Екатерина Яворская, специалист отдела исследований Wargaming.
— «Данные с человеческим лицом» — Амельков Александр, директор исследовательской компании Amelkov.by.
— «Medtech и кросс-дисциплинарные проекты на стыке IT и профессиональной медицины» — Роман Громов, сoоснователь и соинвестор проектов Ariadna (computer assisted surgery) & ARRM.IO (gesture recognition platforms for mobile platforms).
— «Мне не нужно мнение – я хочу знать, как ты себя поведешь: 10 способов улучшить интервью с пользователем» — Тамара Кулинкович, совладелец «Студии Сорокина и Кулинкович».


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

Python Meetup 14.11.2017: Python в Порту, Aiohttp и снова тесты

Время на прочтение1 мин
Количество просмотров5K
Всем привет! После долгого перерыва, блудная питоновка снова в деле! 14 ноября состаялась очередная встреча минского сообщества Python-разработичков Python Meetup. В этот раз доклады представили:

— Как я нечаянно стал главным по питону в Порту / Роман Иманкулов, Doist
— The test which will save your day / Иван Стяжкин, DataRobot
— Django и Aiohttp / Юлия Темушева, Wargaming
— Блицдоклад: распространенные ошибки программирования на Python / Юрий Красовский

Записи выступлений вы найдете под катом.


Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии1

Типографика и современный CSS

Время на прочтение3 мин
Количество просмотров23K
Типографика и CSS

Пока некоторые CSS свойства, отвечающие за разного рода красивости (вроде filter, mix-blend-mode или transition) привлекают внимание всех и каждого, другие совсем мало освещаются в интернете. Взять хотя бы свойства, отвечающие за типографику. Они весьма полезны и эффектны, но широко не известны. Давайте же исправим несправедливость и осветим то, что обычно остается в тени.
Всего голосов 19: ↑19 и ↓0+19
Комментарии32

Трансляция с геймдев-конференции 4C в Санкт-Петербурге. День второй

Время на прочтение1 мин
Количество просмотров3.5K
Продолжаем текстовую трансляцию с геймдев-конференции 4C в Санкт-Петербурге.

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии2

Трансляция с геймдев-конференции 4C в Санкт-Петербурге. День первый

Время на прочтение1 мин
Количество просмотров3.9K
Привет, Хабр! Мы ведем текстовую трансляцию с первого дня геймдев-конференции 4С в Петербурге. Сегодня поговорим о тонкостях разработки игр, работе с аудиторией, монетизации VR и многом другом. Присоединяйтесь!

День второй - текстовая трансляция.

Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии3

Как мы ловим Deadlock`и на PostgreSQL и чиним их

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

Предисловие


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

Всё это неизбежно приводит к дедлокам. Так вот, хочу вам поведать историю о том, как мы эти периодические проблемы держим в допустимых рамках.


Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии29

4C: Kyiv — конференция разработчиков видеоигр

Время на прочтение3 мин
Количество просмотров4.5K
23–24 сентября 2016 года состоится международная конференция разработчиков видеоигр 4C:Kyiv. Не важно, сколько проектов в портфолио вашей компании. Если вы живете играми — вам непременно следует посетить 4С: Kyiv.

4С: Kyiv — это два дня докладов и мастер-классов от 50+ экспертов игровой индустрии, выпустивших в релиз не одну легендарную игру. Участники услышат выступления Криса Тейлора (создателя Totall Anihilation), Чета Фалисзека (сценариста Half-Life и Portal), Рейнира Хардарсона (креативного директора EVE Online), Эрика Симонича (креативного директора Alan Wake и Evolve), а также других авторитетных разработчиков.

Подробности под катом.


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

PostgreSQL. Как правильно хранить котов или история одной миграции

Время на прочтение7 мин
Количество просмотров25K
История взята из реального проекта. Но поскольку реальный проект слишком скучный (и под NDA), в этой статье используется упрощенный пример.

Жил-был один проект. И была у него база данных. И была в базе таблица для хранения, ну, скажем, котов. Вот такая:
CREATE TABLE cats (
    id serial,
    cname varchar(20),
    ctype varchar(20),
    primary key(id)
);

Все довольно просто: у каждого кота есть id, имя и некий тип.

Конечно, у нас были бизнес-требования к котам и их типам. Например, мы точно знали, что у нас есть типы big furry, neko и sudden danger. Предполагали, что могут появиться типы long tail и sleeper-eater. Но мы ожидали, что требования будут меняться. И пока не известно, какие в итоге понадобятся типы. Поэтому использовали тип данных varchar(20).
Читать дальше →
Всего голосов 54: ↑51 и ↓3+48
Комментарии28

Лучшие выступления WGDF

Время на прочтение4 мин
Количество просмотров7.3K
Всем привет! Этой весной в Санкт-Петербурге состоялась West Game Development Forum — международная конференция, посвящённая разработке игр и всему, что с ней связано. Участники WGDF услышали более 40 докладов о разработке, геймдизайне, маркетинге, дизайне, юзабилити и тестировании в видеоиграх класса ААА. Своим опытом и знаниями поделились эксперты из компаний с мировым именем: Wargaming, Blizzard Entertainment, Rockstar Games, Remedy Entertainment, Unity Technologies, Autodesk и др.



И теперь мы бы хотели поделиться записями лучших докладов с хабровчанами. Под катом вы найдете выступления:
  • Blending Eastern and Western Development Cultures / Thaine Lyman / WoTs PC Executive Producer, Wargaming
  • Through the Grinder: Refining Diablo III's game systems / Wyatt Cheng / Technical Game Designer, Blizzard Entertainment
  • Five Questions to Ask Everyday: The fun-damentals of strong game design / Alexander Brazie / Game Design Consultant
  • Leadership Traits Your Company Should Have (and you can teach yourself!) / Keith Fuller / Leadership Consultant, Fuller Game Production
  • Мотивация и эмоциональные потребности игроков / Надежда Иванова / IXD Researcher, Wargaming
  • Разработка идей в условиях высокой неопределенности / Никита Денисов / Senior Game Designer, Wargaming


Приятного просмотра!
Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии0

Open WG Talk #3: Новые процессы и продуктовое управление

Время на прочтение1 мин
Количество просмотров6.5K
В минском офисе Wargaming регулярно проходят встречи, на которых сотрудники компании делятся опытом и обсуждают насущные вопросы, волнующие разработчиков, менеджеров, дизайнеров, продюсеров, художников – словом, всех тех, кто работает в IT и геймдеве. Эти митапы мы называем WG Talk и проводим в закрытом формате, только для сотрудников компании.
Но есть темы и знания, которыми нельзя не поделиться с широкой аудиторией. Поэтому мы организуем Open WG Talk.

Сегодня мы хотим поделиться с вами видеозаписями выступлений последнего Open WG Talk, темой которого стало продуктовое управление и внедрение новых процессов. Под катом вы найдете доклады Сергея Бережного, директора разработки Wargaming, и Ярополка Раша, руководителя медиасервисов Wargaming.



Приятного просмотра!
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии0

Python: строим распределенную систему c PySyncObj

Время на прочтение5 мин
Количество просмотров16K
Представьте, что у вас есть класс:
class MyCounter(object):
    def __init__(self):
        self.__counter = 0
    def incCounter(self):
        self.__counter += 1
    def getCounter(self):
        return self.__counter

И вы хотите сделать его распределённым. Просто наследуете его от SyncObj (передав ему список серверов, с которыми нужно синхронизироваться) и отмечаете декоратором @replicated все методы, которые изменяют внутреннее состояние класса:
class MyCounter(SyncObj):
    def __init__(self):
        super(MyCounter, self).__init__('serverA:4321', ['serverB:4321', 'serverC:4321'])
        self.__counter = 0
    @replicated
    def incCounter(self):
        self.__counter += 1
    def getCounter(self):
        return self.__counter

PySyncObj автоматически обеспечит репликацию вашего класса между серверами, отказоустойчивость (всё будет работать до тех пор, пока живо больше половины серверов), а также (при необходимости) асинхронный дамп содержимого на диск.
На базе PySyncObj можно строить различные распределенные системы, например распределенный мьютекс, децентрализованные базы данных, биллинговые системы и другие подобные штуки. Все те, где на первом месте стоит надёжность и отказоустойчивость.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии24

Грязные трюки мобильной разработки от J2ME до Android

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

Сколько помню разработку игр для мобилок, всегда приходилось изобретать какие-то ухищрения, чтобы все достойно работало. Сталкивались с этим 15 лет назад, когда писали игры еще под черно-белые телефоны, сталкиваемся и сейчас. Уверен, что огромный набор подобных трюков существует в разработке игр для десктопов и, тем более, консолей. Но я занимаюсь именно мобилками, поэтому речь пойдет о них.


Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии32

Мартовский Python Meetup: Python VS Erlang и возможности PostgreSQL

Время на прочтение1 мин
Количество просмотров12K
Всем привет!
После долгого перерыва блудный Python Meetup снова с нами. На долгожданной мартовской встрече сообщества любителей и профессионалов языка программирования Python обсуждались животрепещущие темы: противостояние Python и Erlang, а также дополнительные возможности PostgreSQL.
Видеозаписи выступлений под катом. Приятного просмотра!

Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии3

Erlang в Wargaming

Время на прочтение9 мин
Количество просмотров38K
Язык Erlang известен не очень широко, хотя это довольно интересная технология, очень сильная в своей нише. Последние несколько лет Erlang все чаще применяется в веб-разработке.

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

В компании Wargaming Erlang применяется более 3 лет. Есть около десятка разработчиков и несколько проектов, работающих под большими нагрузками. И в этой статье мы поделимся своим опытом и видением Erlang.


Читать дальше →
Всего голосов 52: ↑49 и ↓3+46
Комментарии155

West Game Development Forum: Create, Share, Improve

Время на прочтение1 мин
Количество просмотров4.1K
Компания Wargaming приглашает принять участие в крупнейшей конференции этой весны — West Game Development Forum 2016, которая состоится 22-23 апреля 2016 в Санкт-Петербурге!

West Game Development Forum — это крупная международная конференция, посвящённая разработке игр и всему, что с ней связано. Она состоится Санкт-Петербурге и объединит профессиональных разработчиков из разных стран и компаний, как ветеранов геймдева, так и молодых специалистов.


Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии1

WG Labs объявляет конкурс разработчиков

Время на прочтение2 мин
Количество просмотров9.2K
3 марта стартовал конкурс для разработчиков от WG Labs, призванный выявить новые таланты в сфере игровой индустрии.


Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии12

Опыт домашнего марсоходостроения

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

Привет Хабр! Я работаю RnD-художником в минском центре разработки Wargaming. А в свободное время даю волю своей инженерной фантазии. В этой статье я хочу поделиться своим опытом домашнего марсоходостроения.
Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии17

Несколько неочевидных frontend-хитростей

Время на прочтение4 мин
Количество просмотров92K
Под катом вы узнаете о том, как быстро и легко оформить взаимодействие с SVG-иконками, добавить плавный скролл с помощью одного CSS-правила, анимировать появление новых элементов на странице, переносить текст на новую строку с помощью CSS и о новых способах оформления декоративной линии текста.

wg css html
Читать дальше →
Всего голосов 42: ↑32 и ↓10+22
Комментарии68

Аналитика видео на YouTube: YouTube Analytics, Google Analytics и Google Tag Manager

Время на прочтение7 мин
Количество просмотров43K
Всем привет!

Меня зовут Женя Заремба. Пару месяцев назад я написал статью о продвижении видео на YouTube. Тогда я получил множество вопросов и в результате решил написать расширенный гайд по аналитике видео.

В этом материале мы поговорим о YouTube Analytics, преимуществах интеграции с Google Analytics, а также о дополнительных данных, которые можно получить, правильно настроив Google Tag Manager.


Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Data Driven Realtime Rule Engine в Wargaming: анализ данных. Часть 2

Время на прочтение4 мин
Количество просмотров13K
В первой части статьи мы рассказали, зачем нужна DDRRE, а также как и при помощи каких инструментов происходит сбор данных. Вторая часть статьи будет посвящена использованию полученного на первом этапе потока данных.
Напомним общую схему системы:

Блок RAW Data Collection описан в первой статье и представляет собой набор из standalone-адаптеров.
В основе следующих двух лежит параллельная потоковая обработка данных. В качестве фреймворка используется Spark Streaming. Почему именно он? Было решено, что стоит использовать единый дистрибутив Hadoop – Cloudera, который из коробки включает в себя Spark, HBase и Kafka. К тому же в компании на тот момент уже имелась экспертиза по Spark.
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии7