Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры...

Post on 14-Nov-2014

4,491 views 2 download

Tags:

description

- Разница между браузерными и мобильными играми: средства ввода и условия использования- Средства разработки, предоставляемые создателями мобильных платформ- Анализ движков на мобильных платформах. Преимущества и недостатки существующих на рынке движков- Почему мы остановились на Corona: перенос графики из Flash в Corona, средства (JSFL, приложение на AIR), экспорт анимированных объектов и кукольных персонажей- Изменения в дизайне игры: мини-игры, айфонизация интерфейса и игрового процесса- Подводные камни в разработке: In-App purchases, отсутствие доступа к нативному API, компиляция и запуск на различных устройствах- Платежи на мобильных платформах

transcript

Flash to Mobile. Портирование Flash-игры на мобильные платформы

Илья Бубер. Руководитель проектов, Progrestar Inc.www.progrestar.comTwitter: @Progrestar

Flash-Игра Копай

Исследуй

острова

Собирай

коллекции

Собирай

команду с

друзьями

Копай в Соц. Сетях

6 млн довольных

пользователей из СНГ, Европы и

Мира

Миллионы собранных

коллекций

Тысячи сломанных от

бесконечного кликанья мышек.

Зачем мы этим занимались?

2010 2011 2012 20150

100

200

300

400

500

600

700

800 Smartphone vs PC sales, mil-lions

Smartphone PCСтатистика Gart-ner

Часть 1. Выбираем Framework

Часть 1. Выбираем FrameworkОбзор iTorque2D

WYSIWYG редактор Простой скриптовый

язык Исходники Возможность

компиляции под PC/Mac

Плюсы

Немного успешных iOS приложений Редкие обновления Умирающее

коммьюнити

Недостатки

Часть 1. Выбираем FrameworkiTorque2D – Зачем его можно

использовать?

Для платформеров Для людей, плохо

владеющих программированием Если собираетесь

выпускать десктоп-версию

http://www.garagegames.com/products/torque-2d/iphoneИскать тут:

Часть 1. Выбираем Frameworkcocos2D

Бесплатный Open Source Огромное

количество успешных игр Нативный симулятор Огромное

коммьюнити

Плюсы Отсутствие Android Objective C – не самый

легкий язык для AS3-разработчика Продались Zynga

Недостатки

Часть 1. Выбираем Frameworkcocos2D – Для чего подходит?

Идеально для инди-разработчиков Если не испытываете

проблем с низкоуровневым Objective C Лучший выбор для iOS

http://www.cocos2d-iphone.org/Искать тут:

Часть 1. Выбираем FrameworkAnsca Corona

Компиляция под Android LUA Ежедневные

обновления Тех. поддержка и

коммьюнити

Плюсы

Невозможность подключать нативные плагины Компиляция на

сервере Corona Не всегда

адекватно работающий симулятор

Недостатки

Часть 1. Выбираем FrameworkА нужен ли Android?

400.000 активаций в день

Нет проблем с попадением в Market (быстрый аппрув)

Слабая конкуренция 4.5 млрд скачанных

приложений Появились In-App

Purchases

Часть 1. Выбираем Framework

И побеждает….

http://www.anscamobile.com/corona/Искать тут:

Часть 2. Экспорт ассетовВ двух словах об экспорте

SWF

AW

ES

OM

E M

AG

ICPNG• X, Y• Точки трансформации• Motion tweensMETA-DATA

Часть 2. Экспорт ассетовЭкспорт с помощью JavaScript Flash API

MegaMonsters.flaHeroes.fla

Islands.fla

JavaScrip

t

Fla

sh A

PI

Library

SuperDudeFolder

SeaTurtle

MagicMushroom

CrazyPirate

SA

VE

Часть 2. Экспорт ассетовВыдираем ассеты с помощью AIR-

приложения

location_1.swf

ImagesMETA-Data

Часть 2. Экспорт ассетовАнимации в Sprite Sheets

Выделение памяти в степенях

2

(600x600 такой же размер как

1024x1024)

1024x1024 – Макс. Размер

(некоторые девайсы могут

2048x2048)

Оптимизируем Sprite Sheet’ы

Zwoptex’ом

Sprite Sheet

http://zwoptexapp.com/

Часть 2. Экспорт ассетовЭкспорт переодеваемых персонажей

Части тела (PNG)

Одежда и черты

лица

Origins (X,Y)

Точки трансформации

(X,Y)

Motion Tweens

Вычисляем

абсолютные X,Y для

каждой одетой части.

Персонаж

Анимация

Часть 3. Game DesignВзаимодействие с игрой

Часть 3. Game DesignПолностью переверстанный

интерфейс

Часть 3. Game DesignОптимизация под TouchScreen

Часть 3. Game DesignМини-игры

Мини-игры для TouchScreen’ов

Усложняется со

временем (до 9 рун)

Быстрое принятие

решений

Энергия в награду

Точность важнее

скорости

Необходимо для

прохождения игры

Контуры усложняются

с прогрессом игрока

Часть 3. Game DesignИзмененные Социальные Механики

Карта Друзей

Добавление по User

Code’у

Бонус за приглашение

друзей через FacebookFriend Code выдается

каждому игроку при

регистрации. Если друг

введет у себя твой код,

вы оба получите

СтарМани

Часть 3. Game DesignИзбавление от ненужных Социальных

Механик

Часть 3. Game DesignУпрощение игры

Прохождение карт по очереди

Одни и те же

коллекции

Инструменты даны сразу

Часть 3. Game DesignВолшебные Рубины

Волшебные Рубины – основной способ улучшать

характеристики своего персонажа

Можно добыть только собирая коллекции

полностью

Не продаются за деньги

Часть 3. Game DesignЭкшен-Бар

Побуждает игрока активно взаимодействовать с

экраном девайса

Уменьшает зависимость доходов от удачи

Вызывает позитивные эмоции у игроков

Дополнительный стимул тратить СтарМани на

открытие препятствий

Часть 3. Game DesignGambling

Вместо производства расходников,

их можно теперь выиграть у Пьяного

Торговца

Слова вместо скобок

Часть 3. ПрограммированиеLUA для Flash-разработчика

Таблицы вместо Object’ов

Динамические типы переменных

Реализация ООП

• Классы• Наследование• Видимость

Часть 3. ПрограммированиеОбщее у Corona и Flash

Movieclip.lua – существует в

Corona, но SpriteSheet’ы быстрее

есть Button

Flash Tweens => Transitions

Events & Listeners

Поддержка масок

Часть 3. ПрограммированиеРазное у Corona и Flash

Нет фильтров и доступа к пикселям

Не всегда удобная система координат

Непривычная работа с растровыми

объектами-изображениями

Нет хорошей среды для

программирования

Часть 3. ПрограммированиеРеализация связи с Сервером

МобильныйБраузер

Копать

ТУ

Т

Сокр

ови

ща

Пр

оф

ит

My iPhone

My iPad

Сохранить

новые данные

Сохранение ОК!

Синхронизи

роваться

Новые данные

Не нужно постоянное соединение с Интернет

Часть 3. ПрограммированиеКомпиляция проекта на Corona

Симулятор != Девайс

Билд происходит на

удаленном сервере

Иногда билды занимают до

10-15 минут

Не всегда корректно

работает с вложенными

папками в проекте

Проблемы

Что мы сделали?

Кросс-платформенное

мобильное приложение

Не требует постоянного

соединения с Сетью

Проделана огромная

работа по оптимизации игры

для TouchScreen

Спасибо за внимание!

Вопросы?

ИЛЬЯ БУБЕР

ibuber@progrestar.com