Background. Streaming games is traditionally done with video and audio both for watching on websites like Twitch and YouTube or playing via cloud gaming services. Streaming with video and audio requires good internet speeds to be of satisfactory quality therefore compression algorithms are used. Compression algorithms decrease bandwidth usage but it also lowers the quality of the stream. An alternative would be to stream game states and user inputs to recreate the game state for the viewer, this would lower the bandwidth usage while not compromising the quality. Objectives. This thesis aims to explore and compare a generalized streaming tool for the Godot engine. Where game states and user inputs are sent between two game instances to synchronize the host game with the client game. The tool will then be compared to a video and audio streaming setup in terms of image quality, bandwidth, and processing power. Methods. A combination of state replication and client simulation has been implemented for a streaming tool for games. Bandwidth, image quality, and processing power metrics are gathered for seven games for streaming with state replication and client simulation. The performance metrics have also been gathered when streaming video and audio data. To validate the streaming tool, the seven games were visually compared between images from the host and client of the streaming tool. Results. Compared to streaming video and audio data there was shown to be an overhead for streaming game states and user inputs. This overhead causes multiple games to have significant performance issues in terms of processing power for the CPU. In terms of image quality and bandwidth, the generalized streaming tool performed better. Conclusions. The results showed that there is a possibility for a generalized streaming tool for the Godot engine to be successfully implemented. The implementation of the Godot streaming tool didn't work perfectly for each tested game, but most games use less bandwidth and there's no quality loss regarding the image quality. However, the streaming tool requires better hardware than traditional video and audio streaming. / Bakgrund. Att strema spel är oftast gjord med ljud och bild på webbsidor som Twitch eller Youtube, det används också i cloud gaming. Att skicka ljud och bild via nätet kräver bra bandbredd, även när man minskar bandbredden genom existerande komprimerings algoritmer som påverkar kvalitén. Genom att skicka knapp-tryckningar och lägen av spelet, så kan spelläget återskapas hos tittaren och där med minska användning av bandbredden och kvalitén skulle inte bli påverkad. Syfte. Det här examensarbetet utforskar ett spel-agnostiskt streaming verktyg för Godot. Verktyget fungerar genom att skicka knapptryckningar och speldata från en host till en klient för att synkronisera klientens spel till att matcha hostens spel. Sen kommer data från verktyget och traditionell streaming samlas in för att jämföra skillnaden i bildkvalitet, bandbredd, och processanvändning. Metod. Ett spel-agnostisk streaming verktyg blev implementerade för Godot, som använder sig av state replication och client simulation för att synkronisera spel. Sen samlades data in genom att testa sju spel gjorda med Godot, både för verktyget och traditionell video och ljud streaming. Datan som samlades in innehåll bandbredddata, process användning, och bilddata, datan jämfördes och blev analyserad. Resultat. Jämförd med traditionell streaming så använder den spel-agnostiska streaming verktyget betydligt mindre bandbredd och hade bättre bildkvalitet. Medantraditionell streaming använde mindre process användning och differensen mellanspelen var väldigt liten jämfört med streaming verktyget. Slutsatser. Resultatet visade att det finns en chans för spel streaming med knapp-tryckningar och spellägen att vara ett vettigt alternativ för traditionell streaming. Verktyget är inte helt spel-agnostisk för alla spel gjorda i Godot men det använder mindre bandbredd för de flesta spelen och bildkvaliteten är bättre. Men verktyget kräver bättre hårdvara än vanlig streaming med ljud och bild.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:bth-24712 |
Date | January 2023 |
Creators | Axelsson, Sam, Eriksson, Filip |
Publisher | Blekinge Tekniska Högskola, Institutionen för datavetenskap |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.017 seconds