SlideShare a Scribd company logo
Танки — многопользовательский  трёхмерный экшен в браузере Антон Волков, технический директор, 14 мая 2009 Tanki — multiplayer 3D-action in browser Anton Volkov, CTO, 14 May 2009
План доклада: Изменение бизнес-модели История проекта Танки Онлайн Прототип Alternativa3D 7 Методы оптимизации 3D во Flash Player 10 Отсечение ненужного Нестандартные методы Физика Сервер Организация производства Итоги Plan: Changing business model History Tanki Online Prototype Alternativa3D 7 Optimization methods 3D in Flash Player 10 Cull unnecessary Nonstandard methods Physics Server Production organization Summary
Adobe MAX 2009
Away3D Alternativa3D Papervision3D
Signor poliziotto, il mio passaporto è stato rubato
Изменение бизнес-модели: Началась продажа лицензий Рынок 3D-Flash в стадии формирования Продукты на платформе — двигатель рынка Участие в проектах Changing business model: Sales of licenses have started 3D-Flash market is just forming Products on platfom boost market Participating in projects
Долгий путь к технологическому преимуществу: 7 3D-движков 3 серверных движка 2 GUI-движка 2 физических движка Long way  to technological  advantage : 7 3D-engines 3 server engines 2 GUI-engines 2 physics engines
A long time ago, in a city far, far away...
Tanks for two
1997
320x200, 256 colors
Turbo Pascal 7.0 + Assembler
Город Лизы Шариковой Liza Sharikova City
2005, Flash Player 7
Многопользовательский визуальный чат Multiuser visual chat
Окружение собирается из кусочков Tile-based environment
Простая Z-сортировка Simple Z-sorting
Динамическое освещение и тени Dynamic lights and shadows
Изометрическое 3D с освещением Isometric 3D with lighting
Перспектива Perspective view
Вид от первого лица First person view
Физический движок Physics engine
Ballance
Игра про ёлку New Year game
Многопользовательский Трёхмерный Экшен В браузере Multiplayer 3D Action In browser
Битвы Battles
Гараж Garage
Полностью трёхмерное окружение Full 3D environment
Мультиплеер Multiplayer
Прототип игры Game prototype
Игроки проявили интерес Players have shown an interest
Демо-эффектам — нет! Даёшь практическое применение! Say NO to demo-effects! Go practice!
Миф о лёгкости объединения демок Myth about simple combination of demos
Основная проблема — последовательность отрисовки: Сортировка по средним Z Коррекция Z-конфликтов  BSP, kD, Octree Подпространства Всё вместе — Alternativa3D 7 Main problem — drawing order: Average-Z sorting Correcting Z-conflicts BSP, kD, Octree Subspaces All-in-one — Alternativa3D 7
Оптимизация расчётов — алгоритмы и трюки Calculations optimization — algorithms and hacks
Оптимизация использования памяти Memory use optimization
Оптимизация областей перерисовки Redrawing regions optimization
Оптимизация переналожения Overlapping optimization
Оптимизация переналожения Overlapping optimization
FPS Размер пакета, Packet size Пакетная обработка, batch processing
FPS Количество треугольников, Number of triangles Производительность, Performance
FPS Количество треугольников, Number of triangles Anti-alias
Отсечение ненужного Cull unnecessary
kD-дерево kD-tree
Отсечение невидимых kD-ветвей Invisible kD-branches culling
Отсечение по описывающим кубам Bound-boxes culling
Обработка только конфликтных объектов Process only conflicted objects
Отсечение невидимых полигонов Invisible polygons culling
Подрезка под окно просмотра Clipping in viewport
Результат Result
Нестандартные методы: Аппаратное ускорение — только для PixelBender и не для всех карт wmode = "gpu" — медленно Alchemy — большой объём, сложная инфраструктура, потери на передачи данных PixelBender — растровые эффекты на небольших изображениях; для математики потеря на передаче данных, многопоточность HaXe — недокументированные команды работы с памятью, быстрее до 40% чем Vector Nonstandard methods: Hardware acceleration — only for PixelBender and not for every videocard wmode = "gpu" — slow Alchemy — big, complex structure, data transfer losses PixelBender — raster effects for small images, data transfer losses for mathematics, multithreading HaXe — undocumented memory managing  methods, faster up to 40% than Vector
Физика активно используется в играх Physics is used wide in games
AlternativaPhysics — трёхмерный физический движок AlternativaPhysics — 3D physics engine
Быстрый поиск контактов, итерационный подход Fast collision detection, iterative approach
Прямоугольники, треугольники, кубы и сферы Quads, triangles, boxes and spheres
Танк на подвеске Tank on suspension
Плагинная система по спецификации OSGi на сервере и клиенте Plugin system based on OSGi on server and client
Интерфейсы Типы Кодеки Модели поведения Interfaces Types Codecs Behavior models Генерация кода Code generation Type checking Auto-completion Compile-time errors Проверка типов Автокомплит Ошибки компиляции Генератор кода Code generator Java-код Java-code FlexSDK AS-код AS-code SWC
Протокол Protocol Большие команды  упаковываются алгоритмом DEFLATE (zlib, gzip) Код команды Command code X Y Z Long 8 bytes Number 8 bytes Number 8 bytes Number 8 bytes Код команды Command code battleName players Long 8 bytes ShortString 1 byte + N bytes ShortArray of int 1 byte + 4xN bytes Big commands are packed  using DEFLATE (zlib, gzip) algorithm
PSD JPG, XML /resource/id/version/image.jpg Загрузка/выгрузка Load/unload 100 запросов 100 requests 10 запросов 10 requests Игровые ресурсы Game resources Диспетчер Dispatcher Разработчик Developer Ресурсный сервер Resource server Web-сервер Web-server Игровой сервер Game server Диспетчер Dispatcher Flash-клиент Flash-client Cache, proxy
Один уровень — одна модель One level — one model
Элементы уровня Assets
AlternativaEditor
AlternativaEditor
Административный интерфейс Administration interface
Организация работы команды Team work orgranization SWF, JAR Bug-reports JPG, MP3 Tasks Docs PSD, WAV AS, JAVA Проект Project Юзер User Команда Team Юзер User Юзер User Jira Confluence SVN Maven
Удачный 3D-геймплей — в браузер! Good 3D-gameplay — into browser!
Технологическое партнёрство — ваш продакшн + наши технологии Technological partnership — your production + our technologies
Ваше приглашение в закрытое тестирование Your invitation for closed test
Спасибо за внимание! Thank you! Anton Volkov [email_address] +7 902 473 1986

More Related Content

ODP
Многопользовательские браузерные игры нового типа
PDF
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
PPTX
Convertor
 
PDF
SECON'2014 - Сергей Шпадырев - Разработка 3D-игры на Flash: едем с костылями...
PPTX
What Einstein Got Wrong!
PPT
Grupos
PPS
Taksidi stin Athina ton 18 kai 19 aiona
PPSX
ULTIMA HORA...VIRUS...
Многопользовательские браузерные игры нового типа
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
Convertor
 
SECON'2014 - Сергей Шпадырев - Разработка 3D-игры на Flash: едем с костылями...
What Einstein Got Wrong!
Grupos
Taksidi stin Athina ton 18 kai 19 aiona
ULTIMA HORA...VIRUS...

Viewers also liked (20)

PPS
Imaxinacion
PPT
Icq רעות טרמצי
PPS
Green Posters
PDF
Soraya Hamdar - Fotografia
PDF
Effie09 Peugeot Legendarna 206ka
PPS
Festival Addicted. Il blog dei festival di cinema
PPT
ელექტრონული ინფორმაციის სანდოობა
PPT
Veel Lachplezier!
PDF
Hotel Rodavento
DOC
PPS
النملة والإدارة
PPT
Smartboarldles
PDF
Jornada arizmendi 13 marzo
PPSX
Taller De Periodism Ocultural
PPTX
Ezagutza Askea
PPTX
EJERCICIO DE APLICACION
PPT
Filhos de corá2
PPT
Globalization&Multibusiness Strategy
PPT
教育评价指标权重确定
PDF
Imaxinacion
Icq רעות טרמצי
Green Posters
Soraya Hamdar - Fotografia
Effie09 Peugeot Legendarna 206ka
Festival Addicted. Il blog dei festival di cinema
ელექტრონული ინფორმაციის სანდოობა
Veel Lachplezier!
Hotel Rodavento
النملة والإدارة
Smartboarldles
Jornada arizmendi 13 marzo
Taller De Periodism Ocultural
Ezagutza Askea
EJERCICIO DE APLICACION
Filhos de corá2
Globalization&Multibusiness Strategy
教育评价指标权重确定
Ad

Similar to Tanki Online — multiplayer 3D-action in browser (20)

PPTX
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
PPT
CodeFest 2013. Дурдин Д. — Трехмерная графика не для игр
ODP
Разработка игр на базе AlternativaPlatform
PPTX
Технологии Amd
PPSX
Компонентная архитектура игровой механики MMORPG.
ODP
3D во Flash
PDF
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
PPT
Денис Захаркин, VR Concept - MIXAR2016
ODP
Earn millions with a casual gameplay
PPTX
Параллельное программирование на современных видеокартах
PPTX
технологическая презентация Gpu digital lab
PDF
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
PPTX
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
PDF
6 ip video design tool
PPTX
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
PPTX
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
PDF
2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)
PDF
Character creation pipeline for Age of Magic (3D mobile)
PDF
Developing our own rendering
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
CodeFest 2013. Дурдин Д. — Трехмерная графика не для игр
Разработка игр на базе AlternativaPlatform
Технологии Amd
Компонентная архитектура игровой механики MMORPG.
3D во Flash
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Захаркин, VR Concept - MIXAR2016
Earn millions with a casual gameplay
Параллельное программирование на современных видеокартах
технологическая презентация Gpu digital lab
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
6 ip video design tool
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)
Character creation pipeline for Age of Magic (3D mobile)
Developing our own rendering
Ad

More from Anton Volkov (8)

ODP
Свобода и ответственность: Опыт Танков Онлайн в создании agile-культуры
ODP
Как я перестал мешать людям работать
ODP
История ошибок успешного проекта
ODP
Браузерные и социальные игры по-взрослому. Что нас ждёт?
ODP
Browser-based games - time of changes
PPT
Aqua 3D — our first project with Alternativa
ODP
3D в браузерных играх, социальных сетях и на мобильных платформах
ODP
Alternativa3D как инструмент решения бизнес-задач в интернете
Свобода и ответственность: Опыт Танков Онлайн в создании agile-культуры
Как я перестал мешать людям работать
История ошибок успешного проекта
Браузерные и социальные игры по-взрослому. Что нас ждёт?
Browser-based games - time of changes
Aqua 3D — our first project with Alternativa
3D в браузерных играх, социальных сетях и на мобильных платформах
Alternativa3D как инструмент решения бизнес-задач в интернете

Tanki Online — multiplayer 3D-action in browser