Lviv GameDev Mixer Данило Сиротинський "Практичний досвід...
-
Upload
lviv-startup-club -
Category
Business
-
view
360 -
download
1
Transcript of Lviv GameDev Mixer Данило Сиротинський "Практичний досвід...
![Page 1: Lviv GameDev Mixer Данило Сиротинський "Практичний досвід синхронізації ігор по мережі"](https://reader034.fdocument.pub/reader034/viewer/2022042706/58706ff91a28ab48378b7569/html5/thumbnails/1.jpg)
Мій досвід синхронізації ігор по мережіДанило Сиротинський
![Page 2: Lviv GameDev Mixer Данило Сиротинський "Практичний досвід синхронізації ігор по мережі"](https://reader034.fdocument.pub/reader034/viewer/2022042706/58706ff91a28ab48378b7569/html5/thumbnails/2.jpg)
Зміст презентації
1. Архітектура мережевих ігор2. Розробка власного рішення на прикладі гри Ballad Blades3. Робота з Photon Network4. Інтернетизація гри Tyran
![Page 3: Lviv GameDev Mixer Данило Сиротинський "Практичний досвід синхронізації ігор по мережі"](https://reader034.fdocument.pub/reader034/viewer/2022042706/58706ff91a28ab48378b7569/html5/thumbnails/3.jpg)
Звязуємся зі світом
![Page 4: Lviv GameDev Mixer Данило Сиротинський "Практичний досвід синхронізації ігор по мережі"](https://reader034.fdocument.pub/reader034/viewer/2022042706/58706ff91a28ab48378b7569/html5/thumbnails/4.jpg)
Види архітектур
1. Авторитарний сервер (Authoritative server) 2. Передбачення на клієнті (Client-side prediction)3. Паралельна симуляція (Parallel simulation)
![Page 5: Lviv GameDev Mixer Данило Сиротинський "Практичний досвід синхронізації ігор по мережі"](https://reader034.fdocument.pub/reader034/viewer/2022042706/58706ff91a28ab48378b7569/html5/thumbnails/5.jpg)
Авторитарний сервер
![Page 6: Lviv GameDev Mixer Данило Сиротинський "Практичний досвід синхронізації ігор по мережі"](https://reader034.fdocument.pub/reader034/viewer/2022042706/58706ff91a28ab48378b7569/html5/thumbnails/6.jpg)
Передбачення на клієнті
![Page 7: Lviv GameDev Mixer Данило Сиротинський "Практичний досвід синхронізації ігор по мережі"](https://reader034.fdocument.pub/reader034/viewer/2022042706/58706ff91a28ab48378b7569/html5/thumbnails/7.jpg)
Паралельна симуляція
![Page 8: Lviv GameDev Mixer Данило Сиротинський "Практичний досвід синхронізації ігор по мережі"](https://reader034.fdocument.pub/reader034/viewer/2022042706/58706ff91a28ab48378b7569/html5/thumbnails/8.jpg)
Власне рішення в Ballad Blades
0. Вирішили допиляти нетворкінг1. Розробили мережевий протокол2. Зробили авторитарний standalone сервер3. Синхронізували сутності4. Переробили на client-server
![Page 9: Lviv GameDev Mixer Данило Сиротинський "Практичний досвід синхронізації ігор по мережі"](https://reader034.fdocument.pub/reader034/viewer/2022042706/58706ff91a28ab48378b7569/html5/thumbnails/9.jpg)
Photon Network
![Page 10: Lviv GameDev Mixer Данило Сиротинський "Практичний досвід синхронізації ігор по мережі"](https://reader034.fdocument.pub/reader034/viewer/2022042706/58706ff91a28ab48378b7569/html5/thumbnails/10.jpg)
Працюємо з фотоном
1. Сервак чи клауд2. Створюємо кімнату3. Інтегруємо з обєктами PhotonView4. Синхронно викликаємо команди RPC5. Синхронізовуємо поля з допомогою OnPhotonSerializeView ()
![Page 11: Lviv GameDev Mixer Данило Сиротинський "Практичний досвід синхронізації ігор по мережі"](https://reader034.fdocument.pub/reader034/viewer/2022042706/58706ff91a28ab48378b7569/html5/thumbnails/11.jpg)
Tyran
![Page 12: Lviv GameDev Mixer Данило Сиротинський "Практичний досвід синхронізації ігор по мережі"](https://reader034.fdocument.pub/reader034/viewer/2022042706/58706ff91a28ab48378b7569/html5/thumbnails/12.jpg)
Нетворкінгуємо Tyran через Photon
0. Інтеграцією мережевої логіки займаємося з самого початку1. Id базуються на PhotonView2. Photon.offlineMode для офлайн гри3. Вбудовуємо RPC глибоко в ігрову архітектуру4. Розмежовуємо відповідальність за своїх юнітів на кожного з клієнтів5. Враховуємо час виклику RPC по мережі для кращої синхронізації
![Page 13: Lviv GameDev Mixer Данило Сиротинський "Практичний досвід синхронізації ігор по мережі"](https://reader034.fdocument.pub/reader034/viewer/2022042706/58706ff91a28ab48378b7569/html5/thumbnails/13.jpg)
Дякую за Увагу!