Рубрика «Блог компании Wargaming» - 2

История взята из реального проекта. Но поскольку реальный проект слишком скучный (и под 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).
Читать полностью »

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

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

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

  • 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

Приятного просмотра!
Читать полностью »

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

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

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

Приятного просмотра!
Читать полностью »

Представьте, что у вас есть класс:

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 можно строить различные распределенные системы, например распределенный мьютекс, децентрализованные базы данных, биллинговые системы и другие подобные штуки. Все те, где на первом месте стоит надёжность и отказоустойчивость.
Читать полностью »

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

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

Читать полностью »

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

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

Erlang в Wargaming - 1
Читать полностью »

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

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

West Game Development Forum: Create, Share, Improve - 1
Читать полностью »

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

WG Labs объявляет конкурс разработчиков - 1
Читать полностью »

Опыт домашнего марсоходостроения - 1
Привет! Я работаю RnD-художником в минском центре разработки Wargaming. А в свободное время даю волю своей инженерной фантазии. В этой статье я хочу поделиться своим опытом домашнего марсоходостроения.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js