Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Как сделать Dota-like игру
Семён Корзунов
ex-Nival, senior software developer
Кто я?
• Выпускник АФТИ ФФ НГУ 2007 года
• Работал в SoftLab-NSK (Дальнобойщики 3)
• Последние 4 года – старший разработчик в
Nival (Москва)
Кто играл в Dota?
А кто играл в LoL?
А в Prime World?
Игровая механика
• 3 дороги
• 10 игроков
• Герои развиваются во время игровой сессии
О чем будем говорить
• Как связать 10 игроков (тонкие или толстые
клиенты)
• Игровая модель
• С чего начать разработку прототипа
Тонкий или толстый клиент?
• Чем различаются подходы?
• Толстый клиент экономит «серверные
деньги»
• Смешанный подход: «почти» peer-to-peer
Игровая модель
• У всех 10 игроков игровая модель одинакова
• Игровая модель легко передается по сети в
случае реконнекта
• Все 10 игроков видят игровую модель по-
разному
• Разделение клиента на игровую модель и ее
клиентскую обработку
С чего начать разработку
игровой модели?
Карта
Карта
• Художественный рельеф
• Карта проходимости
• Карта высот
• Fog of war
Юнит
• Размер
• Высота
• Обзор
• Положение и поворот
• Игровые характеристики
Динамика игры
• Понятие “step”
• Как игроки влияют на мир
• Синхронизация степов между клиентами
• Как реализовать динамику мира
Понятие state machine и
behavior для юнитов
• Каждый юнит – это state machine
• Юниты обладают стеком поведений
• Чем отличается герои от друг
• Как можно это реализовать?
Pathfinding
• Что это такое
• Pathfinding A-star
• Варианты подешевле
Понятие collision
• Возникает при конфликте путей
• Как его обрабатывать?
• Понятие «запереть»
Как заполнить игровую модель
• Необходимость заполнять игровые данные
• Понятие редактора игровых данных
• Как «оживить» юнитов
• Насколько дизайнер игр может определять
мир
Запускаем прототип
• Игровая модель
– Карта
– Игроки
– Динамика и жители карты
• Поведение юнитов
• Pathfinding и коллизии
• Создание карты и ее наполнение игровыми
данными
• Запуск в тестовом режиме и с участием
сервера
Что я пропустил?
• Рендер и 3d сцена
• Звуки и музыка
• Юзер Интефейс (UI)
• Как входить в игру (Lobby)
• Реализация игровой механики
• Реализация сетевого уровня
Спасибо за внимание!
Семён Корзунов
ex-Nival, senior software developer

More Related Content

Tech Talks @NSU: Как сделать Dota-like игру

  • 1. Как сделать Dota-like игру Семён Корзунов ex-Nival, senior software developer
  • 2. Кто я? • Выпускник АФТИ ФФ НГУ 2007 года • Работал в SoftLab-NSK (Дальнобойщики 3) • Последние 4 года – старший разработчик в Nival (Москва)
  • 5. А в Prime World?
  • 6. Игровая механика • 3 дороги • 10 игроков • Герои развиваются во время игровой сессии
  • 7. О чем будем говорить • Как связать 10 игроков (тонкие или толстые клиенты) • Игровая модель • С чего начать разработку прототипа
  • 8. Тонкий или толстый клиент? • Чем различаются подходы? • Толстый клиент экономит «серверные деньги» • Смешанный подход: «почти» peer-to-peer
  • 9. Игровая модель • У всех 10 игроков игровая модель одинакова • Игровая модель легко передается по сети в случае реконнекта • Все 10 игроков видят игровую модель по- разному • Разделение клиента на игровую модель и ее клиентскую обработку
  • 10. С чего начать разработку игровой модели?
  • 12. Карта • Художественный рельеф • Карта проходимости • Карта высот • Fog of war
  • 13. Юнит • Размер • Высота • Обзор • Положение и поворот • Игровые характеристики
  • 14. Динамика игры • Понятие “step” • Как игроки влияют на мир • Синхронизация степов между клиентами • Как реализовать динамику мира
  • 15. Понятие state machine и behavior для юнитов • Каждый юнит – это state machine • Юниты обладают стеком поведений • Чем отличается герои от друг • Как можно это реализовать?
  • 16. Pathfinding • Что это такое • Pathfinding A-star • Варианты подешевле
  • 17. Понятие collision • Возникает при конфликте путей • Как его обрабатывать? • Понятие «запереть»
  • 18. Как заполнить игровую модель • Необходимость заполнять игровые данные • Понятие редактора игровых данных • Как «оживить» юнитов • Насколько дизайнер игр может определять мир
  • 19. Запускаем прототип • Игровая модель – Карта – Игроки – Динамика и жители карты • Поведение юнитов • Pathfinding и коллизии • Создание карты и ее наполнение игровыми данными • Запуск в тестовом режиме и с участием сервера
  • 20. Что я пропустил? • Рендер и 3d сцена • Звуки и музыка • Юзер Интефейс (UI) • Как входить в игру (Lobby) • Реализация игровой механики • Реализация сетевого уровня
  • 21. Спасибо за внимание! Семён Корзунов ex-Nival, senior software developer