2.5D игры и особенности
разработки
многопользовательских игр
Полушкин Глеб (SM&Partners)
Клиентские платформы
●
Adobe Flash Platform (Adobe Flash player)
●
Unity3D (Unity Web player)
●
Adobe Director (Adobe Shoc...
Выбор для 2.5D игр
Обычно для многопользовательских 2.5D браузерных игр выбирается Flash
Platform. C её хорошими характери...
Серверу оставьте транспорт сообщений и данных
Остальное отдавайте клиенту:
●
Построение сцен 2.5D и сортировки объектов на...
Допустимые упрощения в
построении игрового мира
Упрощения графики игрового мира
●
Упрощайте всё что можно
●
Следите за количеством точек в векторной графике
●
Используйте...
Упрощения допустимые для
редактирования
Игровой мир сталкивается с самым непредсказуемым создателем –
пользователем:
●
Пол...
Решение для редактора -
Редактор должен быть таким
же игровым элементом
Метод обоснованного обмана
пользователя
Зачем обман – экономим ресурсы
Но важно знать кого именно мы обманываем. Кто наш п...
Кто наш пользователь?
Можно узнать это из:
●
его профиля, с персональными данными,
●
профилирующих тестов
●
теста производ...
Способы обоснованного обмана
1. Отвлечение внимания
2. Уговоры и юмор
3. Поощрение
4. Скрытие подробностей
5. Безграничные...
Пользователь в игре уже настроен
на то что его обманут в игровом
процессе
Персонажи - как не испортить ими
идеальный игровой мир
Оценка способов сборки персонажей
Что такое миллион персонажей?
- по 8 вариантов вещей на место получаем 2пола*5мест^8веще...
Критерии выбора способа сборки
Качественные характеристики:
- Качество персонажа
- Реалистичность и плавность движений пер...
Ручная сборка
Отрисовка каждого варианта персонажа руками в отдельности
●
Плохие количественные характеристики
●
Хорошие к...
Клиентская сборка векторного
персонажа
Отрисовка руками скелетной анимации и каждой вещи в векторе. Далее клиентом
натягив...
Серверная сборка векторного
персонажа
Отрисовка руками скелетной анимации и каждой вещи в векторе. Далее сервером
натягива...
Клиентская сборка растрового
персонажа
Отрисовка руками скелетной анимации и каждой вещи в растре. Далее клиентом
натягива...
Серверная сборка растрового
персонажа
Моделинг 3D художником и аниматором персонажа с одетыми вещами. Сервером
выбирается ...
Дешевая серверная растровая
сборка
●
Модель – 3DMax
●
Конвертер в blender – max2blender
●
Серверный рендер – blender+cmb-r...
Увеличение количества вещей:
сводится к изменению blender модели
Плюсы:
- Производительность
Сборка новой незакешированной...
Выбор метода сборки
●
Малое количество вещей – ручная сборка
●
Несложные, с малым количеством деталей персонажи – клиентск...
Масштабируемость
серверной части
Игровой сервер? Разрабатывать свой или использовать готовый? Вопрос
рентабельности и масш...
Общие возможности SmartFoxServer
по нагрузкам
Создание комнаты:
●
Одновременных подключений: 5000
●
Скорость подключений п...
Создание комнаты 2 - критическая нагрузка:
●
Одновременных подключений: 7500
●
Скорость подключений пользователей: 10 клие...
Атака личными сообщениями:
●
Одновременных подключений: 20000
●
Скорость подключений пользователей: 10 клиентов в секунду
...
Вывод: высокая стабильность и масштабируемость
Дополнительные данные тестирования
http://www.smartfoxserver.com/products/b...
Кластер с общей базой данных
Кластерное решение от Terracotta
Решение — сетевая оперативная память
Дополнительная информация:
http://www.smartfoxserver.com/download/SmartFoxServer-Clus...
SmartFoxServer Amazon EC2 AMI
У SmartFoxServer есть образ слепок системы Ubuntu 7.04 с предустановленным
SmartFoxServer PR...
Спасибо за внимание!
Глеб Полушкин
SM&Partners
+7 495 787 68 57
business@smandpartners.ru
Upcoming SlideShare
Loading in...5
×

2.5D игры и особенности разработки многопользовательских игр

2,441

Published on

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,441
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "2.5D игры и особенности разработки многопользовательских игр"

  1. 1. 2.5D игры и особенности разработки многопользовательских игр Полушкин Глеб (SM&Partners)
  2. 2. Клиентские платформы ● Adobe Flash Platform (Adobe Flash player) ● Unity3D (Unity Web player) ● Adobe Director (Adobe Shockwave player) ● Microsoft WPF (Microsoft SilverLight).
  3. 3. Выбор для 2.5D игр Обычно для многопользовательских 2.5D браузерных игр выбирается Flash Platform. C её хорошими характеристиками и транспортом - http, XMLSockets, RTMP* протоколы
  4. 4. Серверу оставьте транспорт сообщений и данных Остальное отдавайте клиенту: ● Построение сцен 2.5D и сортировки объектов на сцене ● Поиск пути ● Логика игры Распределение логики между клиентом и сервером
  5. 5. Допустимые упрощения в построении игрового мира
  6. 6. Упрощения графики игрового мира ● Упрощайте всё что можно ● Следите за количеством точек в векторной графике ● Используйте оптимизацию растра
  7. 7. Упрощения допустимые для редактирования Игровой мир сталкивается с самым непредсказуемым создателем – пользователем: ● Пользователь захочет выставить все доступные вещи ● Пользователь обязательно будет ставить вещи мешающие другим ● Пользователь обязательно найдёт все баги
  8. 8. Решение для редактора - Редактор должен быть таким же игровым элементом
  9. 9. Метод обоснованного обмана пользователя Зачем обман – экономим ресурсы Но важно знать кого именно мы обманываем. Кто наш пользователь?
  10. 10. Кто наш пользователь? Можно узнать это из: ● его профиля, с персональными данными, ● профилирующих тестов ● теста производительности его компьютера ● GeoIP ● анализа поведения пользователя внутри игры
  11. 11. Способы обоснованного обмана 1. Отвлечение внимания 2. Уговоры и юмор 3. Поощрение 4. Скрытие подробностей 5. Безграничные возможности 6. Введение третьего властного лица в игру 7. Красивые персонажи
  12. 12. Пользователь в игре уже настроен на то что его обманут в игровом процессе
  13. 13. Персонажи - как не испортить ими идеальный игровой мир
  14. 14. Оценка способов сборки персонажей Что такое миллион персонажей? - по 8 вариантов вещей на место получаем 2пола*5мест^8вещей = 781250 уникальных персонажей ~1 миллион - по 9 вариантов вещей на место получаем 2пола*5мест^9вещей = 3906250 уникальных персонажей ~3 миллионов
  15. 15. Критерии выбора способа сборки Качественные характеристики: - Качество персонажа - Реалистичность и плавность движений персонажа Количественные характеристики: - Количество классов/полов/рас - Насколько живой персонаж - как много у него движений - Скорость интернета потенциального пользователя игры
  16. 16. Ручная сборка Отрисовка каждого варианта персонажа руками в отдельности ● Плохие количественные характеристики ● Хорошие качественные характеристики ● Подходит только для игр с совсем небольшим количеством вариантов персонажей. Иначе способ даёт огромные объёмы рутины для художников и аниматоров
  17. 17. Клиентская сборка векторного персонажа Отрисовка руками скелетной анимации и каждой вещи в векторе. Далее клиентом натягивание векторных вещей на скелет ● Хорошие количественные характеристики ● Средние качественные характеристики ● Чем сложнее скелетная анимация, тем меньше клиент может позволить себе одновременных анимаций
  18. 18. Серверная сборка векторного персонажа Отрисовка руками скелетной анимации и каждой вещи в векторе. Далее сервером натягивание векторных вещей на скелет ● Хорошие количественные характеристики ● Средние качественные характеристики ● Чем сложнее скелетная анимация, тем меньше клиент может позволить себе одновременных анимаций, но больше чем при клиентской сборке
  19. 19. Клиентская сборка растрового персонажа Отрисовка руками скелетной анимации и каждой вещи в растре. Далее клиентом натягивание растровых вещей на скелет ● Хорошие количественные характеристики ● Плохие качественные характеристики ● Чем сложнее скелетная анимация, тем меньше клиент может позволить себе одновременных анимаций
  20. 20. Серверная сборка растрового персонажа Моделинг 3D художником и аниматором персонажа с одетыми вещами. Сервером выбирается нужные вещи, рендерится и клиенту выдаётся нужный персонаж ● Хорошие количественные характеристики ● Лучшие качественные характеристики ● При проигрывании анимации большого числа персонажей мы теряем только оперативную память. Процессор занят проигрыванием только обычных кадров анимации без особых нагрузок - сменой картинок.
  21. 21. Дешевая серверная растровая сборка ● Модель – 3DMax ● Конвертер в blender – max2blender ● Серверный рендер – blender+cmb-render, на выходе cmb файл c покадровай растровой анимацией вещи с картой высот ● Сборщик – smtool + cmb-combine, на выходе анимация swf из нужных вещей и кадров
  22. 22. Увеличение количества вещей: сводится к изменению blender модели Плюсы: - Производительность Сборка новой незакешированной swf - 1 секунда на 100 кадров, при 5ти одетых вещах - Стоимость- 4 недели системного разработчика Минусы: - blender использует рендер без какой либо аппаратной графической поддержки - рендер cmb долгий процесс.
  23. 23. Выбор метода сборки ● Малое количество вещей – ручная сборка ● Несложные, с малым количеством деталей персонажи – клиентская векторная сборка ● На сложных персонажах выбираем серверную растровую сбоку. Мы жертвуем скоростью загрузку в пользу реалистичности.
  24. 24. Масштабируемость серверной части Игровой сервер? Разрабатывать свой или использовать готовый? Вопрос рентабельности и масштабности проекта. В любом случае нам нужен сервер с высокими показателями стабильности и масштабируемости. Мы рассматриваем игровой сервер, как некий уже рабочий отлаженный программный продукт.
  25. 25. Общие возможности SmartFoxServer по нагрузкам Создание комнаты: ● Одновременных подключений: 5000 ● Скорость подключений пользователей: 10 клиентов в секунду ● Создано комнат: 1000 ● Загрузка канала: 55-60Мбит/с ● Загрузка процессора: 5-6% ● Потеряных сообщений: 0
  26. 26. Создание комнаты 2 - критическая нагрузка: ● Одновременных подключений: 7500 ● Скорость подключений пользователей: 10 клиентов в секунду ● Создано комнат: 1500 ● Загрузка канала: ~86Мб/с ● Загрузка процессора: 18-20% ● Потеряных сообщений: ~12К
  27. 27. Атака личными сообщениями: ● Одновременных подключений: 20000 ● Скорость подключений пользователей: 10 клиентов в секунду ● Всего комнат: 1 ● Загрузка канала: ~28Мб/с ● Загрузка процессора: 22-24% ● Потеряных сообщений: 0
  28. 28. Вывод: высокая стабильность и масштабируемость Дополнительные данные тестирования http://www.smartfoxserver.com/products/benchmarks.htm
  29. 29. Кластер с общей базой данных
  30. 30. Кластерное решение от Terracotta
  31. 31. Решение — сетевая оперативная память Дополнительная информация: http://www.smartfoxserver.com/download/SmartFoxServer-Clustering.pdf http://en.wikipedia.org/wiki/Terracotta_Cluster http://www.infoq.com/articles/open-terracotta-intro
  32. 32. SmartFoxServer Amazon EC2 AMI У SmartFoxServer есть образ слепок системы Ubuntu 7.04 с предустановленным SmartFoxServer PRO 1.6.3 с разработческой лицензией под Amazon EC2. Данные по слепку системы ● http://www.smartfoxserver.com/labs/ami/ ● http://developer.amazonwebservices.com/connect/entry.jspa? externalID=1903&categoryID=101
  33. 33. Спасибо за внимание! Глеб Полушкин SM&Partners +7 495 787 68 57 business@smandpartners.ru

×