Бубер Илья (progrestar) - “from flash to mobile. Портирование flash-игры...

35

Upload: flash-gamm

Post on 14-Nov-2014

4.495 views

Category:

Education


2 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”
Page 2: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

Page 3: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

Flash-Игра Копай

Исследуй

острова

Собирай

коллекции

Собирай

команду с

друзьями

Page 4: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

Мира

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

коллекций

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

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

Page 5: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

2010 2011 2012 20150

100

200

300

400

500

600

700

800 Smartphone vs PC sales, mil-lions

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

Page 6: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

Page 7: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

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

Плюсы

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

коммьюнити

Недостатки

Page 8: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

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

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

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

Page 9: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

коммьюнити

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

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

Недостатки

Page 10: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

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

Page 11: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

коммьюнити

Плюсы

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

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

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

Недостатки

Page 12: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

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

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

Purchases

Page 13: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

Page 14: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

SWF

AW

ES

OM

E M

AG

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

Page 15: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

MegaMonsters.flaHeroes.fla

Islands.fla

JavaScrip

t

Fla

sh A

PI

Library

SuperDudeFolder

SeaTurtle

MagicMushroom

CrazyPirate

SA

VE

Page 16: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

приложения

location_1.swf

ImagesMETA-Data

Page 17: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

2

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

1024x1024)

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

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

2048x2048)

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

Zwoptex’ом

Sprite Sheet

http://zwoptexapp.com/

Page 18: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

лица

Origins (X,Y)

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

(X,Y)

Motion Tweens

Вычисляем

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

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

Персонаж

Анимация

Page 19: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

Page 20: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

интерфейс

Page 21: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

Page 22: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

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

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

решений

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

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

скорости

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

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

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

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

Page 23: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

Карта Друзей

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

Code’у

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

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

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

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

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

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

СтарМани

Page 24: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

Механик

Page 25: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

Одни и те же

коллекции

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

Page 26: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

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

полностью

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

Page 27: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

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

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

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

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

Page 28: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

Часть 3. Game DesignGambling

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

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

Торговца

Page 29: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

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

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

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

Page 30: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

есть Button

Flash Tweens => Transitions

Events & Listeners

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

Page 31: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

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

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

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

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

Page 32: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

Копать

ТУ

Т

Сокр

ови

ща

Пр

оф

ит

My iPhone

My iPad

Сохранить

новые данные

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

Синхронизи

роваться

Новые данные

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

Page 33: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

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

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

10-15 минут

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

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

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

Проблемы

Page 34: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

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

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

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

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

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

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

для TouchScreen

Page 35: Бубер Илья (Progrestar) - “From Flash to Mobile. Портирование flash-игры на мобильные платформы: iOS и Android”

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

Вопросы?

ИЛЬЯ БУБЕР

[email protected]