Рубрика «социальные игры» - 2

Из говнокода в Highload. Используем ТАРАНtool. 5 рецептов повышения производительностиКо мне обратился один руководитель стартапа социальной игры с просьбой увеличить производительность своего проекта. На этом этапе был сделан и запущен прототип проекта. И надо отдать должное разработчикам, что проект работал и даже приносил какую-то прибыль. Но, запускать рекламную компанию не имело смысло, так как проект не выдерживал ни каких нагрузок. Валился MySQL (35% ошибок).

Код проекта… В общем у меня осталось впечатление, что писал его недоученный студент… И это, немотря на то, что уже был сделан частичный рефакторинг другим программистом. Единственное, что радовало, то это то, что не использовался какой-либо фреймворк. Конечно, это вечно флеймовый вопрос: Иисус или Магомед? Быть или не Быть? Unix или Windows? Использовать или не Использовать? ИМХО, Моё мнение: фреймворки заточены под узкий круг типовых задач. Социальный проект — задача, как правило, не типовая… Но, в целом, мне проект показался интересным и я решил взяться за улучшение. На этом вступление можно закончить…

Наверно, про повышение производительности и тему highload не писал только ленивый WEB разработчик, знающий хоть что-то в этой области. Принципиально, что-то нового, в данной статье вы не найдёте. Основные идеи разработки highload проектов, были мною изложены в цикле статей HighLoad. Три кита.. Если вам интересно, как я увеличил производительность PHP проекта, используя NoSQL хранилище tarantool, то Добро пожаловать под кат.

Хотя, принципиально можно использовать другое, подходящее под данный круг задач, key/value хранилище, и реализация серверной логики может быть на любом другом скриптовом языке.
Читать полностью »

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

“Неужели люди действительно тратят так много времени на видео-игры?” Да, мы действительно тратим.

(прим. переводчика: автор частенько повторяется, простим ему это)

65 статистик из мира мобильных игр, чтобы впечатлить друзей
(Примечание к фото: мы никогда не смотрим выше)
Читать полностью »

Всем привет!

Сегодня я хочу поделиться с вами решением задачи, с которой мы столкнулись при разработке социальной игры. Игровой клиент был написан на flash, а для back-end был выбран php. Игра относится к тайм-менеджмент играм.
Схема работы была выбрана следующая:

  1. игрок совершает действие на клиенте
  2. клиент проверяет возможность совершения действия
  3. отсылает команду на сервер
  4. сервер проверяет возможность совершения действия, выполняет команду, производя изменения в базе
  5. клиент уведомляется о том, что все ок или информируется об ошибке

Все работало отлично, пока не происходило резкое возрастание количества игроков.
Сначала начались тормоза со стороны php. Основная проблема данной реализации заключалась в том, что на каждое действие игрока дергается сервер, который производит довольно много вычислений по обсчету объектов на карте перед выполнением команды. Эта проблема была решена путем добавления дополнительных серверов с обработчиками php.
Потом мы уперлись в производительность mysql. Было слишком много запросов. Так как шардинг не был заложен в систему, то выкручивались как могли. Что-то перенесли в mongodb, где-то улучшили работу с кэшем.

Кстати, mongodb оказался не таким простым хранилищем, как может показаться на первый взгляд. Учитывая то, что у нас было включено шардирование и стояли правильные индексы, мы все равно словили там тормоза, с которыми не смогли разобраться на тот момент. Периодически просто высыпалась пачка запросов в log, которые вдруг затупили. Хотя через секунду те же запросы работали нормально при том же количестве запросов. Но это тема отдельного поста.

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

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

Доброго времени суток!
Хотим познакомить вас с нашим приложением «Монополия: Золотой Мешок», которое разработано для социальной сети «Вконтакте».
Вы можете его увидеть, перейдя по этой ссылке.
Игра в миллионера или история создания настольной игры для социальной сети
Читать полностью »

В студии «Финам FM» — Александр Амзин, основатель медиаконсалтинговой компании «Алекс и Алекс», и Гайдар Магдануров, управляющий директор Фонда посевного финансирования Microsoft. Вместе с ведущим, Максимом Спиридоновым, они говорят о том, что Facebook запустила инструмент для продвижения мобильных приложений, Amazon занялась созданием игр, а также о том, что Mail.ru Group впервые выплатит дивиденды своим акционерам.Читать полностью »

Всем привет. В этой статье я поделюсь с вами нашим опытом создания игродельничесского стартапа в Санкт-Петербурге.

Итак, началось все это 2 года назад, весной 2010 года.

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

Был взят за шкирку мой друг (также — программист-универсал) и было решено начать.

Как раз в тот момент я насмотрелся видеозаписей с КРИ / Флэшгамма и понял, что рынок социалок — это шанс. Было решено делать что-то социальное.
Читать полностью »

Всем привет! Мы подумали, вам будет интересно узнать о новом конкурсе для разработчиков игр. Nevosoft выступает в роли эксперта, а вот принять участие может любой, кто умеет делать игры. Организаторы: рекламная платформа HeyMoose! и компания по набору IT-персонала DigitalHR. Называется конкурс GamaK, и проходит он при поддержке Высшей Школы Экономики.

image

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

image12 апреля Facebook второй раз проведет в Москве свою традиционную встречу разработчиков Facebook Garage, на которой инженеры Facebook расскажут о том, как создавать или совершенствовать приложения для Facebook, интегрировать сайты с Facebook и использовать Open Graph.

Также на мероприятии свои кейсы представят российские партнеры Facebook, уже использующие новые возможности Open Graph на своих сайтах и в своих приложениях.

Важно: если вы собираетесь принять участие – не забудьте зарегистрироваться на сайте

Программа Facebook Garage:
Читать полностью »

Информационная безопасность / Diamond Dash, или как не надо защищать свои online приложения
Я не люблю играть и игры. Но меня всегда интересовало, как они работают и какие уязвимости имеют, что передают на сервер. Уже раньше на хабре были статьи на тему уязвимостей игры Diamond Dash,И снова Diamond DashНаписание макроса-бота для браузерной игры
Меня тоже заинтересовала эта игра, решил в ней разобраться.
Забегая вперед скажу, что в итоге исследования игры был написан скрипт, который может поднять рейтинг для любого(!!!) человека и игре, и для этого достаточно знать id этого человека в facebook.
Для успешной передачи данных на сервер необходимо помимо самих данных передать в пути POST запроса текушее абсолютное время и некуюЧитать полностью »


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