Мобильный free-to-play уже практически не обходится без использования социальных сетей в играх. Социальные сети обеспечивают то, что называют виральностью (от англ. viral – вирусный, т.е. способный распространяться как вирус, от одного человека к другому), что позволяет привлекать новых игроков с минимальными затратами. В данной статье мы поделимся опытом интеграции Facebook в игры Alawar на платформе iOS.
Читать полностью »
Рубрика «Блог компании «Alawar Entertainment»»
Интеграция Facebook SDK (iOS) в мобильные free-to-play игры
2014-02-28 в 10:53, admin, рубрики: Facebook, free-to-play, game development, iOS, Блог компании «Alawar Entertainment», разработка под iOS, метки: Facebook, free-to-play, iOSСобираем и анализируем статистику в мобильных приложениях
2014-01-28 в 7:09, admin, рубрики: game development, splunk, Блог компании «Alawar Entertainment», Статистика в IT, метки: splunk В нашем блоге мы уже публиковали ряд статей о статистике в играх, в них мы рассказывали, в основном, о ключевых показателях и метриках и о том, какие на рынке есть инструменты для аналитиков.
А в сегодняшней статье мы хотим поделиться опытом построения непосредственно технических инструментов по сбору и обработке статистической информации для мобильных игр.
Читать полностью »
Continuous Delivery hecho en Alawar
2013-11-15 в 8:18, admin, рубрики: continuous delivery, continuous integration, php, Блог компании «Alawar Entertainment», Веб-разработка, метки: continuous delivery, continuous integration, PHPОколо года назад перед нашей командой была поставлена задача стартовать разработку серверных частей ряда игровых MMO проектов. Специфика такого рода проектов помимо требований к гибкости, стабильности и масштабируемости также включает в себя:
- необходимость A/B-тестирования разных версий одной и той же игры
- возможность по максимуму переиспользовать функционал от одной игры в другой
- высокую вероятность географической удаленности от разработчиков занимающихся клиентским функционалом
Более того, в дальнейшем нашу команду предполагалось расширить, возможно за счет аутсорс разработчиков, в том числе и для задач поддержки. В этих условиях для успешной реализации было решено наравне с версионированием проектов, пакетированием и стандартизацией ряда шагов разработки внедрить и практику continuous delivery.
Цель данной статьи – рассказать о проделанных шагах, принятых решениях и описать полученный результат.
Пять проблем при разработке мобильных free-to-play игр
2013-09-06 в 9:10, admin, рубрики: client-server, cross-platform, free-to-play, game development, mobile development, Блог компании «Alawar Entertainment», метки: client-server, cross-platform, free-to-play Не секрет, что в последнее время кроссплатформенные мобильные free-to-play игры стали основным направлением деятельности большого числа игровых компаний. В этой статье мы не будем говорить ни о причинах, которые к этому привели, ни о перспективах данного направления. Компании изменили свои бизнес-модели, начертили схемы монетизации и игровых циклов, помолились на SCRUM и Agile, однако в статье речь пойдет и не про это. Игры по-прежнему нужно делать качественно, нужно правильно выбирать технологии, нужно понимать, что ждать от загадочного free-to-play и с чем придется столкнуться. В этой статье мы рассмотрим 5 наиболее важных технологических проблем, возникающих при создании кроссплатформенных мобильных free-to-play игр.
Читать полностью »
Unigine Open Air 2013. Как это было (взгляд одного разраба)
2013-07-22 в 13:47, admin, рубрики: 3d графика, alawar, game development, Gamedev, open air, unigine, Блог компании «Alawar Entertainment», разработка, метки: 3d графика, alawar, Gamedev, open air, unigine
Всем привет!
На прошедших выходных под Томском прошла одна из самых необычных IT-конференций, на которых мне удалось побывать.
Если вы не видите себя без общения с себе подобными, любите отдых, палатки, ночной кодинг шейдеров, игровые движки, C++ хардкор оптимизацию, игры, задушевные разговоры о LLVM и Flash под раскаты грома, красивых девушек в купальниках, способных собрать билд на 7 платформ в один клик — велкам под кат, там про то, как это было.
Читать полностью »
Структура конфигов на сайтах Алавар
2013-07-12 в 12:15, admin, рубрики: phing, php, yii, Блог компании «Alawar Entertainment», метки: phing, PHP, yii Всем привет!
Сайты Alawar — это сайты для русского, американского, европейских и других рынков, отдельные сайты для mobile-устройств, сайты партнерских программ и др. Все они развернуты на одном инстансе Yii, о чем мы уже писали в нашем блоге на хабре.
Сегодня я расскажу, как мы организовали хранение, структуру и управление конфигами наших сайтов, какие при этом получили преимущества. А также поведаю, как осуществляется деплой нашего проекта в различных окружениях.
Динамические примеси в PHP
2013-07-10 в 10:29, admin, рубрики: php, Блог компании «Alawar Entertainment», проектирование взаимодействия, Проектирование и рефакторинг, метки: PHP, проектирование взаимодействияНачиная с версии 5.4.0, в PHP появится новая конструкция языка — трейты (traits), реализующая возможность использования примеси (mix in). Механизм примесей является еще одним механизмом повторного использования кода и присутствует в том или ином виде в других языках, например, Ruby, Python, Common Lisp, etc.
Примеси позволяют использовать существующий код при реализации поведения классов, избегая при этом многих проблем множественного наследования. Взаимодействующие друг с другом примеси, объединенные в отдельные программные библиотеки, представляют собой очень мощный инструмент при реализации сложной логики.
Следует отметить, что реализации примесей в PHP существуют как минимум с версии 4.0.1, и в настоящее время присутствуют, чаще всего под именем behavior, в ряде популярных фреймворков, например, в Yii, Symfony, Doctrine, CakePhp, Propel.
Цель статьи — продемонстрировать и сравнить несколько основных подходов к реализации примесей в PHP до версии 5.4.0, базирующихся только лишь на функциях самого языка и не использующих сторонние расширения, как-то, например, функцию runkit_method_copy из PECL runkit.
Читать полностью »
Кластерное хранилище в Proxmox. Часть третья. Нюансы
2013-04-30 в 7:50, admin, рубрики: cluster, gfs2, iscsi, openvz, proxmox, Блог компании «Alawar Entertainment», виртуализация, системное администрирование, метки: cluster, gfs2, iscsi, openvz, proxmoxЗдравствуйте!
Третья часть статьи является своеобразным приложением к двум предыдущим, в которых я рассказывал о работе с Proxmox-кластером. В этой части я опишу проблемы, с которыми мы сталкивались в работе с Proxmox, и их решения.
Авторизованное подключение к iSCSI
Если вам понадобилось при подключении к iSCSI указать креденшиалы — лучше это делать в обход Proxmox. Почему?
- Во-первых, потому что через web-интерфейс Proxmox невозможно создать авторизованное iSCSI-подключение.
- Во-вторых, даже если вы решите создать в Proxmox неавторизованное подключение с тем, чтобы указать авторизационную информацию вручную, то вам придется бодаться с системой за возможность изменить конфигурационные файлы таргетов, так как при неудачной попытке подключения к iSCSI-хосту Proxmox перезаписывает информацию о таргетах и производит повторную попытку подключения.
Использование ActiveRecord от Yii в игре тайм менеджере
2013-04-18 в 9:44, admin, рубрики: activerecord, php, yii, Блог компании «Alawar Entertainment», метки: activerecord, PHP, yiiВсем привет!
Сегодня я хочу вам рассказать, как была реализована работа с кэшем в социальное игре тайм менеджере. Можете считать эту статью продолжением вот этой.
Напомню, что в проекте используется php(Yii), mysql и memcached. В проекте достаточно много сущностей, для каждой из которой есть своя модель, которая наследуется от CActiveRecord.
Хранятся файлы моделей следующим образом. В папке models создаем папку base. Когда генерируем модель через Gii, то указываем, что ее нужно положить в папку models/base и к имени класса добавляем Base. Затем создаем в models аналогичный класс без Base, который наследуется от базового класса и имеет в себе лишь метод model().
Кстати заранее скажу, что базовые модели наследуем не от CActiveRecord, а от ExtActiveRecord — расширяем CActiveRecord под наши нужды. Но об этом позже. Пока что разницы никакой.
Пример:
models/base/BaseUser.php — стандартный класс, который генерируется через Gii
models/User.php — класс, который наследуется от BaseUser и имеет в себе метод model()/** * Returns the static model of the specified AR class. * @param string $className active record class name. * @return User the static model class */ public static function model($className=__CLASS__) { return parent::model($className); }
Данная схема используется для того, чтобы в случае повторной генерации файла модели не потерять свой код и просто не забивать пространство стандартными кодом от Yii.
Не забываем добавить в конфиге 'application.models.base.*'.
Перейдем собственно к теме поста и поставим задачи, которые хотим решить:
- Уменьшить количество запросов в базу на обновление
- Уменьшить количество запросов в базу на выборку
Alawar Engine. Часть третья. Создаем игру на демо-версии движка
2013-03-29 в 4:50, admin, рубрики: alawar entertainment, game development, game engine, Блог компании «Alawar Entertainment», метки: alawar entertainment, game development, game engineВсем привет. Вот и подошла очередь нашей очередной статьи. В первой мы познакомили вас с рабочими процессами нашей студии и вскользь упомянули тулзы, которыми мы пользуемся при создании игр. Вторая статья была посвящена кроссплатформенности движка Alawar Engine и предназначалась во многом для тех, кто уже сталкивался с подобными вопросами в своей работе. К слову о кроссплатформенности – 13 марта вышла наша игра для PlayStation 3, которую мы впервые создали на движке Alawar Engine. Помимо кроссплатформенности движок поддерживает и мультижанровость, так уже были выпущены игры в таких жанрах как: арканоид Hyperballoid 2, match-3 The Treasures of Montezuma 2, аркада Space Op (iOS), готовится к выпуску тайм менеджер из серии «Веселая ферма».
В третьей статье мы подробнее остановимся на процессе создания игры. Вашему вниманию представляется демо-версия движка Alawar Engine, а данная статья будет служить своего рода инструкцией по работе с ним.
Читать полностью »