Heyworks: Cравнительный анализ решений для клиент-серверного взаимодействия и...DevGAMM Conference
Доклад будет построен по принципу: за 20 минут дать наглядный анализ основных решений, который будет полезен небольшим студиям (до 5и человек), и позволит не тратить время на проведение подобного анализа самостоятельно.
Из зала вы выйдите с четким пониманием: "Ок, вот у меня такая игра, соотв. мне скорее всего подойдет такое решение. Вперед и с песней!"
В скором времени, Unity получит поддержку еще одной платформы — WebGL, что позволит запускать игры в браузере без каких-либо плагинов. Валентин покажет, как работает процесс паблишинга, подробно остановится на IL2CPP — внутренней разработке Unity, которая и делает всю основную магию, а так же расскажет о дальнейших планах внедрения этой технологии на другие платформы.
Сервисы Adobe постоянно обновляются и меняются, и имеют очень широкий и удобный функционал о которых мало кто знает. Материал рассчитан как для разработчиков, так и для дизайнеров, показать как не имея ни одной программы компании, можно работать с макетами, со спецификациями и сохранять себе быстро весь набор изображений с документов.
Разработка кроссплатформенного фреймворка на С++ для мобильных платформ / Вла...Ontico
В процессе разработки нашего Enterprise-ready продукта HyperHive — http://eigenmethod.com/products/hh/ (бренд EigenMethod создан для продвижения продукта на Запад, не удивляйтесь другому домену) мы столкнулись с необходимостью реализации ряда задач на нескольких платформах: iOS, Android, Cordova (Android и iOS), а в перспективе и под Windows для мобильных устройств.
Был вариант реализации под каждую платформу на родных языках, но мы выбрали путь создания кроссплатформенного фреймворка на C++ с последующим его портированием под все целевые платформы.
Функционал фреймворка:
1. Параллельные потоки загрузки данных с сервера и записи в базу (sqlite) и передачи на сервер в рабочих потоках (без блокирования UI).
2. Поддержка Дельта-обновлений при передаче данных (пересылается только разность между двумя версиями данных).
3. Шифрование трафика и базы данных алгоритмами ГОСТ и RSA.
4. Сжатие трафика.
5. Аутентификация и авторизация на сервере, поддержка сессий.
6. Обработка push-уведомлений (MQTT).
7. API для мобильных приложений для предоставления данных, в том числе в оффлайн-режиме.
8. Логирование действий мобильного клиента на сервере.
С задачей успешно справились, но, так как задача нетривиальна и мало освещена в сети, были сложности — как технические, так и в подходе к разработке.
Доклад будет рассказывать о современных подходах проектирования ПО. Основной темой будет построение компонентных архитектур на примере архитектуры сцены 3D движка. Будет рассмотрен классический объектно-ориентированный подход организации сцены, его плюсы и минусы, и в качестве альтернативы будет показан компонентно ориентированный подход организации сцены. Доклад позволит слушателям понять, как разрабатывать сложные системы, которые впоследствии можно легко поддерживать.
Heyworks: Cравнительный анализ решений для клиент-серверного взаимодействия и...DevGAMM Conference
Доклад будет построен по принципу: за 20 минут дать наглядный анализ основных решений, который будет полезен небольшим студиям (до 5и человек), и позволит не тратить время на проведение подобного анализа самостоятельно.
Из зала вы выйдите с четким пониманием: "Ок, вот у меня такая игра, соотв. мне скорее всего подойдет такое решение. Вперед и с песней!"
В скором времени, Unity получит поддержку еще одной платформы — WebGL, что позволит запускать игры в браузере без каких-либо плагинов. Валентин покажет, как работает процесс паблишинга, подробно остановится на IL2CPP — внутренней разработке Unity, которая и делает всю основную магию, а так же расскажет о дальнейших планах внедрения этой технологии на другие платформы.
Сервисы Adobe постоянно обновляются и меняются, и имеют очень широкий и удобный функционал о которых мало кто знает. Материал рассчитан как для разработчиков, так и для дизайнеров, показать как не имея ни одной программы компании, можно работать с макетами, со спецификациями и сохранять себе быстро весь набор изображений с документов.
Разработка кроссплатформенного фреймворка на С++ для мобильных платформ / Вла...Ontico
В процессе разработки нашего Enterprise-ready продукта HyperHive — http://eigenmethod.com/products/hh/ (бренд EigenMethod создан для продвижения продукта на Запад, не удивляйтесь другому домену) мы столкнулись с необходимостью реализации ряда задач на нескольких платформах: iOS, Android, Cordova (Android и iOS), а в перспективе и под Windows для мобильных устройств.
Был вариант реализации под каждую платформу на родных языках, но мы выбрали путь создания кроссплатформенного фреймворка на C++ с последующим его портированием под все целевые платформы.
Функционал фреймворка:
1. Параллельные потоки загрузки данных с сервера и записи в базу (sqlite) и передачи на сервер в рабочих потоках (без блокирования UI).
2. Поддержка Дельта-обновлений при передаче данных (пересылается только разность между двумя версиями данных).
3. Шифрование трафика и базы данных алгоритмами ГОСТ и RSA.
4. Сжатие трафика.
5. Аутентификация и авторизация на сервере, поддержка сессий.
6. Обработка push-уведомлений (MQTT).
7. API для мобильных приложений для предоставления данных, в том числе в оффлайн-режиме.
8. Логирование действий мобильного клиента на сервере.
С задачей успешно справились, но, так как задача нетривиальна и мало освещена в сети, были сложности — как технические, так и в подходе к разработке.
Доклад будет рассказывать о современных подходах проектирования ПО. Основной темой будет построение компонентных архитектур на примере архитектуры сцены 3D движка. Будет рассмотрен классический объектно-ориентированный подход организации сцены, его плюсы и минусы, и в качестве альтернативы будет показан компонентно ориентированный подход организации сцены. Доклад позволит слушателям понять, как разрабатывать сложные системы, которые впоследствии можно легко поддерживать.
Локализация: ожидания и реальность, Дмитрий Сизиков. 8 июня, 2019Mail.ru Group
Для любого развивающегося продукта на современном рынке наступает момент, когда возникает необходимость в локализации. В большинстве случаев ожидается, что потребуется лишь перевод заранее выбранного набора фраз. Исходя из этого планируется время на локализацию и необходимый бюджет. Однако, это очередная ловушка, поскольку локализация предполагает выполнение большего числа мер, чем просто перевод словосочетаний. В ходе работы разработчик столкнется с проблемами, которые он изначально не планировал решать и не закладывал в план.
В докладе, команда Pandao поделится историей локализации своего приложения, а также расскажет про возможности обхода различных трудностей.
QA Fes 2016. Анна Карпенко. Специфика тестирования мобильных приложений или к...QAFest
В докладе я расскажу об особенностях тестирования мобильных приложений, об их отличиях и нюансах по сравнению с десктопными и веб-приложениями, а также об общих сценариях. Я затрону функциональные, в основном негативные сценарии, необходимые при проверке любого мобильного приложения. На примере приложений, разрабатываемых в лаборатории, я расскажу что может случиться, если какие-либо из этих сценариев будут игнорироваться.
Интеграция TeamCity и сервера символов | Алексей СоловьевPositive Hack Days
1. Что такое сервер отладочных символов, его предназначение.
2. Отладочная информация (отладочные символы) – информация, которую генерирует компилятор на основе исходных кодов. Содержит информацию об именах файлов исходников, переменных, процедур, функций.
3. Сервер отладочной информации – сервер, основное предназначение которого – хранение отладочной информации, ее индексирование и предоставления доступа.
Aterdux Entertainment: Собственный движок как способ экономной и эффективной...DevGAMM Conference
От примитивных «Японских Кроссвордов» в 1998 до хардкорных «Легенд Эйзенвальда» в 2014.
Как был выбран путь использования собственных движков, сколько их было создано, через какие стадии и сложности разработки пришлось пройти, какие выгоды были получены и каким именно решениям они обязаны. Максимальная скорость ближе к процессору, гибкость к внезапным изменениям, кроссплатформа, собственные скрипты и утилиты для контента — когда всё свое, родное, работает только на благо разработки.
Локализация - как делать глобальный проект?Alconost
Философия глобального проекта. Как делать так, чтобы перевод не тормозил релиз? Грамотное управление локализацией проекта. Лингвистическое тестирование. Кейсы и полезные советы по локализации проектов от профессионалов перевода Alconost Translations.
Разработка API для большого, нагруженного сервисаendeveit
Рассказ о том, что творилось с проектами kolesa.kz и krisha.kz в 2011-2012 годах и что происходит сейчас, как мы создавали с нуля API и впоследствии переезжали на него, как на лету меняли хранилища данных, как боролись с нагрузками и воевали за надежность, расскажу о граблях на которые наступили и как их можно было бы избежать.
Локализация: ожидания и реальность, Дмитрий Сизиков. 8 июня, 2019Mail.ru Group
Для любого развивающегося продукта на современном рынке наступает момент, когда возникает необходимость в локализации. В большинстве случаев ожидается, что потребуется лишь перевод заранее выбранного набора фраз. Исходя из этого планируется время на локализацию и необходимый бюджет. Однако, это очередная ловушка, поскольку локализация предполагает выполнение большего числа мер, чем просто перевод словосочетаний. В ходе работы разработчик столкнется с проблемами, которые он изначально не планировал решать и не закладывал в план.
В докладе, команда Pandao поделится историей локализации своего приложения, а также расскажет про возможности обхода различных трудностей.
QA Fes 2016. Анна Карпенко. Специфика тестирования мобильных приложений или к...QAFest
В докладе я расскажу об особенностях тестирования мобильных приложений, об их отличиях и нюансах по сравнению с десктопными и веб-приложениями, а также об общих сценариях. Я затрону функциональные, в основном негативные сценарии, необходимые при проверке любого мобильного приложения. На примере приложений, разрабатываемых в лаборатории, я расскажу что может случиться, если какие-либо из этих сценариев будут игнорироваться.
Интеграция TeamCity и сервера символов | Алексей СоловьевPositive Hack Days
1. Что такое сервер отладочных символов, его предназначение.
2. Отладочная информация (отладочные символы) – информация, которую генерирует компилятор на основе исходных кодов. Содержит информацию об именах файлов исходников, переменных, процедур, функций.
3. Сервер отладочной информации – сервер, основное предназначение которого – хранение отладочной информации, ее индексирование и предоставления доступа.
Aterdux Entertainment: Собственный движок как способ экономной и эффективной...DevGAMM Conference
От примитивных «Японских Кроссвордов» в 1998 до хардкорных «Легенд Эйзенвальда» в 2014.
Как был выбран путь использования собственных движков, сколько их было создано, через какие стадии и сложности разработки пришлось пройти, какие выгоды были получены и каким именно решениям они обязаны. Максимальная скорость ближе к процессору, гибкость к внезапным изменениям, кроссплатформа, собственные скрипты и утилиты для контента — когда всё свое, родное, работает только на благо разработки.
Локализация - как делать глобальный проект?Alconost
Философия глобального проекта. Как делать так, чтобы перевод не тормозил релиз? Грамотное управление локализацией проекта. Лингвистическое тестирование. Кейсы и полезные советы по локализации проектов от профессионалов перевода Alconost Translations.
Разработка API для большого, нагруженного сервисаendeveit
Рассказ о том, что творилось с проектами kolesa.kz и krisha.kz в 2011-2012 годах и что происходит сейчас, как мы создавали с нуля API и впоследствии переезжали на него, как на лету меняли хранилища данных, как боролись с нагрузками и воевали за надежность, расскажу о граблях на которые наступили и как их можно было бы избежать.
Porting existing games to Apple Metal API. Case study: Divinity Original Sin ...DevGAMM Conference
The session essentially focuses on case study of porting Divinity Original Sin 2 engine to Apple Metal API. Real-life examples are provided as well as a demo of frame capture, dissection and explanations of techniques used. The case study is followed by best practices section with advises for transitioning generic titles to Metal. The session concludes with ‘future tech’ section where advanced samples of Metal rendering technologies are displayed and briefly explained.
2. Starling - pure ActionScript 3 библиотека для
создания 2D приложений, использующая stage3D
API, благодаря чему обеспечивается высокая
производительность даже на мобильных
платформах, таких как iOS и Android.
3. 1. Легкий переход, так как Starling API создан
максимально близко к flash API, имитирует
классический DisplayList.
2. Постоянно развивается и дополняется.
3. Имеет большое сообщество и поддержку Adobe.
4. Подробная и качественная документация.
5. Высокая производительность на мобильных. От
версии 1.0 к 1.2 прирост на 20-30%.
6. Неплохой выбор расширений и библиотек.
4. Feathers - это библиотека UI компонентов
на базе Starling.
5. Сделаны с учетом использования на
мобильных
• Производительность
• Поддержка мультитач
• Адаптация под разные DPI
• Поведение компонентов(скроллинг и т.п.)
6. Архитектурно продуманы.
• Валидация данных. Изменения применяются
только в фазу рендеринга Starling
• Строго типизированные свойства для всех скинов и
визуальных свойств.
• Легко расширять и создавать свои компоненты
• Легко понять, если работали с Flex или Flash Pro
компонентами
7. Поддержка скинования.
• Возможность натянуть скин несколькими способами
• Используется Scale 9 принцип для отрисовки
• На лету можно менять размеры компонентов
• Поддержка «skin Themes»
8. И еще немного
• Работа с разными типами шрифтов(растровые и
векторные)
• Drag and drop
• Поддержка окон
• Легко создавать навигацию
9. • Theme инициализируется на старте приложения
• Компонент скинуется из темы в момент
добавления в DisplayList
• Поддержка альтернативного ID для скинования
10. • Текстурный атлас состоит из
изображения(PNG,JPG) и описания XML
• Для генерации атласов можно использовать JSFL
+ Flash CS
• Пользуемся преимуществами ATF
• Не использовать загрузку SWF и последующую
генерацию в текстуры внутри приложения/игры
11. • Поддержка сжатия для всех платформ
• Быстрая загрузка
• Распаковка средствами GPU
• Уменьшенный расход видеопамяти
12. • Render фаза Starling рассчитывается CPU
• Выбор FPS, 30 или 60?
• Подготовка текстур для разных платформ
• Контроль за текстурами
• Использовать механизмы Starling(flatten,
frame scale и другие)