Vernetzte Räume

Aus hyperdramatik
Zur Navigation springen Zur Suche springen

Zeitraum: 21. - 23.04. und 28. - 30.04 jeweils 11:00 - 13:00 und 14:00 - 16:00 Uhr

Inhalt: Auf Basis von von uns zur Verfügung gestelltem Unity Code werden wir einen gemeinsam geteilten virtuellen Raum untersuchen und sowohl technisch als auch ästhetisch verändern. Wir lernen High Level Netzwerke, Server-Client Infrastruktur, sowie unterschiedliche Perspektiven auf vernetzte virtuelle Welten kennen.

Der von uns zur Verfügung gestellte, gut dokumentierte Unity Code läuft auf Windows, Android (mit ARCore), Oculus Go, sowie im Browser und ist über einen Linux Server vernetzt. Ebenso wird es eine Schnittstelle zu Arduino geben. Wir werden euch einen eigenen Linux Server für den Workshop zur Verfügung stellen, auf dem ihr eure eigenen vernetzten online-Räume ausprobieren könnt. Und wir erklären verständlich, wie das alles funktioniert.

Im Rahmen des Workshops werden wir diskutieren, welche Handlungsmöglichkeiten in vernetzten virtuellen Räumen sinnhaft sind, wie sinnhaftes geteiltes Erleben gelingen kann, und welche Unterschiede und Möglichkeiten in virtuellem Embodiment bestehen.

Im Rahmen des Workshops wird es konzeptionelle und technische Aufgaben geben, die ausserhalb der Workshopzeit bearbeitet werden sollen.


Inhalte nach Ablauf

PREPARE

create your character (optional)

download file and edit:
friedrich_character.png

download && install stuff

1. Installieren von Unity 2019.3.10f1 auf eurem NUC über den Unity Hub (bitte nutzt immer den Unity Hub!)

(Bitte habt Verständnis, dass wir leider keine Kapazitäten haben, andere Installationen zu betreuen)

2. Download und Installation des Programms WinSCP: https://winscp.net/eng/download.php

3. Download und Installation von MobaXterm - Home Edition: https://mobaxterm.mobatek.net/download.html

4. Discord sollte auf eurem NUC laufen, damit wir dort Dateien und Code-Snippets hin und her schicken können.

Wir werden den gesamten Kurs über am NUC arbeiten.


THE GAME

http://ladenlokal.hyperdramatik.net/ struktur geht für bis zu 1000 leute


DAY 1: NETWORKS

SCHEDULE

11-12:00 skype (video call) pause 12:15-13:00 skype (video call) lunch 14-16:00 discord (chat)

PART1: definitions and explanations

What is a network?

What is a network protocol? Network protocols are formal standards and policies made up of rules, procedures and formats that defines communication between two or more devices over a network.

  • TCP - transmission control protocol
  • PPOE - peer to peer over ethernet (router --> ISP)
  • UDP - user datagram protocol
  • DNS - domain name service (a hierarchical and decentralized naming system for computers, services, or other resources connected to the Internet or a private network)
  • IP - internet protocol
  • OSC - open sound control
  • MQTT - Message Queuing Telemetry Transport (a lightweight messaging protocol for small sensors and mobile devices, optimized for high-latency or unreliable networks)
  • HTTP - Hypertext Transfer Protocol
  • FTP - file transfer protocol
  • SMTP - secure mail transfer protocol
  • SSH - Secure Shell (a cryptographic network protocol for operating network services securely over an unsecured network)

protocols build upon one another... IP --> TCP --> HTTP (our daily use of internet) IP --> UDP --> OSC (used in many S&&O projects)

TCP vs. UDP Friedrich's Lieblingswitz: I could tell you a UDP joke, but you might not get it TCP checks if things arrived in the right order

What is a standard? Difference between a standard and a protocol? all protocols are standards not all standards are protocols

COMPUTER <---> ROUTER <---> FRANKFURT (COMPUTER IN DATACENTER)

Data Center / Server Farm serverfarm-foto-eshopper-dotco.png

5G --> frequency and hardware required

Q: how does THE INTERNET know what datapackets are for who/where? A: PORTS!

PORT 80 - the internet port PORT 21 -

Port numbers 0 to 1024 are reserved for privileged services and designated as well-known ports. This is a list of TCP and UDP port numbers used by protocols of the Internet protocol suite for operation of network applications. >> https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

(Certificates)

What happens when I open a website?

setup: PC (personal computer, hardware, material reality) --> OS (operating system) --> Firefox (software, browser) PC: processor, storage, network chip.... network chip (hardware) --> network adaptor (OS)

image:

script:

computer sends code that then runs on receiving computer. end of communication,

Client: website! (multiplayer.spielundobjekt.de) // actually: a readable IP address

all the website does is distribute the code file to the computers that access it

///////////////////LUNCH///////////////////

PART2: unity && git

im Folgenden wollen wir: 1. ein Plugin für unity aus dem Asset store installieren 2. über dieses Plugin auf den Code zugreifen 3. In Unity Eine VErsion für den Server builden 4. In Unity eine Version für die Webseite builden 5. Grosse Freude haben! Nun zu den einzelnen Dingen Falls ihr Unity offen habt, schliesst es bitte wieder öffnet dann bitte den Unity Hub

Unity Hub Installs (2019) --> Add Modules --> schaut bitte auch das Linux Build Support und WebGL Build Support angeklickt sind --> INSTALL. . . . . . . . . (can take some time)

nachdem alle modules installiert sind, gehen wir zurück auf "Projects" und dann klicken wir auf "New":

  • select 3D
  • name project
  • where to save
  • create!

In Unity, klickt auf den "Asset Store" Tab:

und gebt dann im Suchfeld "git" ein:

drückt dann "Enter"

und klickt dann auf "GitHub for Unity"

click: Download --> Accept --> Import --> Import (sign in if requested)

in eurem Assets Folder sollte dann auch noch ein Folder namens "Plugins" sein: dann unter "Window -> GitHub"

dann kommt rechts anstelle des Inspectors ein neues fenster auf "settings" tab klicken:

dann das ausfüllen:

  • name
  • email

click: "save user"

switch to "initialize" tab click: "initialize a git repository"

auf "Settings" klicken:

  • new*: Repository Configuration

paste into "remote: origin": "https://github.com/spielundobjekt/Unity-Basic-Multiplayer" click: save repository

wir haben es fast geschafft! https://tenor.com/view/dont-stop-dont-give-up-kid-advice-motivation-gif-4496803

auf "Changes" klicken: Dann mit der rechten Maustaste auf "Assets"klicken: dann discard dann, bei nachfrage, einfach mal sicher sein, und discard drücken bei mir ist github dann abgestürzt