Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
2.5D игры и особенностиразработкимногопользовательских игр      Полушкин Глеб (SM&Partners)
Клиентские платформыAdobe Flash Platform (Adobe Flash player)●Unity3D (Unity Web player)●Adobe Director (Adobe Shockwave p...
Выбор для 2.5D игр Обычно для многопользовательских 2.5D браузерных игр выбирается FlashPlatform. C её хорошими характерис...
Распределение логики между             клиентом и серверомСерверу оставьте транспорт сообщений и данныхОстальное отдавайте...
Допустимые упрощения впостроении игрового мира
Упрощения графики игрового мира●    Упрощайте всё что можно●    Следите за количеством точек в векторной графике●    Испол...
Упрощения допустимые для               редактирования Игровой мир сталкивается с самым непредсказуемым создателем –пользов...
Решение для редактора -Редактор должен быть таким   же игровым элементом
Метод обоснованного обмана          пользователяЗачем обман – экономим ресурсыНо важно знать кого именно мы обманываем. Кт...
Кто наш пользователь?Можно узнать это из:●    его профиля, с персональными данными,●    профилирующих тестов●    теста про...
Способы обоснованного обмана1. Отвлечение внимания2. Уговоры и юмор3. Поощрение4. Скрытие подробностей5. Безграничные возм...
Пользователь в игре уже настроенна то что его обманут в игровом            процессе
Персонажи - как не испортить ими     идеальный игровой мир
Оценка способов сборки персонажейЧто такое миллион персонажей? - по 8 вариантов вещей на место получаем 2пола*5мест^8вещей...
Критерии выбора способа сборкиКачественные характеристики:- Качество персонажа- Реалистичность и плавность движений персон...
Ручная сборкаОтрисовка каждого варианта персонажа руками в отдельности●    Плохие количественные характеристики●    Хороши...
Клиентская сборка векторного                персонажа Отрисовка руками скелетной анимации и каждой вещи в векторе. Далее к...
Серверная сборка векторного                персонажа Отрисовка руками скелетной анимации и каждой вещи в векторе. Далее се...
Клиентская сборка растрового               персонажа Отрисовка руками скелетной анимации и каждой вещи в растре. Далее кли...
Серверная сборка растрового                персонажа Моделинг 3D художником и аниматором персонажа с одетыми вещами. Серве...
Дешевая серверная растровая                   сборка●    Модель – 3DMax●    Конвертер в blender – max2blender● Серверный р...
Увеличение количества вещей:сводится к изменению blender моделиПлюсы:- Производительность Сборка новой незакешированной sw...
Выбор метода сборки●    Малое количество вещей – ручная сборка● Несложные, с малым количеством деталей персонажи – клиентс...
Масштабируемость                серверной части Игровой сервер? Разрабатывать свой или использовать готовый? Вопросрентабе...
Общие возможности SmartFoxServer          по нагрузкамСоздание комнаты:●    Одновременных подключений: 5000●    Скорость п...
Создание комнаты 2 - критическая нагрузка:●    Одновременных подключений: 7500●    Скорость подключений пользователей: 10 ...
Атака личными сообщениями:●    Одновременных подключений: 20000●    Скорость подключений пользователей: 10 клиентов в секу...
Вывод: высокая стабильность и масштабируемостьДополнительные данные тестированияhttp://www.smartfoxserver.com/products/ben...
Кластер с общей базой данных
Кластерное решение от Terracotta
Решение — сетевая оперативная памятьДополнительная информация:http://www.smartfoxserver.com/download/SmartFoxServer-Cluste...
SmartFoxServer Amazon EC2 AMI У SmartFoxServer есть образ слепок системы Ubuntu 7.04 с предустановленнымSmartFoxServer PRO...
Спасибо за внимание!        Глеб Полушкин         SM&Partners       +7 495 787 68 57   business@smandpartners.ru
Upcoming SlideShare
Loading in …5
×

2.5D игры и особенности разработки многопользовательских игр (Глеб Полушкин)

1,244 views

Published on

  • Be the first to comment

  • Be the first to like this

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 браузерных игр выбирается FlashPlatform. 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.pdfhttp://en.wikipedia.org/wiki/Terracotta_Clusterhttp://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

×