mobile .net gamedev is not only unity

Post on 24-Jan-2017

191 Views

Category:

Software

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Кросс-платформенная игровая разработка на .NET

Июль 15, 2015

Perepechko Grigory.NET Tech Lead

$549.1Выручки

в 2014

миллионов5.7DAU

миллионов18.5

MAUмиллионов

$0.27DARPU

53%Выручки с

телефонов

2010Компания основана в 7

Платформ

5Игр

1000+Сотрудников

https://3.downloader.disk.yandex.ru/preview/5e18301535bb4524b1222c59c1ef6e86239c866d5ea8446a79b509ed8268e980/inf/7mv97l0_f1GRcB8bRLC8M-9AMsDKsusPdhF_VpGw_JjRypK0epAInHHgi4pRhSAUdCmOsdggjm7mTiGS9j2Kew%3D%3D?uid=0&filename=wpss201507140013png&disposition=inline&hash=&limit=0&content_type=image%2Fpng&tknv=v2&size=1280x947

https://3.downloader.disk.yandex.ru/preview/5e18301535bb4524b1222c59c1ef6e86239c866d5ea8446a79b509ed8268e980/inf/7mv97l0_f1GRcB8bRLC8M-9AMsDKsusPdhF_VpGw_JjRypK0epAInHHgi4pRhSAUdCmOsdggjm7mTiGS9j2Kew%3D%3D?uid=0&filename=wpss201507140013png&disposition=inline&hash=&limit=0&content_type=image%2Fpng&tknv=v2&size=1280x947

Monosyne1. Текстуры/атлас в .png/.pvr/.zpvr/.webp. Тайлинг, автобатчинг2. Видео-спрайты (.bik), Видеомаски, Эффекты на уровне glsl/hlsl3. Поддержка .ogg/.wav. Effect/Song аналогичные XNA4. Спрайтовые анимации/стейт-машины на уровне ресурсов5. Виджеты такие как button, checkbox, virtualized scroll6. Поддержка Bitmap/TrueType шрифтов7. Сценграф, json-based формат, экспорт сцен из Flash

1. IoC/DI2. MVP3. Event Aggregator4. Async-based TAP5. T4 для View6. PCL

Архитектура приложения

Плюсы:

1. .NET это удобно!2. Легко пишутся Unit-test`ы3. Фичи модульны и практически не зависят друг от друга4. 95% кода – в PCL5. Разработка/отладка ведется под Windows6. Любые изменения в ресурсах видны на этапе сборки

Минусы:

1. Требуется понимание сути IoC/Event Aggregator2. Легко написать неэффективный код (минус .NET)3. В PCL нет System.IO, Marshal и др.

Итоговые мысли о .NET

1. Шикарный перфоманс 2. В итоге все больше кода уходит в native 3. Unsafe – огромное благо4. Аллокаторы памяти тоже5. Zero Alloc Rule (dotMemory MemoryTraffic)6. Мощный и красивый язык разработк7. Крупный проект выйдет за лимит apple по размеру бинарника8. Нестабильность стабильного Xamarin (40+ багов)9. Более сложная архитектура клиента из за необходимости в потоках10.Хороших разработчиков на .NET не больше чем на C++

1.Git Branching Strategy с упрощениями2.Фича в своей ветке пишется и тестируется.3.На каждый коммит, в каждой ветке – билд всех платформ4.Изначально билд степы в TC, теперь с проектом build scripts

15:00:00|INFO|1|MO-2015|Логирование в продакшн среде

В QA билдах логи шлются в локальный LogStorageВ Release билдах логи шлются при краше в HockeyAppКритичная для аналитики инфа шлется в hadoop/GAСерверное логирование ведется в Kibana

Нужен свой редактор сцен и ресурсов!

1.2d меши2.Скиннинг3.Скелетные анимации4.Освещение на картах нормалей5.Объединение с web flash версией6.Ручная аллокация памяти7.Движок на плюсах

Спасибо за внимание!mylce@ya.ru

pk.grigory.perepechko

top related