Сергей Мезенев, broccoli games — Создание...

11

Upload: devparty

Post on 17-Mar-2018

106 views

Category:

Software


7 download

TRANSCRIPT

Page 1: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe
Page 2: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe

Создание кроссплатформенного

игрового приложения на Haxe

Page 3: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe

Причина выбора Haxe

● Google объявил о блокировании Flash-

контента по-умолчанию

● Firefox хочет поступить аналогично

● HTML5 Canvas игры получают

преимущество

Page 4: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe

Причина выбора Haxe

Javascript-библиотеки Платформы для разработки игр Haxe

Page 5: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe

Причина выбора Haxe

● Haxe - это высокоуровневый

мультиплатформенный язык программирования и

компилятор.

● Возможность быстрого портирования ActionScript

приложения на Haxe.

● Программа на Haxe может быть транслирована в

исходный код и в байт-код целевой платформы.

● Вывод в :

○ Javascript

○ ActionScript

○ PHP

○ C++

Page 6: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe

Выбор фреймворка для Haxe

Flambe

Функционал фреймворков:

1. Работа с ресурсами приложения (загрузка и выгрузка)

2. Воспроизведение звука

3. Вывод на экран

4. Работа с областью вывода

5. Работа с инструментами ввода. События мыши, клавиатуры

6. Дополнительные утилиты

Page 7: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe

Работа с библиотеками для Haxe

1 206 библиотек на официальном сайте

Источник для библиотеки:● Git-репозиторий

● mercurial-репозиторий

● zip-архив

● локальная папка

3 360 репозиториев на GitHub

Page 8: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe

XML-файл описания проекта на OpenFL

Настройка приложения:

1. Задать имя приложения, версию и компанию-разработчика

2. Указать директорию для вывода проекта

3. Установить свой загрузчик приложения

4. Подключить к проекту haxe-библиотеки, установленные через haxelib

5. Перечислить загружаемые ресурсы

6. Указать флаги для компиляции

7. Настроить параметры сборки мобильного приложения

Использование директив условной компиляции:

mobile, desktop, web

ios, android, windows, mac, linux, html5

cpp, neko, flash, js

Page 9: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe

Организация ресурсов и загрузчика

● Ресурсы для каждой платформы

хранятся отдельно.

● Ресурсы, используемые для всех

платформ, выделяются в отдельную

структуру.● При компиляции общие ресурсы и ресурсы

платформы объединяются.

Page 10: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe

Разработка системы соединения с сервером

Принципы работы с очередью:

1. Каждая команда пронумерована

2. Структура команды описана стандартом протокола JSON-RPC 2.0

3. Пакет команд отправляется:

● По требованию приложения

● Каждые T-секунд

● По накоплению N-команд

1. Очередь синхронизирована с локальным хранилищем

Page 11: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe