Трики разработчика мобильных игр
Сергей Соложенцев
Skype: sergey.solozhentsev
Тех директор Mad Hat Games
Разрабатываем F2P игры под Android, iOs
Трики разработчика
мобильных игр
• Производительность
• Размер приложения
• Шаблоны проектирования
• Безопасность
Производительность
Пул аллокатор
1.Выделениеиосвобождениепамятизаконстантноевремя
2.95%объектов,которыечасто создаютсяиудаляются -
маленькие(докилобайта)
3.Уменьшениефрагментациипамяти
4.Потеряоколо5-10%памяти(какплатазаскорость)
Производительность
Строки
• Занимает всего 4 байта (полностью идентичен const
wchar_t* или const char*)
• Принцип smart pointer
• return strValue; // не вызывает выделение памяти и
копирования
Производительность
Проверка областей пересечения текстур
5
3
1
2
4 6
Можетуменьшить от30%до50%количество
переключенийтекстур
Размер имеет
значение!
Размер приложения
Размер приложения
WebP
• Lossyиlosslessсжатие
• Lossyлучше чемjpg
• Losslessлучшечемpng
• RGBAиRGBсжатие
• Скоростьдекодированиясравнимас jpeg
Размер приложения
Сжатие текстур
• ETC1поддерживаютвсеAndroidOpengles2.0(наiphonepvrtc)
• Нужнадополнительнаятекстура сальфаканалом
• НенужнозаморачиватьсясDXT,PCRTC,ATCкомпрессией
Размер приложения
Ogg звуки
• Хорошая психоакустическая модель
• Отрытые исходники и лицензия
• Очень хорошая скорость декодирования
• На iphone нет встроенной поддержки
Шаблоны проектирования
Injection of Control
1. Реализация Delegate для С++
2. decltype для MSVC++ 2010
3. __typeof__ для GCC
Шаблоны проектирования
Game timer
• Разделить таймеры которые зависят от игрового
времени и те которые не зависят
• Можно легко паузить и резьюмить игровые
процессы
Безопасность
Ломать будут сразу!
Уязвимые места:
1. Сейвы
2. Сетевые передачи
3. Память
Проверять ответы от платежных систем на сервере.
Шифровать все что может быть важным, сила шифра
не имеет значения.
Вопросы?
Skype: sergey.solozhentsevСергей Соложенцев

трики разработчика мобильных игр