вторник, 31 января 2012 г.

Облака - это наше всё!

       В данный момент делаю ролик про облака. Хотя какой он к черту ролик. Длительность 34 минуты. Целый фильм. Снимал через иллюминатор самолёта. Первая моя работа, которая вызывает во мне такой дикий восторг. Кажется я очень сильно люблю облака.
Пока что фильм на стадии тестирования – надо просмотреть его полностью и выявить все косяки. Думаю в скором времени будет готов. Еще и название надо придумать...
А пока вот скриншоты:




Живые существа среди нас

Кажется у меня паранойя, господа.
Паранойя (греч. παράνοια) — психическое заболевание, связанное с недоверчивостью к окружающим и бредом преследования. (lurkmore.to/Паранойя)
 В многих вещах вижу что-то, что может угрожать моему здоровью. Ну или просто нечто живое.
Например:





Хотя этому еще можно найти объяснение...
А еще я пишу в блог, который никто не читает. И это сообщение никто никогда не прочтет.
Да, пожалуй я болен... Определенно!)

Обложка для "Rentgen - Грустные Дни... (Mixtape 2009)"

      Вспомнилось тут, что я как то раз делал обложку к одному альбому. Долго мучился пытаясь найти следы своей деятельности в сети и мне таки удалось это сделать.
Вот альбом: http://music.lib.ru/editors/p/potencial/alb7.shtml
Репера зовут RentGEN. Чуваки это рэпчик.  =)

Фотографию делал на балконе. В тот день очень красиво и причудливо замерзло окно.

Доктор Ёж


Не так давно участвовал в конкурсе, где надо было нарисовать ежа доктора и который бы как-то рекламировал капли для носа.
Первое что мне пришло на ум – разумеется доктор Хаус. Вот что у меня вышло. 


Особо ни на что не рассчитывал. И тут я получил несколько интересных и удивительных результатов:
  1. Оказывается существуют люди, которые станут пиарить твою работу среди своих друзей (в конкурсе для победы нужно было, чтобы люди отдавали свой "голос"). Очень приятно получить такую поддержку в такой ерундовой затее
  2. Судя по результатам еж получился таким каким я его задумывал и он очень понравился судьям
  3. Занял второе место и получил 10000р.
По условию конкурса напрямую деньги получить нельзя и надо выбрать приз в эквивалентной сумме. Выбрал объектив Canon EF-S 18-135 f/3.5-5.6 IS. Думаю приобрести свою первую зеркалку.

Не рискуй!

 Вспомнилась одна история, которую слышал от знакомого автомобилиста.  Прежде всего, хочу рассказать для тех, кому знак покажется неуместно депрессивным. Как-то раз  этот автомобилист нарушил, и его остановили сотрудники ДПС. В качестве профилактики показали ему некие записи.  Они были из домашних архивов разных людей (зачастую свадьбы).  Думаю понятно что было на видео. По словам автомобилиста это действительно сильно на него подействовало в лучшую сторону.

Моя картинка-решение к одному из заданий на youdo

Мона Лиза в моём "творчестве"

Недавно понял, что Мона Лиза в моём "творчестве" встречается аж 3 раза. 

«Мо́на Ли́за», она же «Джоко́нда»; (итал. Mona Lisa, La Giocondaфр. La Joconde), полное название — Портре́т госпожи́ Ли́зы дель Джоко́ндоитал. Ritratto di Monna Lisa del Giocondo) — картина Леонардо да Винчи, находящаяся в Лувре (ПарижФранция), одно из самых известных произведений живописи в мире[1][2], которое, как считается, является портретом Лизы Герардини, супруги торговца шёлком из Флоренции Франческо дель Джокондо, написанным около 15031505 года.

1. Мона Лиза карандашом


2. Мона Лиза в ролике про вегетарианцев


сам ролик:


3. Мона Лиза в Duke Nukem Forever

сам ролик:









Описание процесса разработки игры в нотации BPMN

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

Условные обозначения для моделирования бизнес-процессов (Business Process Modeling Notation, BPMN) — система условных обозначений (нотация) для моделирования бизнес-процессов. BPMN была разработана Business Process Management Initiative (BPMI) и поддерживается Object Management Group, после слияния организаций в 2005 году. Предыдущая версия BPMN — 1.2; последняя версия — 2.0.
Спецификация BPMN описывает условные обозначения для отображения бизнес-процессов в виде диаграмм бизнес-процессов (ДБП). BPMN ориентирована как на технических специалистов, так и на бизнес-пользователей. Для этого язык использует базовый набор интуитивно понятных элементов, которые позволяют определять сложные семантические конструкции. Кроме того, спецификация BPMN определяет, как диаграммы, описывающие бизнес-процесс, могут быть трансформированы в исполняемые модели на языке BPEL. Спецификация BPMN 2.0 так же является исполняемой и переносимой (т.е. процесс, нарисованный в одном редакторе от одного производителя может быть исполнен на движке бизнес-процессов совершенно другого производителя, при условии если они поддерживают BPMN 2.0).
Основная цель BPMN — создание стандартного набора условных обозначений, понятных всем бизнес-пользователям. Бизнес-пользователи включают в себя бизнес-аналитиков, создающих и улучшающих процессы, технических разработчиков, ответственных за реализацию процессов и менеджеров, следящих за процессами и управляющих ими. Следовательно, BPMN призвана служить связующим звеном между фазой дизайна бизнес-процесса и фазой его реализации.
В настоящий момент существует несколько конкурирующих стандартов для моделирования бизнес-процессов. Распространение BPMN поможет унифицировать способы представления базовых концепций бизнес-процессов (например, открытые и частные бизнес-процессы, хореографии), а также более сложные концепции (например, обработка исключительных ситуаций, компенсация транзакций).
Для разработки моделей BPMN воспользуемся онлайн сервисом signavio.com. Из основных возможностей стоит отметить: возможность создавать модели в нотации BPMN 1.2 и 2.0; хранение файлов на сервере; возможность открытого онлайн доступа к своим моделям. 
Как и в случае с моделью-проектом будет произведена декомпозиция всего процесса на его основные составные части. Для каждого под-процесса строится своя собственная BPMN модель и она описывает один завершённый процесс или несколько логически тесно связанных мини под-процессов. В каждой модели определяются действующие лица - роли, под каждую из которых выделяется пул. Взаимодействие между ролями происходит через систему сообщений. Это предполагает как непосредственное общение людей, так и использование всевозможных видов коммуникации с возможностью передачи данных. 
Моделирование в нотации BPMN как и любой метод имеет свои сильные и слабые стороны. 
К явному преимуществу стоит отнести очень подробное описание взаимодействие между коллективом, где действия каждого члена команды декларируются с точностью до сообщения. Это позволит выявить наиболее активно взаимодействующих членов команды, для более оптимальной организации их совместной работы. Также, несомненным плюсом является простота понимания моделей, которая скрывается за кажущейся нагроможденностью элементами.
В качестве недостатков можно отметить отсутствие оценки количественных показателей времени и как следствие невозможность оценить критерии качества – цена и время. Как ни странно, большая детализированность процесса для некоторых целей может оказаться излишней и даже вредной. Рассмотрим каждую BPMN модель более подробно.


Подготовка
В данной модели основными действующими лицами являются  роли технического директора и продюсера. Кроме них идёт тесное взаимодействие с остальными членами команды, поскольку они могут подать очень важные и оригинальные идеи.  Анализ бюджета и времени выполнения на данном этапе проводится весьма грубо. В результате согласования всех вопросов формируется документально оформленная идея и концепция игры – отправная точка к созданию дизайн-документа.

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

Разработка игры
Как уже отмечалось данный процесс основной в разработке игры. Здесь следует отметить следующие основные принципы:
в случае штата программистов и художников выделяют главного и подчинённых; однако это не значит, что главный художник или программист занимается лишь управлением – в маленьких компаниях это неприемлемое расточительство; это значит, что они работают на ряду с остальными коллегами и это подразумевает присутствие одной роли на двух дорожках пула;
все что делается подчинёнными проходит жёсткий контроль сперва лицом руководящим подчинёнными и потом и игровым дизайнером.
Стоит более подробно уделить внимание игровому дизайнеру. Этот человек как в процессе создания дизайн-документа, так и в процессе формирования самой игры играет ключевую роль гаранта того, что игра будет реализована в едином стиле, задуманном изначально и зафиксированном в дизайн-документа.  
Поскольку на данном этапе технический директор отсутствует и  задачи контроля процесса выполняет игровой дизайнер, то было бы удобно и выгодно совмещать эти обе роли в одном человеке. Помимо задач контроля качества, игровой дизайнер работает над созданием игровых элементов (например, уровней или интерфейса).
Результатом работы процесса является полностью готовый код, графические и звуковые ресурсы, игровые элементы. Однако все это пока находится в разделённом состоянии.



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




Процесс создания игры на Android

Аннотация: В посте представлена выдержка из моей расчетно графической работы.  Это будет цикл из двух статей. В данной статье мы будем рассматривать процесс создания относительно небольшой игры для, к примеру для,  ОС Android.  


Описание процесса
  Цель данного процесса – получить на «выходе» продукт наилучшим образом удовлетворяющий поставленным критериям оценки эффективности. В качестве критериев оценки эффективности процесса можно выделить следующее:
  • деньги – процесс должен потреблять минимум средств достаточных для успешного решения задачи;
  • время – процесс должен быть реализован как можно быстрее, поскольку это напрямую влияет на себестоимость проекта;
  • количество людей – спецификой разработки игр является то, что чем больше людей работает над проектом, тем сложнее контролировать его единообразие и соответствие первоначальной идеи – каждый участник проекта может видеть его по своему и стремиться внести свои коррективы; следовательно, чем меньше участников в проекте, тем качественнее продукт получится в итоге. 

Основные затраты в данном процессе заключаются в оплате труда сотрудников. Также некоторые задачи могут решаться через аутсорсинг, что также повлечёт финансовые затраты. 
В качестве мотивации сотрудников, помимо заработной платы в данном случае выступает творческая заинтересованность и некоторая творческая самореализация, что является спецификой разработки игр.
Процессу разработки предшествует процесс анализа потребностей рынка и оценки имеющихся продуктов. Как правило этим занимается продюсер – человек, который наиболее тонко чувствует все тенденции и потребности рынка. После этого начинается непосредственно процесс разработки игры.
Его можно условно разделить на 6 этапов.
1. Подготовительный этап - формируется цель проекта, окончательная оригинальная идея, которая будет конкурентоспособна на рынке.
2. Этап разработки дизайн-документа – на данном этапе формируется т.н. дизайн документ.
Дизайн-документ (ДД) – это подробный документ, описывающий концепцию и геймплей игры. Также он может содержать некоторые предварительные скетчи различных аспектов игры. Обычно дизайн-документ объединяет в себе все или большую часть материалов начального замысла. 
В общем виде дизайн-документ должен содержать следующие пункты:
  • схема игры;
  • интерфейс;
  • игровая механика;
  • графика;
  • звуки и музыка;
  • сюжет;
  • игровой мир;
  • сотрудники, зарплаты, сроки и план работы.

3. Разработка проекта – на данном этапе проводится основная часть работы по созданию игры. Этот этап является самым длительным и дорогостоящим. Именно на нем пишется основной код игры, разрабатывается графика, звуки и музыка. Разрабатывается необходимый инструментарий для гейм-дизайнеров, позволяющий ускорить процесс создания игровых элементов.  
4. Сборка и тестирование – на данном этапе все полученные части собираются воедино и тщательно тестируются в несколько этапов. Здесь можно выделить 3 шага:
  • собрать альфа-версию и провести  её тестирование; исправить выявленные ошибки;
  • собрать бета-версию и провести внутреннее и внешнее тестирование; исправить выявленные ошибки;
  • собрать финальную версию.


5. Подготовка к продвижению игры – подготовка и решение всех вопросов, необходимых для успешной раскрутки проекта. Данный этап не зависит от предыдущих и выполняется по готовности необходимых публикационных материалов.

6. Публикация проекта и его продвижение – финальный этап активно части проекта, успешная реализация которого значительно влияет на полученную прибыль.
К процессам-потребителям стоит отнести пассивную часть проекта. Поскольку  готовая игра публикуется в Android Market, то не требуется дополнительных  действий по созданию площадки для продажи или проведения переговоров с поставщиками. Android Market — магазин приложений, онлайн магазин-хранилище (онлайн-сервис) от Google, позволяющий владельцам мобильных устройств с операционной системой Android скачивать и покупать различные приложения. Тем не менее необходимо некоторое время поддерживать проект:
  • реагировать на сообщения об ошибках и выпускать патчи;
  • разрабатывать дополнения, которые позволят лишний раз напомнить о существовании данного продукта и привлечь новых покупателей.

В ряде случаев данный процесс будет невозможно описать в общем, и придётся внести некоторую конкретику. Мы будем рассматривать компанию средних (относительно прочих компаний в данной области) размеров  - от 10 до 15 человек. Средняя длительность разработки одного проекта – 6 месяцев. В рамках данной работы не будут учитываться некоторые факторы: не будет рассматриваться параллельная работа компании по поддержке уже существующих проектов; при моделировании не будут учитываться внештатные события, которые могут кардинально повлиять на развитие процесса.
Участники процесса
Разработка игры требует привлечения большого количества специалистов разных областей. Будем рассматривать каждого специалиста в качестве роли. При этом один человек может совмещать сразу несколько роле. Более того для маленькой компании по разработке игр не выгодно иметь в штате некоторых узкопрофильных специалистов. Рассмотрим основные роли необходимые для разработки игры.
Продюсер - специалист, который регулирует (или помогает регулировать) финансовые, административные, технологические или юридические аспекты деятельности, а также регулирует политику при выполнении проекта. Задача продюсера – ценность и востребованность продукта. Продюсера практически невозможно "выучить", его умения базируются исключительно на опыте, потому что задачи, которые он решает (самые важные из них), почти не поддаются формализации.
Игровой дизайнер (геймдизайнер, game designer) — человек, ответственный за игровой дизайн игрового проекта; одно из главных лиц игрового проекта, который не просто создаёт голую идею, но и задаёт вектор её реализации.
В задачи игрового дизайнера входит:
  1. проработка идейной основы игры; 
  2. составление концепции проекта; 
  3. составление, редактирование и дополнение дизайн-документа; 
  4. редактирование идейной основы игры при необходимости (например, желание продюсера или менеджера проекта внести изменения в концепцию игры); 
  5. незначительное координирование процесса разработки (указание верного направления в проработке игрового дизайна); 
  6. помощь в составлении технической спецификации игры (этим, обычно, занимаются главный программист и главный художник проекта).

Технический директор -  один из руководителей компании, отвечающий за её развитие и разработку новых продуктов; в его ведении обычно находится вся технологическая часть производства; он отвечает за качество кода и архитектурных решений (соблюдение стандартов, возможность повторного использования и т. д.) сразу на нескольких проектах.
В рамках данного  процесса именно технический директор является владельцем процесса – поскольку именно в его ответственность входит успешная реализация всего проекта. 
Программисты – отвечают непосредственно за написание всего продукта. 
Различают различных узкопрофильных программистов:
  • программист игровой механики — именно от него зависит, как игрок и сущности взаимодействуют друг с другом;
  • 3D-программист — от него зависит отображение мира на экране, поэтому от него требуются глубокие познания в векторной алгебре, численных методах, тригонометрии;
  • программист AI — требования к нему сильно размыты при переходе от одного к другому жанру; именно он предоставляет возможность дизайнеру уровней задавать через тригеры и скрипты ответ окружения, NPC на действия игрока
  • программист UI — создаёт пользовательский интерфейс;
  • программист инструментов (утилит), в т. ч. редактора уровней — именно он экономит основную часть времени художников и дизайнеров, делая более производительные редакторы моделей, уровней, тригеров, игровых параметров и прочего контента;
  • программист сетевого кода — создаёт сетевой движок игры для поддержки мультиплеера, кооператива и т.д.

Стоит отметить, что в небольших компаниях, подобно рассматриваемой, для всех вышеперечисленных ролей программиста используют 2-4 людей. Также выделят Ведущего программиста.
Ведущий программист -  программист, возглавляющий один или несколько проектов по разработке программного обеспечения, либо программист, имеющий определенный уровень подготовки, трудового стажа и соответствующий требованиям к образованию для получения данного статуса.
Разработчики графического контента и ассетов (художники)
Выделяют следующие направления и подклассы роли художника:
  • Арт директор. Как правило, это наиболее опытный член команды из занимавшихся созданием контента. Его задачей является контроль качества и времени исполнения;
  • 2D художник, основная задача которого состоит в создании двухмерных персонажей для соответствующих игр;
  • Концепт художник. Его задачей является отправить наброски на утверждение арт директору, чтобы впоследствии донести их идеи и виденье игры до всех остальных художников проекта;
  • 3D-моделер. В его задачи входят: создание 3D сетки моделей зданий, техники.
  • Художник спецэффектов.

Инженер по звуковым эффектам — человек, который ищет нужный звук в библиотеке, либо записывает новый с натуры, либо синтезирует подходящий из одного и более существующих; в небольших компаниях совмещает роль композитора — человека, создающего или синтезирующего музыкальное оформление для игры
Контроль качества (тестировщики)
Единственный способ убедиться в качестве игры — это поиграть в неё, в небольших компаниях; на начальных стадиях за качество отвечает линейный продюсер, в более крупных проектах обосабливаются следующие команды:
  • QA (контроль качества) команда издателя — как и все отслеживают дефекты в контенте и баги, как правило указывая при этом какие баги править в первую очередь, наиболее жестко из всех следят за тем, чтобы разработка укладывалась в график;
  • QA основная — внутренняя команда разработчика, оценивает одиночный режим игры;
  • QA мультиплеер — если игра будет позиционироваться как мультиплеерная, то создается отдельная команда, которая им занимается;
  • QA внешняя — профессиональные тестировщики аутсорсеры;
  • бетатестеры — это неоплачиваемые фанаты будущей игры, которые захвачены идеей ее улучшить еще до релиза; управляющий бетатестированием — как правило это линейный продюсер или сопродюсер, которому достается общение с фанатами.

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

Прогнозирование внешнего вида флага

Аннотация: В посте представлена выдержка из моей расчетно графической работы.  В данной статье рассмотрены результаты работы нейронной сети и вопрос "можно ли её использовать для прогнозирования внешнего вида флага по территориальным и этническим показателям?".        


Анализ данных — область математики и информатики, занимающаяся построением и исследованием наиболее общих математических методов и вычислительных алгоритмов извлечения знаний из экспериментальных (в широком смысле) данных; процесс исследования, фильтрации, преобразования и моделирования данных с целью извлечения полезной информации и принятия решений. 


Попробуем решить задачу прогнозирования внешнего вида флага по территориальным и этническим признакам. В выборке собраны данные по 194 странам. В ней отражается географическая принадлежность страны, численность населения и его этнические характеристики (основной язык и религия). Так де подробно описаны элементы флага страны (цвета, фигуры и прочие детали).
  • Предоставлю полный список параметров описывающих каждую страну:
  • Часть света: Европа, Азия, Северная Америка, Южная Америка, Австралия, Африка
  • Четверть планеты: северо-восток, северо-запад, юго-восток, юго-запад
  • Размер территории: 0 – бесконечности (в тыс. км2)
  • Численность населения: 0 – бесконечности (в миллионах человек)
  • Язык: английский, испанский, французский, немецкий, славянский, другой индоевропейский,  японский/турецкий/финский, другой
  • Основная религия: католицизм, прочие христианские, ислам,  буддизм, хинду, этническое, марксизм, другие
  • Количество полос-столбцов: 0 – бесконечности
  • Количество полос-строк: 0 – бесконечности
  • Количество цветов: 0 – бесконечности
  • Наличие цвета «красный»: да/нет
  • Наличие цвета «зелёный»: да/нет
  • Наличие цвета «синий»: да/нет
  • Наличие цвета «золотой»: да/нет
  • Наличие цвета «белый»: да/нет
  • Наличие цвета «чёрный»: да/нет
  • Наличие цвета «оранжевый» : да/нет
  • Основной цвет: красный, синий, зелёный, золотой, белый, чёрный, оранжевый 
  • Количество кругов: 0 – бесконечности
  • Количество крестов: 0 – бесконечности
  • Количество косых крестов
  • Наличие четвертей: да/нет
  • Наличие звёзд/солнца: да/нет
  • Наличие полумесяца: да/нет
  • Наличие треугольника: да/нет
  • Наличие иконки: да/нет
  • Наличие изображения «в движении» : да/нет
  • Наличие текста: да/нет
  • Цвет слева сверху: красный, синий, зелёный, золотой, белый, чёрный, оранжевый
  • Цвет снизу справа: красный, синий, зелёный, золотой, белый, чёрный, оранжевый
      Построим нейронную сеть средствами среды Deductor, которая на заданные входные значения территории и населения некоторого государства выдавала на выход параметры его флага. 
       Разделим исходную выборку на 2 подмножества: обучающее (95%) и тестовое (5%). Зададим один скрытый слой c 8 нейронами и зададим сигмоидальную функцию активации. В качестве активационной функции возьмём сигмоиду с крутизной 1. Пример будет считаться распознанным при значении ошибки меньше 0,05. Обучение будет считаться завершённым по достижению эпохи 10000.
       Среда Deductor позволяет в окне «что-если» поэкспериментировать с полученной моделью, подавая на вход значения параметров территории и населения и получить выходные параметры флага.  
Рассмотрим 5 гипотетических стран, которые могли бы существовать. Для каждой из них предоставлю краткое описание, параметры входа, параметры выхода, и предположительный флаг, нарисованный на основе выходных данных.
Африканский союз – страна, объединяющая весь Африканский континент.
Закрытое московское государствонебольшая страна в европейской части, закрытая для въезда. 


Независимая Сибирьстрана, объединяющая всю территорию Сибири, отделившуюся от европейской части России.


 
Суверенная Тасманиястрана на острове Тасмания, получившаяся в итоге отделения одноименного штата от Австралии.
Соединённые Штаты Европы -  страна образовавшаяся на руинах Европейского Союза и объединяет в себе все страны Европы.  


        Очевидно, что говорить о выявлении жёстких закономерностей между этими параметрами было бы глупо. Однако можно утверждать, что от местоположения страны, а значит и её соседей, и от населения страны могут зависеть некоторые детали и цвета флага. Так, по полученным флагам, можно проследить тенденцию появления звёзд при увеличении территории и численности населения (Соединённые Штаты Европы, Африканский Союз). Также при описании местоположения острова Тасмания был получен результат явно описывающий наличие на флаге четверти с изображением Британского флага.