wstęp do unet
TRANSCRIPT
![Page 1: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/1.jpg)
Wprowadzenie do UNetJak szybko zrobić grę Multiplayer?
Poznań 2016
![Page 2: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/2.jpg)
Kim jestem?
WebDeveloper
Game Designer
GameDev Bloger
![Page 3: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/3.jpg)
Gdzie moje ryby?
![Page 4: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/4.jpg)
Rodzaje Multiplayera?
![Page 5: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/5.jpg)
Rodzaje Multiplayera?
![Page 6: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/6.jpg)
Rodzaje Multiplayera?
![Page 7: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/7.jpg)
Rodzaje Multiplayera?
![Page 8: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/8.jpg)
Co te pakiety?
Via Internet
CLIENTS
INTERNET
SERVER
![Page 9: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/9.jpg)
Co te pakiety?
Via Internet
Via LAN
CLIENTS
INTERNET
SERVER
CLIENT/SERVER
ROUTER/SWITCH
CLIENT/SERVER
CLIENT/SERVER
![Page 10: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/10.jpg)
Co te pakiety?
Match Making
Via LAN
CLIENTS
INTERNET
SERVER/HOST
CLIENT/SERVER
ROUTER/SWITCH
CLIENT/SERVER
CLIENT/SERVER
![Page 11: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/11.jpg)
Server vs Host
![Page 12: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/12.jpg)
Czym jest UNet?
UNet = Unity Networking
![Page 13: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/13.jpg)
Co dostarcza UNet?
HLAPI
Integracja z edytorem i silnikiem
Serwisy internetowe
Warstwa transportowa
![Page 14: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/14.jpg)
HLAPI - High Level API: Komponenty
![Page 15: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/15.jpg)
HLAPI - High Level API: Komponenty
![Page 16: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/16.jpg)
HLAPI - High Level API: Komponenty
![Page 17: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/17.jpg)
HLAPI - High Level API: Komponenty
Auto Spawn
![Page 18: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/18.jpg)
HLAPI - High Level API: Komponenty
Auto Spawn
Auto Visibility
![Page 19: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/19.jpg)
HLAPI - High Level API: Komponenty
Auto Spawn
Auto Visibility
Scene Managment
![Page 20: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/20.jpg)
HLAPI - High Level API: Komponenty
Auto Spawn
Auto Visibility
![Page 21: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/21.jpg)
HLAPI - High Level API: Synchronizacja
![Page 22: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/22.jpg)
HLAPI - High Level API: Synchronizacja
![Page 23: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/23.jpg)
HLAPI - High Level API: Synchronizacja
![Page 24: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/24.jpg)
HLAPI - High Level API: Funkcje i Atrybuty
![Page 25: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/25.jpg)
HLAPI - High Level API: Funkcje i Atrybuty
![Page 26: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/26.jpg)
HLAPI - High Level API: Funkcje i Atrybuty
![Page 27: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/27.jpg)
HLAPI - High Level API: Funkcje i Atrybuty
![Page 28: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/28.jpg)
HLAPI - High Level API
Komponenty <= HLAPI
![Page 29: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/29.jpg)
Co dostarcza UNet?
HLAPI
Integracja z edytorem i silnikiem
Serwisy internetowe
Warstwa transportowa
![Page 30: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/30.jpg)
Integracja z edytorem i silnikiem
Komponenety
NetworkBehaviour
Synchronizacja
NetworkIdentity
![Page 31: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/31.jpg)
Co dostarcza UNet?
HLAPI
Integracja z edytorem i silnikiem
Serwisy internetowe
Warstwa transportowa
![Page 32: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/32.jpg)
Serwisy Internetowehttps://developer.cloud.unity3d.com
![Page 33: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/33.jpg)
Co dostarcza UNet?
HLAPI
Integracja z edytorem i silnikiem
Serwisy internetowe
Warstwa transportowa
![Page 34: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/34.jpg)
Warstwa Transportowa
![Page 35: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/35.jpg)
Warstwa Transportowa
![Page 36: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/36.jpg)
Warstwa Transportowa
UDP / WebSockets
StartServer(matchResponse.address, matchResponse.port, matchResponse.networkId, matchResponse.nodeId);
![Page 37: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/37.jpg)
Gra w wersji LAN
![Page 38: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/38.jpg)
Gra w wersji LAN
Tworzymy NetworkManger
![Page 39: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/39.jpg)
Gra w wersji LAN
Tworzymy NetworkManger
![Page 40: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/40.jpg)
Gra w wersji LAN
Tworzymy Network Manger
![Page 41: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/41.jpg)
Gra w wersji LAN
Przygotowujemy Prefab Gracza
![Page 42: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/42.jpg)
Gra w wersji LAN
Przygotowujemy Prefab Gracza
![Page 43: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/43.jpg)
Gra w wersji LAN
Przygotowujemy Prefab Gracza
![Page 44: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/44.jpg)
Gra w wersji LAN
Przygotowujemy Prefab Gracza
![Page 45: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/45.jpg)
Gra w wersji LAN
Ustawiamy spawn gracza
![Page 46: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/46.jpg)
Gra w wersji LAN
Ustawiamy spawn gracza
![Page 47: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/47.jpg)
Gra w wersji LAN
Uruchamiamy!
![Page 48: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/48.jpg)
Gra w wersji LAN
![Page 49: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/49.jpg)
Gra w wersji Internet
Tworzymy projekt w Unity Cloudhttps://developer.cloud.unity3d.com
![Page 50: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/50.jpg)
Gra w wersji Internet
Przypisujemy projekt do projektu z Unity Cloud
![Page 51: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/51.jpg)
Gra w wersji Internet
Powtarzamy kroki z wersji LAN...
![Page 52: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/52.jpg)
Gra w wersji Internet
… ale uruchamiamy inaczej
![Page 53: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/53.jpg)
Gra w wersji Internet
![Page 54: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/54.jpg)
Nie trzeba kodzic?
![Page 55: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/55.jpg)
SinglePlayer = MultiPlayer
[Command] void CmdDoFire(float lifeTime) { GameObject bullet = (GameObject)Instantiate( bulletPrefab, transform.position + transform.right, Quaternion.identity); var bullet2D = bullet.GetComponent<Rigidbody2D>(); bullet2D.velocity = transform.right * bulletSpeed; Destroy(bullet, lifeTime);
NetworkServer.Spawn(bullet); }
![Page 56: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/56.jpg)
SinglePlayer = MultiPlayer
[Command] void CmdDoFire(float lifeTime) { GameObject bullet = (GameObject)Instantiate( bulletPrefab, transform.position + transform.right, Quaternion.identity); var bullet2D = bullet.GetComponent<Rigidbody2D>(); bullet2D.velocity = transform.right * bulletSpeed; Destroy(bullet, lifeTime);
NetworkServer.Spawn(bullet); }
![Page 57: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/57.jpg)
Czy da sie zrobic MMO?
![Page 58: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/58.jpg)
Co dobrego?
Komponenty załatwiają za nas dużo rzeczyIntegracja z UnityBędzie rozwijało się wraz z silnikiemProste kodowanieMożna tworyć własne rozwiązania
![Page 59: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/59.jpg)
Wszystko ma swoje wady
Match Making oparty na Unity CloudBugiZależność
Mało literatury i tutoriali
![Page 60: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/60.jpg)
UNet vs Photon
DarmoweSerwer w chmurzeNa wszystkie platformyWystarczy jedna instancjaSerwer zna wygląd sceny
(optymalizacja)$0.49 / GB
DarmowyDedykowane serweryMiewa problemy z konsolamiOddzielna instancja serweraSerwer nie zna wyglądu
sceny$95 - 100 CCU
$95/m-ce - 500 CCU
![Page 61: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/61.jpg)
UNet vs Photon
DarmoweSerwer w chmurzeNa wszystkie platformyWystarczy jedna instancjaSerwer zna wygląd sceny
(optymalizacja)$0.49 / GB
DarmowyDedykowane serweryMiewa problemy z konsolamiOddzielna instancja serweraSerwer nie zna wyglądu
sceny$95 - 100 CCU
$95/m-ce - 500 CCU
![Page 62: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/62.jpg)
Rozwoj UNet
Host Migration (5.3.x) - KomponentServer Library (5.4) ?
![Page 63: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/63.jpg)
UNet vs Photon
DarmoweSerwer w chmurzeNa wszystkie platformyWystarczy jedna instancjaSerwer zna wygląd sceny
(optymalizacja)$0.49 / GB
DarmowyDedykowane serweryMiewa problemy z konsolamiOddzielna instancja serweraSerwer nie zna wyglądu
sceny$95 - 100 CCU
$95/m-ce - 500 CCU
![Page 64: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/64.jpg)
UNet vs Photon
DarmoweSerwer w chmurzeNa wszystkie platformyWystarczy jedna instancjaSerwer zna wygląd sceny
(optymalizacja)$0.49 / GB
DarmowyDedykowane serweryMiewa problemy z konsolamiOddzielna instancja serweraSerwer nie zna wyglądu
sceny$95 - 100 CCU
$95/m-ce - 500 CCU
![Page 65: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/65.jpg)
UNet vs Photon
DarmoweSerwer w chmurzeNa wszystkie platformyWystarczy jedna instancjaSerwer zna wygląd sceny
(optymalizacja)$0.49 / GB
DarmowyDedykowane serweryMiewa problemy z konsolamiOddzielna instancja serweraSerwer nie zna wyglądu
sceny$95 - 100 CCU
$95/m-ce - 500 CCU
![Page 66: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/66.jpg)
UNet vs Photon
DarmoweSerwer w chmurzeNa wszystkie platformyWystarczy jedna instancjaSerwer zna wygląd sceny
(optymalizacja)$0.49 / GB
DarmowyDedykowane serweryMiewa problemy z konsolamiOddzielna instancja serweraSerwer nie zna wyglądu
sceny$95 - 100 CCU
$95/m-ce - 500 CCU
![Page 67: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/67.jpg)
CCU = Concurrent User
1 CCU = 100 Monthly Active Players100 CCU * 20 Message/Player/Second * 200 Bytes = $120 /
$480Jak się liczy CCU?
![Page 68: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/68.jpg)
Jak to działa w praktyce?
![Page 69: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/69.jpg)
Literatura?
UNet Manual(http://docs.unity3d.com/Manual/UNetOverview.html)
Gamasutra(http://www.gamasutra.com/blogs/ChristianArellano/20150922/254218/UNET_Unity_5_Networking_Tutorial_Part_1_of_3__Introducing_the_HLAPI.php)
YouTube: Gamer To Game Developer(https://www.youtube.com/watch?v=sKZJRXMJL30&list=PLwyZdDTyvucyAeJ_rbu_fbiUtGOVY55BG)
mWin.pl ;)
![Page 70: Wstęp do UNet](https://reader031.vdocuments.site/reader031/viewer/2022021813/587924f91a28abf13a8b7f13/html5/thumbnails/70.jpg)
Pytania?
Poznań 2016