SlideShare a Scribd company logo
1 of 71
Wprowadzenie do UNet
Jak szybko zrobić grę Multiplayer?
Poznań 2016
Kim jestem?
WebDeveloper
Game Designer
GameDev Bloger
Gdzie moje ryby?
Rodzaje Multiplayera?
Rodzaje Multiplayera?
Rodzaje Multiplayera?
Rodzaje Multiplayera?
Co te pakiety?
Via Internet
CLIENTS
INTERNET
SERVER
Co te pakiety?
Via Internet
Via LAN
CLIENTS
INTERNET
SERVER
CLIENT/SERVER
ROUTER/SWITCH
CLIENT/SERVER
CLIENT/SERVER
Co te pakiety?
Match Making
Via LAN
CLIENTS
INTERNET
SERVER/HOST
CLIENT/SERVER
ROUTER/SWITCH
CLIENT/SERVER
CLIENT/SERVER
Server vs Host
Czym jest UNet?
UNet = Unity Networking
Co dostarcza UNet?
HLAPI
Integracja z edytorem i silnikiem
Serwisy internetowe
Warstwa transportowa
HLAPI - High Level API: Komponenty
HLAPI - High Level API: Komponenty
HLAPI - High Level API: Komponenty
HLAPI - High Level API: Komponenty
Auto Spawn
HLAPI - High Level API: Komponenty
Auto Spawn
Auto Visibility
HLAPI - High Level API: Komponenty
Auto Spawn
Auto Visibility
Scene Managment
HLAPI - High Level API: Komponenty
Auto Spawn
Auto Visibility
HLAPI - High Level API: Synchronizacja
HLAPI - High Level API: Synchronizacja
HLAPI - High Level API: Synchronizacja
HLAPI - High Level API: Funkcje i Atrybuty
HLAPI - High Level API: Funkcje i Atrybuty
HLAPI - High Level API: Funkcje i Atrybuty
HLAPI - High Level API: Funkcje i Atrybuty
HLAPI - High Level API
Komponenty <= HLAPI
Co dostarcza UNet?
HLAPI
Integracja z edytorem i silnikiem
Serwisy internetowe
Warstwa transportowa
Integracja z edytorem i silnikiem
Komponenety
NetworkBehaviour
Synchronizacja
NetworkIdentity
Co dostarcza UNet?
HLAPI
Integracja z edytorem i silnikiem
Serwisy internetowe
Warstwa transportowa
Serwisy Internetowe
https://developer.cloud.unity3d.com
Co dostarcza UNet?
HLAPI
Integracja z edytorem i silnikiem
Serwisy internetowe
Warstwa transportowa
Warstwa Transportowa
Warstwa Transportowa
Warstwa Transportowa
UDP / WebSockets
StartServer(matchResponse.address, matchResponse.port,
matchResponse.networkId, matchResponse.nodeId);
Gra w wersji LAN
Gra w wersji LAN
Tworzymy NetworkManger
Gra w wersji LAN
Tworzymy NetworkManger
Gra w wersji LAN
Tworzymy Network Manger
Gra w wersji LAN
Przygotowujemy Prefab Gracza
Gra w wersji LAN
Przygotowujemy Prefab Gracza
Gra w wersji LAN
Przygotowujemy Prefab Gracza
Gra w wersji LAN
Przygotowujemy Prefab Gracza
Gra w wersji LAN
Ustawiamy spawn gracza
Gra w wersji LAN
Ustawiamy spawn gracza
Gra w wersji LAN
Uruchamiamy!
Gra w wersji LAN
Gra w wersji Internet
Tworzymy projekt w Unity Cloud
https://developer.cloud.unity3d.com
Gra w wersji Internet
Przypisujemy projekt do projektu z Unity Cloud
Gra w wersji Internet
Powtarzamy kroki z wersji LAN...
Gra w wersji Internet
… ale uruchamiamy inaczej
Gra w wersji Internet
Nie trzeba kodzic?
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);
}
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);
}
Czy da sie zrobic MMO?
Co dobrego?
Komponenty załatwiają za nas dużo rzeczy
Integracja z Unity
Będzie rozwijało się wraz z silnikiem
Proste kodowanie
Można tworyć własne rozwiązania
Wszystko ma swoje wady
Match Making oparty na Unity Cloud
Bugi
Zależność
Mało literatury i tutoriali
UNet vs Photon
Darmowe
Serwer w chmurze
Na wszystkie platformy
Wystarczy jedna instancja
Serwer zna wygląd sceny
(optymalizacja)
$0.49 / GB
Darmowy
Dedykowane serwery
Miewa problemy z konsolami
Oddzielna instancja serwera
Serwer nie zna wyglądu sceny
$95 - 100 CCU
$95/m-ce - 500 CCU
UNet vs Photon
Darmowe
Serwer w chmurze
Na wszystkie platformy
Wystarczy jedna instancja
Serwer zna wygląd sceny
(optymalizacja)
$0.49 / GB
Darmowy
Dedykowane serwery
Miewa problemy z konsolami
Oddzielna instancja serwera
Serwer nie zna wyglądu sceny
$95 - 100 CCU
$95/m-ce - 500 CCU
Rozwoj UNet
Host Migration (5.3.x) - Komponent
Server Library (5.4) ?
UNet vs Photon
Darmowe
Serwer w chmurze
Na wszystkie platformy
Wystarczy jedna instancja
Serwer zna wygląd sceny
(optymalizacja)
$0.49 / GB
Darmowy
Dedykowane serwery
Miewa problemy z konsolami
Oddzielna instancja serwera
Serwer nie zna wyglądu sceny
$95 - 100 CCU
$95/m-ce - 500 CCU
UNet vs Photon
Darmowe
Serwer w chmurze
Na wszystkie platformy
Wystarczy jedna instancja
Serwer zna wygląd sceny
(optymalizacja)
$0.49 / GB
Darmowy
Dedykowane serwery
Miewa problemy z konsolami
Oddzielna instancja serwera
Serwer nie zna wyglądu sceny
$95 - 100 CCU
$95/m-ce - 500 CCU
UNet vs Photon
Darmowe
Serwer w chmurze
Na wszystkie platformy
Wystarczy jedna instancja
Serwer zna wygląd sceny
(optymalizacja)
$0.49 / GB
Darmowy
Dedykowane serwery
Miewa problemy z konsolami
Oddzielna instancja serwera
Serwer nie zna wyglądu sceny
$95 - 100 CCU
$95/m-ce - 500 CCU
UNet vs Photon
Darmowe
Serwer w chmurze
Na wszystkie platformy
Wystarczy jedna instancja
Serwer zna wygląd sceny
(optymalizacja)
$0.49 / GB
Darmowy
Dedykowane serwery
Miewa problemy z konsolami
Oddzielna instancja serwera
Serwer nie zna wyglądu sceny
$95 - 100 CCU
$95/m-ce - 500 CCU
CCU = Concurrent User
1 CCU = 100 Monthly Active Players
100 CCU * 20 Message/Player/Second * 200 Bytes = $120 / $480
Jak się liczy CCU?
Jak to działa w praktyce?
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 ;)
Pytania?
Poznań 2016
Dzieki za uwage!
marek@mwin.pl | fb/mwinblog | www.mwin.pl
Poznań 2016

More Related Content

Viewers also liked

Transporte ferroviario Ingenieria en Transporte (UPIICSA)
Transporte ferroviario Ingenieria en Transporte (UPIICSA)Transporte ferroviario Ingenieria en Transporte (UPIICSA)
Transporte ferroviario Ingenieria en Transporte (UPIICSA)Arsen15
 
Healthcare Digital Marketing Enabling Healthcare Firms for Digital Revolution
Healthcare Digital  Marketing Enabling Healthcare Firms for Digital RevolutionHealthcare Digital  Marketing Enabling Healthcare Firms for Digital Revolution
Healthcare Digital Marketing Enabling Healthcare Firms for Digital RevolutionInnoMind Technologies
 
20080507 gute ergebnisse
20080507 gute ergebnisse20080507 gute ergebnisse
20080507 gute ergebnisseFrank von Hagel
 
Eman Danial Resume - Exec. Secty 2015
Eman Danial Resume - Exec. Secty 2015Eman Danial Resume - Exec. Secty 2015
Eman Danial Resume - Exec. Secty 2015Eman Danial
 

Viewers also liked (7)

Transporte ferroviario Ingenieria en Transporte (UPIICSA)
Transporte ferroviario Ingenieria en Transporte (UPIICSA)Transporte ferroviario Ingenieria en Transporte (UPIICSA)
Transporte ferroviario Ingenieria en Transporte (UPIICSA)
 
Iora Health
Iora HealthIora Health
Iora Health
 
Healthcare Digital Marketing Enabling Healthcare Firms for Digital Revolution
Healthcare Digital  Marketing Enabling Healthcare Firms for Digital RevolutionHealthcare Digital  Marketing Enabling Healthcare Firms for Digital Revolution
Healthcare Digital Marketing Enabling Healthcare Firms for Digital Revolution
 
Thainá
ThaináThainá
Thainá
 
OPEN BIM
OPEN BIMOPEN BIM
OPEN BIM
 
20080507 gute ergebnisse
20080507 gute ergebnisse20080507 gute ergebnisse
20080507 gute ergebnisse
 
Eman Danial Resume - Exec. Secty 2015
Eman Danial Resume - Exec. Secty 2015Eman Danial Resume - Exec. Secty 2015
Eman Danial Resume - Exec. Secty 2015
 

Similar to Wstęp do UNet

Jak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com ITJak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com ITGOG.com dev team
 
Noc informatyka
Noc informatykaNoc informatyka
Noc informatykaOnetIT
 
TV i video w Internecie
TV i video w InternecieTV i video w Internecie
TV i video w InternecieDivante
 
Wirtualizacja Microsoft dla specjalistów VMware
Wirtualizacja Microsoft dla specjalistów VMwareWirtualizacja Microsoft dla specjalistów VMware
Wirtualizacja Microsoft dla specjalistów VMwareMariusz Kedziora
 
Jak poprawić Core Web Vitals w aplikacji Next.js
Jak poprawić Core Web Vitals w aplikacji Next.jsJak poprawić Core Web Vitals w aplikacji Next.js
Jak poprawić Core Web Vitals w aplikacji Next.jsThe Software House
 
Odśwież swoje Datacenter z Windows Server 2012
Odśwież swoje Datacenter z Windows Server 2012Odśwież swoje Datacenter z Windows Server 2012
Odśwież swoje Datacenter z Windows Server 2012Mariusz Kedziora
 
Video + Konferecja Polska 2014.Jak mądrze dokonać wyboru systemu do zunifikow...
Video + Konferecja Polska 2014.Jak mądrze dokonać wyboru systemu do zunifikow...Video + Konferecja Polska 2014.Jak mądrze dokonać wyboru systemu do zunifikow...
Video + Konferecja Polska 2014.Jak mądrze dokonać wyboru systemu do zunifikow...TrueConf
 
Skazani na firmware. Serwer na ARM64? Tak, to możliwe! S07E03
Skazani na firmware. Serwer na ARM64? Tak, to możliwe! S07E03Skazani na firmware. Serwer na ARM64? Tak, to możliwe! S07E03
Skazani na firmware. Serwer na ARM64? Tak, to możliwe! S07E03Semihalf
 
PLNOG15: Yang - latin of XXI centaury - Sławomir Janukowicz
PLNOG15: Yang - latin of XXI centaury - Sławomir JanukowiczPLNOG15: Yang - latin of XXI centaury - Sławomir Janukowicz
PLNOG15: Yang - latin of XXI centaury - Sławomir JanukowiczPROIDEA
 
Jak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.plJak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.plTomasz Karwatka
 
Jak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.plJak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.plDivante
 
Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Piotr Nalepa
 
Seminarium .Net CF 2004
Seminarium .Net CF 2004Seminarium .Net CF 2004
Seminarium .Net CF 2004Tomasz Cieplak
 
Castle Game Engine presentation at Zlot Programistów Delphi 2023 (Polish)
Castle Game Engine presentation at Zlot Programistów Delphi 2023 (Polish)Castle Game Engine presentation at Zlot Programistów Delphi 2023 (Polish)
Castle Game Engine presentation at Zlot Programistów Delphi 2023 (Polish)Michalis Kamburelis
 
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnychPROIDEA
 
Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012Mariusz Kedziora
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackThe Software House
 
Przykład wdrożenia nowych funkcjonalności i nowej szaty graficznej na stronie...
Przykład wdrożenia nowych funkcjonalności i nowej szaty graficznej na stronie...Przykład wdrożenia nowych funkcjonalności i nowej szaty graficznej na stronie...
Przykład wdrożenia nowych funkcjonalności i nowej szaty graficznej na stronie...Paweł Wawrzyniak
 

Similar to Wstęp do UNet (20)

Od Zera do Farmera
Od Zera do FarmeraOd Zera do Farmera
Od Zera do Farmera
 
Jak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com ITJak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com IT
 
Noc informatyka
Noc informatykaNoc informatyka
Noc informatyka
 
TV i video w Internecie
TV i video w InternecieTV i video w Internecie
TV i video w Internecie
 
Wirtualizacja Microsoft dla specjalistów VMware
Wirtualizacja Microsoft dla specjalistów VMwareWirtualizacja Microsoft dla specjalistów VMware
Wirtualizacja Microsoft dla specjalistów VMware
 
Jak poprawić Core Web Vitals w aplikacji Next.js
Jak poprawić Core Web Vitals w aplikacji Next.jsJak poprawić Core Web Vitals w aplikacji Next.js
Jak poprawić Core Web Vitals w aplikacji Next.js
 
Odśwież swoje Datacenter z Windows Server 2012
Odśwież swoje Datacenter z Windows Server 2012Odśwież swoje Datacenter z Windows Server 2012
Odśwież swoje Datacenter z Windows Server 2012
 
Video + Konferecja Polska 2014.Jak mądrze dokonać wyboru systemu do zunifikow...
Video + Konferecja Polska 2014.Jak mądrze dokonać wyboru systemu do zunifikow...Video + Konferecja Polska 2014.Jak mądrze dokonać wyboru systemu do zunifikow...
Video + Konferecja Polska 2014.Jak mądrze dokonać wyboru systemu do zunifikow...
 
Skazani na firmware. Serwer na ARM64? Tak, to możliwe! S07E03
Skazani na firmware. Serwer na ARM64? Tak, to możliwe! S07E03Skazani na firmware. Serwer na ARM64? Tak, to możliwe! S07E03
Skazani na firmware. Serwer na ARM64? Tak, to możliwe! S07E03
 
PLNOG15: Yang - latin of XXI centaury - Sławomir Janukowicz
PLNOG15: Yang - latin of XXI centaury - Sławomir JanukowiczPLNOG15: Yang - latin of XXI centaury - Sławomir Janukowicz
PLNOG15: Yang - latin of XXI centaury - Sławomir Janukowicz
 
Jak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.plJak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.pl
 
Jak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.plJak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.pl
 
Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...
 
Seminarium .Net CF 2004
Seminarium .Net CF 2004Seminarium .Net CF 2004
Seminarium .Net CF 2004
 
Castle Game Engine presentation at Zlot Programistów Delphi 2023 (Polish)
Castle Game Engine presentation at Zlot Programistów Delphi 2023 (Polish)Castle Game Engine presentation at Zlot Programistów Delphi 2023 (Polish)
Castle Game Engine presentation at Zlot Programistów Delphi 2023 (Polish)
 
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych
 
Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStack
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
Przykład wdrożenia nowych funkcjonalności i nowej szaty graficznej na stronie...
Przykład wdrożenia nowych funkcjonalności i nowej szaty graficznej na stronie...Przykład wdrożenia nowych funkcjonalności i nowej szaty graficznej na stronie...
Przykład wdrożenia nowych funkcjonalności i nowej szaty graficznej na stronie...
 

Wstęp do UNet