SlideShare a Scribd company logo
1 of 21
Download to read offline
Как сделать 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

Viewers also liked

동네영웅『SX797』『СOM』생방송바카라
동네영웅『SX797』『СOM』생방송바카라동네영웅『SX797』『СOM』생방송바카라
동네영웅『SX797』『СOM』생방송바카라hdlkfjgldf
 
Tech Talks @NSU: Путь студента в IT-бизнес
Tech Talks @NSU: Путь студента в IT-бизнесTech Talks @NSU: Путь студента в IT-бизнес
Tech Talks @NSU: Путь студента в IT-бизнесTech Talks @NSU
 
레드카지노 ''SX797.COM'' 빙고노하우
레드카지노 ''SX797.COM'' 빙고노하우레드카지노 ''SX797.COM'' 빙고노하우
레드카지노 ''SX797.COM'' 빙고노하우hdlkfjgldf
 
스포츠북배팅 ''SX797.COM'' 실제바카라
스포츠북배팅 ''SX797.COM'' 실제바카라스포츠북배팅 ''SX797.COM'' 실제바카라
스포츠북배팅 ''SX797.COM'' 실제바카라hedrfgherj
 
Gamification - The Trending Things of eCommerce Business
Gamification - The Trending Things of eCommerce BusinessGamification - The Trending Things of eCommerce Business
Gamification - The Trending Things of eCommerce BusinessMike Taylor
 
2016.11.29 CP LaPrimaire.org - 100.000 citoyens inscrits
2016.11.29 CP LaPrimaire.org - 100.000 citoyens inscrits2016.11.29 CP LaPrimaire.org - 100.000 citoyens inscrits
2016.11.29 CP LaPrimaire.org - 100.000 citoyens inscritsLaPrimaire.org
 

Viewers also liked (7)

동네영웅『SX797』『СOM』생방송바카라
동네영웅『SX797』『СOM』생방송바카라동네영웅『SX797』『СOM』생방송바카라
동네영웅『SX797』『СOM』생방송바카라
 
Tech Talks @NSU: Путь студента в IT-бизнес
Tech Talks @NSU: Путь студента в IT-бизнесTech Talks @NSU: Путь студента в IT-бизнес
Tech Talks @NSU: Путь студента в IT-бизнес
 
레드카지노 ''SX797.COM'' 빙고노하우
레드카지노 ''SX797.COM'' 빙고노하우레드카지노 ''SX797.COM'' 빙고노하우
레드카지노 ''SX797.COM'' 빙고노하우
 
Resume
ResumeResume
Resume
 
스포츠북배팅 ''SX797.COM'' 실제바카라
스포츠북배팅 ''SX797.COM'' 실제바카라스포츠북배팅 ''SX797.COM'' 실제바카라
스포츠북배팅 ''SX797.COM'' 실제바카라
 
Gamification - The Trending Things of eCommerce Business
Gamification - The Trending Things of eCommerce BusinessGamification - The Trending Things of eCommerce Business
Gamification - The Trending Things of eCommerce Business
 
2016.11.29 CP LaPrimaire.org - 100.000 citoyens inscrits
2016.11.29 CP LaPrimaire.org - 100.000 citoyens inscrits2016.11.29 CP LaPrimaire.org - 100.000 citoyens inscrits
2016.11.29 CP LaPrimaire.org - 100.000 citoyens inscrits
 

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

AbsolutSoft: Contract Wars: hard and interesting way of creating a shooter
AbsolutSoft: Contract Wars: hard and interesting way of creating a shooterAbsolutSoft: Contract Wars: hard and interesting way of creating a shooter
AbsolutSoft: Contract Wars: hard and interesting way of creating a shooterDevGAMM Conference
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковWargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковDevGAMM Conference
 
Maksym Bezuglyi: Великий чек-лист планування виробництва гри
Maksym Bezuglyi: Великий чек-лист планування виробництва гриMaksym Bezuglyi: Великий чек-лист планування виробництва гри
Maksym Bezuglyi: Великий чек-лист планування виробництва гриLviv Startup Club
 
Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!Daria Oreshkina
 
ИКТ 03 Проектирование интерфейсов
ИКТ 03 Проектирование интерфейсовИКТ 03 Проектирование интерфейсов
ИКТ 03 Проектирование интерфейсовDenis Korolev
 
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...solit
 
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEКак сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEАртём Кудзев
 
Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...
Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...
Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...DevGAMM Conference
 
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...Моделирование продукта с использованием бумажного прототипирования. Agilecamp...
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...Andrew Shapiro
 
GameDev 2017 -Дмитро Костюкевич "Підводні камені при розробці VR гри"
GameDev 2017 -Дмитро Костюкевич "Підводні камені при розробці VR гри"GameDev 2017 -Дмитро Костюкевич "Підводні камені при розробці VR гри"
GameDev 2017 -Дмитро Костюкевич "Підводні камені при розробці VR гри"Lviv Startup Club
 
Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)DevGAMM Conference
 
Playcer - Game Layer on top of the World
Playcer - Game Layer on top of the WorldPlaycer - Game Layer on top of the World
Playcer - Game Layer on top of the WorldPlaycer
 
Xenao Games: Lessons of survival in the post-social game market
 Xenao Games: Lessons of survival in the post-social game market Xenao Games: Lessons of survival in the post-social game market
Xenao Games: Lessons of survival in the post-social game marketDevGAMM Conference
 
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...DevGAMM Conference
 
TК°Conf. Красивый интерфейс — это лишь часть крутого UX. Никита Ефимов.
TК°Conf. Красивый интерфейс — это лишь часть крутого UX. Никита Ефимов.TК°Conf. Красивый интерфейс — это лишь часть крутого UX. Никита Ефимов.
TК°Conf. Красивый интерфейс — это лишь часть крутого UX. Никита Ефимов.TKConf
 
Mail.Ru: Гейм-дизайн социальных игр
 Mail.Ru: Гейм-дизайн социальных игр Mail.Ru: Гейм-дизайн социальных игр
Mail.Ru: Гейм-дизайн социальных игрDevGAMM Conference
 
Красивый интерфейс – это лишь часть крутого UX
Красивый интерфейс – это лишь часть крутого UXКрасивый интерфейс – это лишь часть крутого UX
Красивый интерфейс – это лишь часть крутого UXNikita Efimov
 
King's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world gameKing's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world gameDevGAMM Conference
 

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

AbsolutSoft: Contract Wars: hard and interesting way of creating a shooter
AbsolutSoft: Contract Wars: hard and interesting way of creating a shooterAbsolutSoft: Contract Wars: hard and interesting way of creating a shooter
AbsolutSoft: Contract Wars: hard and interesting way of creating a shooter
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковWargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движков
 
Maksym Bezuglyi: Великий чек-лист планування виробництва гри
Maksym Bezuglyi: Великий чек-лист планування виробництва гриMaksym Bezuglyi: Великий чек-лист планування виробництва гри
Maksym Bezuglyi: Великий чек-лист планування виробництва гри
 
Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!
 
ИКТ 03 Проектирование интерфейсов
ИКТ 03 Проектирование интерфейсовИКТ 03 Проектирование интерфейсов
ИКТ 03 Проектирование интерфейсов
 
Multiplayer
MultiplayerMultiplayer
Multiplayer
 
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
 
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEКак сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
 
Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...
Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...
Сын Питча: как поднять деньги на игру мечты дважды / Кирилл Золовкин (Heart C...
 
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...Моделирование продукта с использованием бумажного прототипирования. Agilecamp...
Моделирование продукта с использованием бумажного прототипирования. Agilecamp...
 
GameDev 2017 -Дмитро Костюкевич "Підводні камені при розробці VR гри"
GameDev 2017 -Дмитро Костюкевич "Підводні камені при розробці VR гри"GameDev 2017 -Дмитро Костюкевич "Підводні камені при розробці VR гри"
GameDev 2017 -Дмитро Костюкевич "Підводні камені при розробці VR гри"
 
Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)
 
Playcer - Game Layer on top of the World
Playcer - Game Layer on top of the WorldPlaycer - Game Layer on top of the World
Playcer - Game Layer on top of the World
 
Xenao Games: Lessons of survival in the post-social game market
 Xenao Games: Lessons of survival in the post-social game market Xenao Games: Lessons of survival in the post-social game market
Xenao Games: Lessons of survival in the post-social game market
 
Rtb
RtbRtb
Rtb
 
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
UX дневник как инструмент тестирования игры / Мария Амирханян, Екатерина Лисо...
 
TК°Conf. Красивый интерфейс — это лишь часть крутого UX. Никита Ефимов.
TК°Conf. Красивый интерфейс — это лишь часть крутого UX. Никита Ефимов.TК°Conf. Красивый интерфейс — это лишь часть крутого UX. Никита Ефимов.
TК°Conf. Красивый интерфейс — это лишь часть крутого UX. Никита Ефимов.
 
Mail.Ru: Гейм-дизайн социальных игр
 Mail.Ru: Гейм-дизайн социальных игр Mail.Ru: Гейм-дизайн социальных игр
Mail.Ru: Гейм-дизайн социальных игр
 
Красивый интерфейс – это лишь часть крутого UX
Красивый интерфейс – это лишь часть крутого UXКрасивый интерфейс – это лишь часть крутого UX
Красивый интерфейс – это лишь часть крутого UX
 
King's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world gameKing's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world game
 

More from Tech Talks @NSU

Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...
Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...
Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...Tech Talks @NSU
 
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»Tech Talks @NSU
 
Back to the Future: Функциональное программирование вчера и сегодня
Back to the Future: Функциональное программирование вчера и сегодняBack to the Future: Функциональное программирование вчера и сегодня
Back to the Future: Функциональное программирование вчера и сегодняTech Talks @NSU
 
Что такое Highload? Секреты высокой нагрузки
Что такое Highload? Секреты высокой нагрузкиЧто такое Highload? Секреты высокой нагрузки
Что такое Highload? Секреты высокой нагрузкиTech Talks @NSU
 
Автоматическое доказательство теорем
Автоматическое доказательство теоремАвтоматическое доказательство теорем
Автоматическое доказательство теоремTech Talks @NSU
 
AOT-компиляция Java
AOT-компиляция JavaAOT-компиляция Java
AOT-компиляция JavaTech Talks @NSU
 
Защита от атак по сторонним каналам
Защита от атак по сторонним каналамЗащита от атак по сторонним каналам
Защита от атак по сторонним каналамTech Talks @NSU
 
Как приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMКак приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMTech Talks @NSU
 
Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальностьТестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальностьTech Talks @NSU
 
Гибкие методологии разработки ПО в реальном мире
 Гибкие методологии разработки ПО в реальном мире Гибкие методологии разработки ПО в реальном мире
Гибкие методологии разработки ПО в реальном миреTech Talks @NSU
 
Tech Talks @NSU: Что есть QA и как в него попасть
Tech Talks @NSU: Что есть QA и как в него попастьTech Talks @NSU: Что есть QA и как в него попасть
Tech Talks @NSU: Что есть QA и как в него попастьTech Talks @NSU
 
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...Tech Talks @NSU
 
Tech Talks @NSU: DLang: возможности языка и его применение
Tech Talks @NSU: DLang: возможности языка и его применениеTech Talks @NSU: DLang: возможности языка и его применение
Tech Talks @NSU: DLang: возможности языка и его применениеTech Talks @NSU
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU
 
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеруTech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеруTech Talks @NSU
 
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...Tech Talks @NSU
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU
 
Tech Talks @NSU: Мир open source — мир возможностей
Tech Talks @NSU: Мир open source — мир возможностейTech Talks @NSU: Мир open source — мир возможностей
Tech Talks @NSU: Мир open source — мир возможностейTech Talks @NSU
 
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...Tech Talks @NSU
 
Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность Tech Talks @NSU
 

More from Tech Talks @NSU (20)

Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...
Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...
Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...
 
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»
 
Back to the Future: Функциональное программирование вчера и сегодня
Back to the Future: Функциональное программирование вчера и сегодняBack to the Future: Функциональное программирование вчера и сегодня
Back to the Future: Функциональное программирование вчера и сегодня
 
Что такое Highload? Секреты высокой нагрузки
Что такое Highload? Секреты высокой нагрузкиЧто такое Highload? Секреты высокой нагрузки
Что такое Highload? Секреты высокой нагрузки
 
Автоматическое доказательство теорем
Автоматическое доказательство теоремАвтоматическое доказательство теорем
Автоматическое доказательство теорем
 
AOT-компиляция Java
AOT-компиляция JavaAOT-компиляция Java
AOT-компиляция Java
 
Защита от атак по сторонним каналам
Защита от атак по сторонним каналамЗащита от атак по сторонним каналам
Защита от атак по сторонним каналам
 
Как приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMКак приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVM
 
Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальностьТестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность
 
Гибкие методологии разработки ПО в реальном мире
 Гибкие методологии разработки ПО в реальном мире Гибкие методологии разработки ПО в реальном мире
Гибкие методологии разработки ПО в реальном мире
 
Tech Talks @NSU: Что есть QA и как в него попасть
Tech Talks @NSU: Что есть QA и как в него попастьTech Talks @NSU: Что есть QA и как в него попасть
Tech Talks @NSU: Что есть QA и как в него попасть
 
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
 
Tech Talks @NSU: DLang: возможности языка и его применение
Tech Talks @NSU: DLang: возможности языка и его применениеTech Talks @NSU: DLang: возможности языка и его применение
Tech Talks @NSU: DLang: возможности языка и его применение
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеруTech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
 
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
 
Tech Talks @NSU: Мир open source — мир возможностей
Tech Talks @NSU: Мир open source — мир возможностейTech Talks @NSU: Мир open source — мир возможностей
Tech Talks @NSU: Мир open source — мир возможностей
 
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
 
Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность
 

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