HTML5 на конференции Flash GAMM Kyiv 2012

Перед анонсом несколько слов о пользе мероприятия для разработчиков и спонсоров HTML5 игр.
Мы являемся медиапартнерами конференции и по нашей инициативе в рамках конференции анонсирован Game Speed Dating по HTML5. В течении часа у разработчиков будет возможность показать свои игры спонсорам и договориться о сотрудничестве. Подробнее по ссылке
Соберется достаточно большое сообщество HTML5 разработчиков и паблишеров. Присоединяйтесь ;)


Flash GAMM — это конференция разработчиков и издателейflash, социальных и мобильных игр. Самое продуктивное мероприятие игровой индустрии.
Дата: 8-9 декабря 2012
Место: Киев, гостиница «Русь»
Участники: 700+
Доклады: 30+
В этот раз программа будет очень насыщенная и предполагает разделение на несколько основных тематик:

«Technology & Development»

В этой секции вас ждут самые свежие новости от компании Adobe, которые представит евангелист Тибо Эмбер; Антон Волков из AlternativaPlatform в очередной раз выступит с незабываемым докладом; Олег Придюк из компании Unity приедет поведать о Unity Flash для гейм разработчиков; Иван Белый из Marmelade устроит мастер-класс, а так же вас ждет доклад о HTML5 фреймворке от компании True Token и многое другое.

«Mobile and Social»

Эта секция нас порадует зажигательным выступлениями Александра Егошина из компании Alawar (поверьте, им есть о чем рассказать), Максима Донских из Game Insight (построив собственную студию Road 404, теперь он занимается издательским направлением), по традиции Петр Харитонов организует Круглый стол (Павла Дурова не обещает, но говорит, что будет тоже очень круто). Также не обойдется без участия – Mail.ru, 6waves, SpilGames, FDG Entertainment и… пусть это будет интригой!

«Art & animation»

Впервые FlashGAMM решил уделить особое внимание графике и анимации, причем не только игровой, но и классической. Докладчиками выступят известные анимационные студии – ToonBox, ToonGuru, Animuba, также мы пригласили представителей классической школы анимации. И конечно же будут доклады по оптимизации и подготовки графики для социальных и мобильных игр.

«Indie Game Development»

Это специальная секция от инди разработчиков для инди разработчиков. В понятие «инди» мы вкладываем значение создания игры без денег, паблишера и инвестора. Разработка, гейм дизайн, самоспонсирование и конечно же инди круглый стол! Наша конференция одна из немногих, которая активно поддерживает инди движение!

«Usefull stuff»

Это рабочее название секции, куда попадут все доклады, которые не попали в другие категории. Здесь будет и виртуозный доклад по музыке в играх от StrategicMusic, и доклад от Мартины Спаанс из компании Gramble, и о психологии игроков, и о… Да что говорить, следите лучше за программой на сайте!

«Special Events»

Это специальные мероприятия, которые делают Flash GAMM особенным и непохожим на другие конференции.
  • Конкурс Игр Flash GAMM с огромным количеством номинаций и призов. Не забудьте добавить свою flash, social, mobile, html5 игру на конкурс!
  • Speed Game Dating – короткие и информативные встречи разработчиков и издателей. В этот раз будет разделен на четыре потока – Flash, Social, Mobile и новый HTML5.
  • Гейм-линч – дискуссионная панель, на которой эксперты гейм индустрии публично говорят о достоинствах и недостатках представленных игр. Много крови, детям не рекомендуется!: о)
  • Блиц-доклады – секция коротких докладов по 5 минут. Максимум интересной тезисной информации за минимум времени.
  • Стена вакансий. Ищите разработчиков и других специалистов на конференции? Разместите свою вакансию бесплатно!
  • Каталог разработчиков – это мини-справочник компаний, студий и инди-разработчиков, занимающихся разработкой и изданием игр. Добавление информации – бесплатное.
Возможно изощренная фантазия организаторов придумает что-то еще, но уже этих событий хватит, чтобы продуктивно и с пользой провести 2 дня незабываемой конференции.

Зарегистрироваться для участия в конференции и узнать более подробную информацию можно на официальном сайте www.flashgamm.com

Пусть вас не пугает декабрьская погода – теплый конференц-зал и бесплатный Wi-Fi мы гарантируем!

Всегда ваша,
Flash GAMM Team

О пользе асинхронности в пошаговых мобильных играх

Раздумываете о разработке многопользовательской игры? Не бросайтесь в омут с головой. Перед тем, как написать хотя бы одну строчку кода, вам необходимо принять множество решений, фокусируясь на одном вопросе: захотят ли пользователи играть в эту игру?
Прежде чем начинать разработку, подумайте о том, как вы хотите, чтоб пользователь взаимодействовал с вашим приложением. От этого во многом будет зависеть, получит ли пользователь удовольствие от процесса.

Как играют игроки

Многопользовательские игры можно поделить на две категории: синхронные и асинхронные. В синхронных играх все участники подключены к интерфейсу одновременно. Если игра пошаговая, им могут быть недоступны какие бы то ни было действия в конкретный момент, но они все равно будут привязаны к интерфейсу. В асинхронных играх пользователь использует игровую среду инкрементно; он выполняет все действия своего хода, после чего может выйти из пространства игры и вернуться после того, как противник сделает свой ход.
Ни в одной пошаговой игре два противника не могут действовать одновременно. Когда семья собирается за столом, играя в настольную игру, — это здорово, все общаются, вы можете наблюдать за игроком, чей ход сейчас, разговаривать с ним и наслаждаться игрой в реальном времени (синхронной).
«Постоянное вовлечение заставляет пользователей возвращаться к игре снова и снова — а разве не это главный признак хорошей игры?»

Мобильные игры vs. настолки

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

Мобильные игры: расширение горизонтов

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



Chicktionary Coop™ для iPad (запускается осенью 2012) – прекрасный пример мобильной асинхронной пошаговой игры, которая вдохновляет и развлекает юзеров.

Асинхронность + Мобильность = довольный юзер

На другой чаше весов — асинхронный геймплей, который идеально подходит для пошаговых игр на мобильной платформе. Нужно убить минут 10? Откройте свое любимое приложение и запустите игру. Поиграйте пару минут, сделайте свой ход, передайте ход партнеру и можете забыть об игре до тех пор, пока ход не вернется к вам. Вам не придется сидеть и ждать своей очереди, вы можете запросто переключиться на другую игру и сделать ход там. К тому времени ваш противник в первой игре может уже завершить свой ход, и вы сможете вернуться и продолжить.
Получаем непрерывный процесс с постоянным вовлечением – ни единой минуты пользователь не проводит в бесплодном ожидании, борясь с соблазном закрыть ваше приложение и потратить свое драгоценное свободное время на что-то другое. Ведь всегда можно найти что делать; есть и другие игры, и друзья в конце концов.

Снова и снова

Результат? Счастливый пользователь, который постоянно в игре и который, выключая телефон, чувствует, что не зря потратил свои свободные10 минут и полностью удовлетворен полученными впечатлениями.
Постоянное вовлечение заставляет пользователей возвращаться к игре снова и снова — а разве не это главный признак хорошей игры?

Источник

Седьмой ежегодный социально-мобильный форум Casual Connect состоится в Киеве в октябре



Что: Casual Connect Киев 2012
Когда: 24-26 октября 2012
Где: Гостиница РУСЬ, ул. Госпитальная, 4
Ожидаемое количество участников: 700
Сайт конференции: kyiv.casualconnect.org/index_russian.html
Регистрация: kyiv.casualconnect.org/registration_russian.html
Организаторы: Casual Games Association

Киев, Украина – 8 октября, 2012 – 24 — 26 октября в Киеве состоится седьмая крупнейшая на территории Восточной Европы конференция по социальным, мобильным и казуальным играм Casual Connect Киев 2012.
Конференцию посетят ведущие компании в сфере социальных, мобильных и казуальных игр из США и Европы, включая Big Fish Games, G5 Entertainment, Alawar, Rovio, wooga, 6waves,TinyCo, Square Enix и Game Insight.

Программа мероприятия включает шесть различных секций: Индустрия игр, Разработка, дизайн и операции, Мобильные тренды, Маркетинг и дистрибуция, Игры как сервис и Технологии и платформы.

Более 50-и лекций от экспертов в индустрии
Горячие темы, которые будут обсуждаться во время лекций на Casual Connect Киев:

Заработать деньги при помощи игр: это реально?
Доступная экосистема: Facebook в цифрах
Будущее игр на смартфонах и планшетах
Как найти инвесторов для вашей игровой компании
Игры с дополненной реальностью
Все о Free-to-Play играх!

Полная программа конференции: kyiv.casualconnect.org/content_russian.html

О конференциях Casual Connect
Конференции Casual Connect проводятся компанией Casual Games Association с 2006 года. Самые талантливые и осведомленные представители индустрии собираются на конференциях Casual Connect, где происходит обмен опытом и завязываются деловые контакты. Помимо киевской конференции, CGA проведет восьмой Casual Connect Europe в Гамбурге, Германия, в феврале 2013 г., и вторую по счету конференцию Casual Connect Asia в Сингапуре в мае 2013 г. Ежегодно более 5 500 профессионалов посещают конференции Casual Connect.

О Casual Games Association (Ассоциация Казуальных Игр)
Ассоциация Казуальных Игр – это международная профессиональная организация, целью которой является продвижение казуальных игр и предоставление информационных ресурсов для специалистов в области видеоигр. Ассоциация ежегодно проводит конференции в США, Киеве, Западной Европе и Азии; издает профессиональный журнал и доклады о состоянии рынка казуальных игр. Узнать больше об Ассоциации можно на сайте www.casualgamesassociation.org.

# # #
Контакт для прессы:
Юлия Вахрушева
yulia@casualconnect.org

Ejecta: мощная, открытая Javascript реализация канвасов и аудио для IOS

Ejecta – это родная оболочка для IOS с открытым исходником, содержащая специальный аппаратно-ускоряемый Canvas и родные аудио решения для переноса HTML5-игры в Эппловский App Store.

Реализованная Домиником Шаблевски (Dominic Szablewski), создателем Impact.js. Как результат его работы на iOSImpact, Ejecta является многоцелевым инструментом для работы с любым HTML5-движком.

Из сайта:
Ejecta – как браузер без браузера. Она специально создана для игр и анимации, не имеет ни дивов(DIVs), ни тэйблов (Tables), ни форм(Forms) — только Canvas и аудио элементы. Это и делает ее быстрой.

JavaScript код выполняется непосредственно на Javascript VM (JavaScriptCore), HTML5 Canvas API реализован на родном коде с использованием OpenGL, аудио осуществляется с OpenAL. Несколько других API (touch, акселерометр, LocalStorage) ведут себя аналогично как в реальном браузере.

Большинство HTML5-игр переносятся практически идеально или с минимальными модификациями — с более высокой производительностью, лучшей поддержкой звука, интеграцией с Game Center и пр.

Детали смотрим на видео ниже, а также на сайте. Код можно найти на GitHub.

Brainworth: игры, которые учат создавать HTML5-игры

Brainworth — это проект, который учит вас программированию HTML5-игр. Особенность в том, что обучение происходит в виде самой игры. Не правда ли, отличное решение для тех, кто собирается постичь секреты разработки HTML5-игр.
Цель Brainworth – охватить программу 13-недельного университетского курса, но в форме видео-игры. Команда проделала огромную работу над проектом, и уже есть целый ряд техно-демоверсий:

От команды Rockit: как строить Behavior Trees (деревья поведений)
От Batman: Изучаем искусственные нейронные сети
От Brainworth: Snakepit: Алгоритмы поиска путей (техно-демо требует базовых навыков Python)
Все подробности смотрите на видео ниже, а также на странице Kickstarter.

Почему Freemium завоевывает рынок мобильного контента



Одним из самих заметных трендов на рынке игр для мобильных телефонов является переход на Freemium. Отмеченная в 2011 году тенденция перехода на Freemium стала основной как для iOS, так и для Android App Stores. На примере легендарных Angry Birds, одновременно фигурирующих вTop5 Free Apps и занимающих 52 место по кассовым сборам, становится ясно, что бесплатные игры не только более популярны, но и приносят значительно больше денег. В подтверждение этого факта Natural Motion сообщили прессе, что CSR Racing принесли более 12 миллионов долларов в первый месяц как бесплатная игра премиум качества (ААА), что доказывает, что даже высокобюджетные проекты могут заработать больше, используя модель Freemium, чем выставляя эксклюзивную цену в $4.99 и выше.

Так почему же Freemium игры одновременно так привлекательны для потребителей и так прибыльны для игровых компаний?

1) «Бесплатно» освобождает от сомнений
Когда пользователь ищет игры в App Store, у вас есть очень ограниченное время, чтоб привлечь его внимание. Это и так достаточно сложно сделать, о чем свидетельствует, как популярность App Store Optimization, так и тот факт, что пост Hacking the App Stores до сих пор приносит существенный трафик, спустя год после публикации.

Если и без того непросто убедить пользователей загрузить бесплатное приложение, то зачем ставить дополнительные препятствия на пути к этому? Необходимость заплатить за игру даже 0.99$ заставляет людей принимать решение по поводу этой игры. Если человек поиграет однажды и больше не прикоснется к игре, он потеряет свои 0.99$, в то время, как если он скачает игру бесплатно, поиграет и бросит, он не потеряет ничего. Делая ваше приложение бесплатным, вы лишаете пользователя последних сомнений. А как только он уже в игре, вы можете убедить его, что она стоит того, чтоб за нее заплатили.

2) Пользователи чувствуют вовлеченность

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

Предоставление игрокам возможности играть до того, как они потратят на вашу игру какие бы то ни было деньги, может на самом деле увеличить сумму, которую они будут готовы потратить на игру. Это объясняется психологическим принципом, называемым когнитивный диссонанс. В контексте игры это значит, что вложенные в игру время и эмоции будут служить для игрока оправданием для покупки игры. Это неплохо, на самом деле это дает игроку ощущение контроля над тем, за что они считают стоит платить. Вместо того чтоб платить 60$ за принесшую разочарование консольную игру, пользователи могут устанавливать прайс сами, в зависимости от того, насколько для них ценны уникальные ощущения от игры, которую они уже любят.

3) Пользователи сами устанавливают цену
Когда вы продаете игру за 0.99$, 4.99$ или даже 30$ вы не только отпугиваете тех пользователей, которые, возможно, были бы готовы заплатить за вашу игру меньше, но и сбиваете цену для тех, кто мог бы заплатить больше. Более 50% дохода игр, реализованных по модели Freemium, идет от покупок за 20$ и больше и это соответствует от 13% всех транзакций! Более того, 5% от всех транзакций проходят на суммы более 50$ — неслыханная цена для мобильной игры. В итоге это дает среднюю цену за покупку 14$, что существенно выше, чем большинство пользователей захотели бы заплатить за то, чтоб попробовать новую игру.

Источник

Conclave на Kickstarter



Новости с Kickstarter. Сумма, необходимая для завершения разработки HTML5 игры «Conclave» собрана.

«Conclave» — MORPG на HTML5 по мотивам настольной игры D&D.; На ее создание вдохновили настольные игры, в которые обычно играют с компанией друзей. «Conclave» реализован как «Webtop» игра, то есть играть можно в любое время, в любом месте, как синхронно, так и асинхронно, при этом все, что вам нужно – это браузер.
Доступный для игры как с десктопа, так и с мобильного, «Конклав» являет собой отличный пример того, как HTML5 может способствовать продвижению игровой среды.



Подробности смотрите на видео ниже и на Kickstarter.

Игра доступна онлайн на playconclave.com
Источник: http://www.html5gamedevelopment.org

Ludei выпускает облачный компилятор



Ludei, создатели CooconJS and CAAT, аннонсировали релиз своего облачного компилятора.

Ludei Cloud Compiler позволяет вам компилировать игру на HTML5 в iOS и Google Play App Store, не нуждаясь в локальных инструментах или дополнительных программах.

После того, как игра запустилась на Ludei Launcher App для iOS или Android, ее можно без труда перевести в родное приложение для распространения через App Store. Компилятор будет бесплатным до 2013 года. Цены на 2013 год и дальше еще не объявлены.

Больше подробностей читайте в Ludei Blog

Источник: http://www.html5gamedevelopment.org

Amazon запускает подобие Game Center – GameCircle, добавляет рейтинги, достижения и облачную синхронизацию с играми Kindle Fire

Amazon укрепляет игровые возможности Kindle Fire, проанонсировав, что GameCircle API выходит из бэта-версии, давая возможность разработчикам Kindle Fire добавлять социальные функции и облачное сохранение в свои игры.

Подобно Game Centre от Apple, GameCircle API от Amazon дает возможность разработчикам добавлять достижения и глобальные рейтинги с процентильной величиной в свои игры. GameCircle также поддерживает облачную синхронизацию – функцию, которая позволяет пользователям возобновить игру с того же места, если они поменяли один Kindle Fire на другой, а также сохранить прогресс и достижения в игре, даже если они удалили приложение. В отличие от Apple Game Center, пользователи Kindle Fire пока не могут добавлять в друзья других юзеров через GameCircle. Inside Mobile Apps обратились к Amazon за дальнейшими разъяснениями.

Заявление подтверждает слухи, о которых заявил Bloomberg в прошлом месяце, где утверждается, что в ближайшее время в Kindle Fire появятся социальные функции. И хотя ход Amazon оставляет разработчиков Google Play единственной группой без доступа к платформе широкого социального игрового пласта, по многим слухам Google работает над своим сервисом, похожим на Game Center. Согласно заявлению Business Insider, версия Google также будет содержать рейтинги, достижения и френд-систему.



Источник: Inside Mobile Apps

ТОП-5 лучших практик по созданию HTML5 игр, в действии!

HTML5 замечателен, так как он универсальный: его можно использовать в абсолютно разных случаях. И что более важно, HTML5 вездесущ. Он есть на вашем ПК, в вашем телефоне, на вашем планшете – насколько мне известно, он может быть даже встроен в вашу кухонную технику.

Возьмем эти два свойства HTML5 – универсальность и повсеместность – и становится абсолютно ясно, почему так много разработчиков находят в нем вдохновение.И, как говорится в поговорке: «Когда разработчик вдохновлен, он пишет игры». (Ну или может я просто придумал это).

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

Что вы узнаете из этой статье? Я расскажу об игровых HTML5 фреймворках для разработчиков, как достигнуть более широкой аудитории, используя смартфоны и планшетные устройства, как необходимо управлять внутриигровыми компонентами, как справляться с проблемами производительности, и как максимально использовать платформу – ваш браузер.
Итак, без лишних предисловий, вот 5 лучших советов по производству HTML5 игр, в действии! («в действии» я добавил для большего драматического эффекта).

Совет №1: Используйте фреймворк

Писать простые игры на HTML5 просто, но когда вы повышаете ставки, вам необходимо делать конкретные вещи, чтобы ваша игра воспроизводилась плавно.
К примеру, когда вы используете много изображений, звуковых эффектов и других ресурсов, вашему браузеру понадобится какое-то время, чтобы загрузить все это с вашего веб-сервера. Вас ждут сюрпризы, если вы это не принимаете во внимание, когда пишете вашу игру. Из-за того, что изображения и звуковые файлы загружаются асинхронно, JavaScript будет начинать выполняться до того, как все ресурсы будут загружены. Это часто приводит к «выскакиванию» (картинки появляются посреди голубого экрана), а звуковые эффекты не проигрываются в то время, в которое должны были бы.
Хороший фикс для этого – создать прелоадер, который бы задерживал выполнение скрипта до тех пор, пока все ресурсы не будут загружены.

Другая проблема, с которой вы можете столкнуться, это то, что разные машины и/или браузеры будут проигрывать вашу игру с разной скоростью. И так как пока что с этим ничего нельзя поделать, вам все равно необходимо убедиться, что анимация и скорость движения не зависят от частоты кадров, с которой проигрывается ваша игра.
По сути, существует МНОГО шаблонного кода, который необходим в каждой игре, чтобы она работала должным образом.

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

Единственная оговорка – этих фреймворков существует достаточно много. Фреймворки типа ImpactJS, к примеру, созданы для того, чотбы помочь практически в каждом аспекте процесса разработки игр, в то время как фреймворк типа EaselJS фокусируется на графической стороне процесса. В конце концов, вам выбирать тот, с которым вам комфортнее всего работать. Может оказаться, что с этим не должно возникнуть никаких сложностей, но в мире JavaScript выбор фреймворка часто подразумевает выбор определенного стиля программирования.

1. ig.module( 
2.	'monster' 
3. )
4. .requires(
5.	'impact.game',
6. )
7. .defines(function(){
8.	
9. Monster = ig.Entity.extend({
10.	eyes: 42
11. });
12.	
13. });


Хорошим примером этому является ImpactJS, который не только предоставляет возможность объединения для отображения графики или проигрывания звуковых эффектов, но также представляет свои собственные объекты и модель наследования, как показано выше.



Ascend Arcade производят по 3 игры в течение 3 месяцев, используя фреймворк ImpactJS.

Хотя много HTML5 игр полагаются на фреймворки, многие разработчики до сих пор идут тернистыми дорогами, стараясь сделать все самим. И хотя это может быть отличным опытом, но если вы хотите создавать игры в разумных временных рамках, то использование фреймворка станет правильным решением. Хорошим примером этому служат работы Ascended Arcade, которые смогли выпустить 3 приятных (и в какой-то степени громко анонсируемых) игр всего за 3 месяца, используя фреймворк ImpactJS.

Совет №2: Принимайте во внимание небольшие тач-скрин устройства

Возможно, одним из самых убедительных аргументов в пользу HTML5 является то, что он работает на ПК, ноутбуках, планшетах и даже смартфонах (если вы не видели, как работает ИЕ9 на Windows Phone 7 Mango – смотрите видео).

Эта уникальная кросс-платформенность присуща HTML5 и часто требует от разработчиков немного дополнительной работы. Тем не менее, существует парочка моментов, которые вы должны учитывать…



SpyChase, запущенный на Windows Phone 7 Mango.

Прежде всего, размеры экрана могут значительно отличаться в зависимости от категории устройства, разрешения экрана и пропорций.

Если вы хотите, чтобы ваша HTML5 игра работала хорошо на моб устройствах, вам необходимо убедиться, что она у вас либо поддерживает несколько разрешений или же не превышает размер WVGA кадра 800х480.

Также, поскольку мобильным устройствам не хватает размера экрана, чтобы сразу отрендерить всю веб-страницу, они часто применяют сложные техники масштабирования и панорамы, которые могут быть преградой на пути к продуктивности во время написания игры. Это может быть отключено программно при помощи мета-тега viewport. Этот фрагмент кода поможет видимой области вашей игры занять все доступное горизонтальное пространство экрана. Установка параметра “user-scalable“ со значением “no“ говорит мобильному браузеру отключить пинч-масштабирование, которое в противном случае часто приводит к конфликту в играх, которые используют управление при помощи пальцев.

1.	<meta name="Viewport" 
2.	content="width=device-width; user-scaleable=no; initial-scale=1.0" />


Когда ваша игра уже нормально рендерится на устройствах с небольшими экранами, вам также следует выделить минутку и подумать насчет ввода текста. Большинство тач-девайсов имеют виртуальную клавиатуру, но они в основном занимают слишком много места на экране, чтобы быть полезными при контроле игровых персонажей. Если строго сенсорный ввод не обсуждается, то вам необходимо создать ограниченную виртуальную клавиатуру с теми кнопками, которые требуются для игры (например, кнопки со стрелками). Тем не менее, лучшее решение – быть креативным при выборе альтернативных способов контроля игр, которые не требуют дополнительных элементов на экране. Хороший пример тому – игра Spy Chase, где вы ведете машину при помощи одного пальца (что-то, что не стоит повторять в реальной жизни).

Совет №3: Автоматически запоминайте прогресс игрока.


С такими возможностями, как «пин» сайта, веб-браузер старается придать веб-приложениям такой же статус, как у обычных десктопных приложений. Тем не менее, идея работы сайта как приложения достаточно нова, как и понятие отслеживания клиентских состояний. Вы подумаете дважды, прежде чем закрыть открытый документ Microsoft Word, но вы можете быть не так осторожны с закрытием веб-странички. По большей части это – не проблема, большинство веб-страниц ведут учет ваших данных на сервере.

А браузерные игры же слегка отличаются. Поскольку JavaScript выполняется на стороне клиента, HTML5 игры обычно хранят состояние игры в переходной памяти (RAM). Закройте окно браузера, и ваши тяжко заработанные рекорды будут навсегда потеряны.

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

Если по сути: когда вы пишите HTML5 игру, то лучший совет – это сохранять прогресс игрока регулярно и позволять игроку при возвращении начинать игру с того места, где он закрыл ее в последний раз.

Так где же отслеживать прогресс игроков? В прошлом очевидными местами для хранения были либо серверная база даных либо клиентские cookies. Но ни одно из этих решений не является особо привлекательным. При серверном подходе, HTTP запрос должен идти всегда, когда информация должна быть сохранена или возвращена. Подход с cookies дает ограниченое место для работы и долговечность cookies очень зависит от настроек браузера.

Намного более работоспособным решением является хранилище HTML5 DOM. Хранилище DOM позволяет вам сохранять несколько мегабайт данных на 1 вебсайт при помощи интерфейса, который напоминает хранилище ключевых значений (или JavaScript объект expando). Это очень удобно, но в контексте HTML5 вы также можете захотеть запоминать сложные структурные данные, чего хранилище DOM не поддерживает.

К счастью, современное применение JavaScript имеет встроенные механизмы, которые позволяют совершать сериализацию объектов в компактную запись известную как JSON. Используя этот подход, хранилище DOM может также использоваться для запоминания произвольной информации. Следующие две вспомогательные функции иллюстрируют, как состояние игры может быть сохранено и возвращено, используя хранилище HTML5 DOM и особенности JSON, встроенные в ECMAScript5:

1.	function saveState(state) {
2.	window.localStorage.setItem("gameState", JSON.stringify(state));
3.	}
4.	
5.	function restoreState() {
6.	var state = window.localStorage.getItem("gameState");
7.	if (state) {
8.	return JSON.parse(state);
9.	} else {
10.	return null;
11.	 }
12.	}


Совет №4: Используйте профайлер

Одно из главных испытаний при разработке игры – поддерживать высокий фрейм рейт при добавлении все большего количества фич.

Хорошая новость состоит в том, что браузеры в целом стали намного быстрее в последние пару лет, и HTML5 игры, которые воспроизводятся с 60 FPS – это уже реальность.

Это было не просто. Для Internet Explorer 9 это означало написание полностью нового JavaScript движка, который может использовать многоядерные процессоры и полностью аппаратное ускорение рендеринга, основанное на Direct2D. Другими словами, если вы потратили большие деньги на ваше игровое оборудование, то Internet Explorer сможет его использовать с толком.



Интегрированный в IE9 JavaScript профайлер поможет вам определять проблемные места в производительности.

Для простых игр это означает, что вам не нужно беспокоиться о производительности. Но поскольку HTML5 – платформа агностиков, то потенциально вы будете вести разработку для целого ряда устройств и браузеров, не все из которых будут такими быстрыми, как вам бы хотелось. И даже если вы будете нацелены на высокопроизводительные ПК (то, чего мы делать не собираемся, помните?), то производительность все равно может стать камнем преткновения.

Если вы хотите, чтобы ваша игра воспроизводилась с 60 FPS, то у вас есть всего 16 миллисекунд на обработку отдельного кадра. За время, за которое вы успеваете моргнуть, вам необходимо рендерить как минимум 6 полных кадров. Это может показаться сложной задачей, и с нетривиальными играми именно так и будет.

К счастью, существуют инструменты, которые вам помогут. В Internet Explorer 9 (ну или если уже на то пошло, то и в 10), нажмите F12, чтобы открыть инструменты разработчика. Выберете вкладку «Профайлер» и нажмите «Начать профилирование».

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

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



Игры становятся социальными: Warimals – игра основанная на HTML5, которая позволяет вам играть вместе с вашими Facebook друзьями.

Совет №5: Будьте творческими!

Иметь возможность писать игры, которые изначально работают в браузере – это круто, но еще круче то, что HTML5 позволяет вам писать игры, которые РАБОТАЮТ В ВАШЕМ БРАУЗЕРЕ! Не только HTML5 интересен с точки зрения технологии, но и сам браузер также является прекрасной платформой для игр.

Подумайте об этом…браузер существует на многих разнообразных устройствах, они (почти) всегда в онлайне, и они являются инструментом, который люди используют для связи друг с другом при помощи имейлов, чатов и социальных сетей. Как разработчик браузерных игр, вы можете создавать игры, которые являются фановыми, и которые объединяют людей со всего мира.

Если вы новичек в разработке HTML5 игр, вам вероятно захочется написать клоны игр, в которые вы играли в оффлайне. В этом подходе нет абсолютно ничего неправильного. Но если подумать о том, что ваша игра может идти внутри «коммуникационного приложения», то велик шанс того, чот вы в итоге прийдете к новым креативным игровым идеям. Интересным примером может служить игра Warimals, одна из первых HTML5 игр для Facebook. В Warimals вы можете играть за собак или котов, можете приглашать ваших друзей из Facebook для совместной игры. Как это может не понравиться?

И напоследок…

Благодаря хорошей работе разработчиков и пионеров JavaScript, HTML5 уже стал достаточно зрелой платформой для написания игр. Это отличные новости, так как Веб является единственной вездесущей платформой для приложений разного рода. При помощи правильных инструментов (многие из которых удобно интегрированы в Internet Explorer 9 и 10 или могут быть скачаны бесплатно) и правильных фреймворков, опыт разработки HTML5 игр может быть приятным и вознаградится сполна, особенно работая в сферах со смежным опытом с интересными и инновативными подходом.

Инструменты для старта:

  • Красивые HTML5 кейсы
  • Учим HTML5
  • ImpactJS – игровой HTML5 движок
  • EaselJS – игровой HTML5 движок
  • Загрузите предпросмотр платформы IE10

Об авторе:

Kai Jäger – веб-девелопер со стажем, JavaScript энтузиаст, автор книг и теперь разработчик-евангелист в Microsoft в Германии. Когда он не говорит со студентами о добродетелях HTML5, он работает над своими проектами или же наслаждается прекрасными видами Баварии.

Источник:
http://msdn.microsoft.com/en-us/hh563503.aspx