Архив за 11 ноября 2013 - 7

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

image

Поэтому следующие полтора года разработка прошла все стадии: концепт, поиск постоянных участников команды, разработка альфы, беты, релиз, поддержка — всё это время мы двигали разработку в нужном направлении, так или иначе решили все возникшие проблемы и… Игра «не выстрелила». Да, такое случается, игры не выстреливают гораздо чаще, чем наоборот. После того как я отвлёкся от бесконечных фиксов, планов на развитие, обсуждений с коллегами и прочих сотен неотложных вопросов, отошёл от проекта, послушал умных людей и попросту отдохнул — я понял, что этот опыт можно формализовать и даже поделиться с такими же независимыми разработчиками. Всех таковых, а также просто заинтересованных — жду под кат.

КПВД: текущее распределение проектов в геймдеве, одна Белоснежка и семь гномов.
Читать полностью »

Изучая методы реализации real-time обновления данных в браузере, я обнаружил "WAMP" — протокол прикладного уровня для обмена сообщениями, основанный на вебсокетах.
Протокол реализует два распространенных высокоуровневых шаблона для обмена данными: PubSub и RPC (Remote Procedure Call).

Эти шаблоны многим известны и широко применяются в различных областях программирования и межпроцессного взаимодействия:

  • RPC — удаленный вызов процедур. В процессе принимают участие клиент и сервер. Первый отправляет запросы на вызов процедуры на сервере, а второй их выполняет и отправляет результат клиенту. В типичном веб-приложении это может быть, например, запрос на создание комментария или на добавление поста в избранное
  • Publish/Subscribe (PubSub) — метод обмена сообщениями, в котором клиенты «подписываются» на интересующие их события и могут сами генерировать подобные события. Рассылкой информации подписчикам занимается третья сторона — «брокер». В WAMP шаблон PubSub реализован на основе «топиков», или каналов. Например, на сайте такими каналами могут быть «комментарии», «новости», «личные сообщения».

В контексте веб-разработки наиболее интересным вариантом применения протокола WAMP является использование шаблона PubSub. С его помощью можно легко решить задачу обновления информации на открытой у пользователя странице сайта: например, чтобы отобразить только что добавленный комментарий или показать уведомление о получении нового сообщения.
Реализация WAMP существует в виде библиотек под множество языков и платформ, включая, конечно, javascript в виде проекта autobahn.
Читать полностью »

Возникла тут задача, написать код на php, который принимает js-код и обфусцирует его по самое не балуй. После курения гугла и хабра я приступил к работе. Как и следовало, я начал того, что запустил консоль JS в хроме и начал пытаться получать строки из месива символов, вот что получилось (с пояснениями):

(![]+[])

«false»
[] — пустой массив
! — операция логическое НЕ, особенность js (и не только), в том, то при булевых операциях если операнд не является булевым типом и не равен 0 то он признается за true
То есть (![]) = false
+ — операция сложения и объединения строк, если оба операнда числа, то произойдет сложения, иначе это будет объединение строк с приведением типов. Кстати, тут есть особая магия типов, но это позже.
Читать полностью »

image

Привет! Хочу рассказать вам о небольшом сообществе junior-разработчиков в Алматы и своём пути junior-разработчика в Казахстанском вебе.
Читать полностью »

Привет!

Хочу рассказать о генераторе квестов, который я делаю для своей браузерной ZPG.

Автоматический генератор квестов

Несмотря на то, что вопрос автоматической генерации заданий в RPG достаточно древний, общедоступных работающих версий таких генераторов почти нет (скорее совсем нет), если не считать совсем примитивных вариантов. Работ по этой теме тоже не много, хотя, если активно гуглить, кое-что можно откопать. Поэтому надеюсь, что этот текст (и сам генератор, ссылка на репозиторий есть в конце статьи) будет полезен.
Читать полностью »

Рано или поздно многие приходят к тому, что необходимо подтверждать свои знания различного рода сертификатами. Это может быть как для статуса, так ввиду производственной необходимости. Данная статья является описанием того, что нужно для получения сертификатов Oracle.
Читать полностью »

Недавно, в процессе разработки клиентской части веб-приложения, возникла необходимость определять метки рекламной кампании, приведшей пользователя на сайт.

Изначально, задача показалась весьма линейной — посмотреть тут, потом там, взять что-то по приоритету и передать дальше. Но в процессе выяснилось, что некоторые метки могут появляться асинхронно, и, следовательно, их нужно уметь «ждать».

Усложнение задачи привело к желанию упростить код, участвующий в ее решении.

На примере решения такой задачи, данный пост пытается показать, как проектирование и over engineering может помочь вам в разработке гибких и легко изменяемых приложений.
Читать полностью »

На пяти экранах

В полку заблуждений начала века прибыло: интернет не убил телевидение, как блоги не смогли заменить СМИ — уровень контента, производимого телекомпаниями, недоступен для любителей, а само телевидение перешло в наступление и теперь осваивает Сеть, вместо того, чтобы бежать от неё как чёрт от ладана. Даже если ваш телевизор давно служит исключительно в роли подставки для фигурок нэцкэ в углу, вы можете смотреть новости, спортивные трансляции и любимые передачи в прямом эфире с телефона, планшета или компьютера — именно такие возможности предлагает сервис "MegaFon.TV". А ещё он позволяет брать напрокат фильмы, поддерживает мультиэкранность — и всё это оплачивается со счёта вашего мобильного «МегаФон».
Читать полностью »

image

Друзья! Немало среди нас предпринимателей, занимающихся в сфере торговли товарами и услугами. Для таких бизнесменов Госдума ввела ряд изменений в Федеральный закон №54, чем упростила применение контрольно-кассовой техники ряду ИП и организаций.

Под катом – разбор основных положений ФЗ-54, а так же примеры удобного его выполнения.

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

Со смартфоном Sony Xperia Z1 мы познакомились в сентябре на выставке IFA. Прослушав зажигательную презентацию Кадзуо Хираи, я как-то сразу решил, что следующим моим аппаратом на Android будет именно Z1. На тот момент в кармане уже несколько месяцев лежал Xperia Z, вызывая исключительно положительные ощущения, и его наследник казался естественной и желанной заменой. Тем более, что Sony улучшила в нем все, действительно заслуживающее улучшения.

Sony Xperia Z1: работа над ошибками по заявкам трудящихся

Смартфон довольно оперативно попал мне в руки, я регулярно стал им пользоваться, и чем дальше, тем короче становился текст статьи о Z1, складывающийся в голове. Не потому, что аппарат плох. Наоборот – он отличный. Но это не принципиально новая модель, а добротная работа над ошибками. Соответственно, к уже сказанному о Xperia Z остается добавить лишь несколько важных штрихов. И, конечно, заглянуть внутрь аппарата на предмет интересных особенностей конструкции.Читать полностью »


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