Knowledge base: Warsaw University of Technology

Settings and your account

Back

P2P network - based MMO action game

Michał Piotr Słupczyński, Wojciech Marcin Zyskowski

Abstract

The topic of this thesis is the application of the Unity3D engine along with the integrated developer environment provided by Microsoft Visual Studio in order to create a peer-to-peer-based multiplayer action game -- ``Bad Syntax'', where players are pitted into a fight between three factions and are tasked to help one of them to achieve victory. This project covers multiple problems from the Computer Science including but not limited to path finding, procedural generation, real-time network communication, artificial intelligence, two- and three-dimensional computer graphics and physics simulations making use of complex mathematical formulas. In ``Bad Syntax'' player is placed in the role of a game tester stuck in virtual reality and has to fight for survival. The map is populated by multiple enemies and three bases representing factions. The winning condition is to be the last standing faction. To provide such gaming experience, the authors have prepared multiple custom systems that make up the game. A procedural map generation algorithm basing on a pseudo-random number generator creates worlds, in which the game takes place. An artificial intelligence system guides the behaviours of non-playable characters and provides them with the path finding required to navigate the created map. The implemented game engine allows for player progression via skills and levels and for relations between the players and the in-game factions. The modular design of the application allows for easy introduction of changes and additions to the game world. The following Bachelor thesis has been divided into two major parts: the game itself and its networking layer. The latter implements a server application that mediates peer discovery and connection establishment supporting users from private sub-networks. Implemented multiplayer gameplay allows for up to eight players to interconnect in game and compete for the title of best player based on their games ranking. To provide real time communication in multiplayer module custom communication protocol over UDP has been developed. This project has led to interesting conclusions regarding the use of Unity3D in multiplayer games and the problem of non-deterministic simulation this engine introduces. Various issues encountered in the development process allowed the authors to familiarize themselves with mechanisms that guide process of game development and allowed to construct a functional game engine prototype, which can be easily extended into a full, commercially viable application.
Diploma type
Engineer's / Bachelor of Science
Diploma type
Engineer's thesis
Author
Michał Piotr Słupczyński (FMIS) Michał Piotr Słupczyński,, Faculty of Mathematics and Information Science (FMIS) Wojciech Marcin Zyskowski (FMIS) Wojciech Marcin Zyskowski,, Faculty of Mathematics and Information Science (FMIS)
Title in Polish
Gra akcji typu MMO oparta na protokole P2P
Supervisor
Paweł Rzążewski (FMIS/DACSCM) Paweł Rzążewski,, Department of Applied Computer Science and Computation Methods (FMIS/DACSCM)Faculty of Mathematics and Information Science (FMIS)
Certifying unit
Faculty of Mathematics and Information Science (FMIS)
Affiliation unit
Department of Applied Computer Science and Computation Methods (FMIS/DACSCM)
Study subject / specialization
, Informatyka (Computer Science)
Language
(en) English
Status
Finished
Defense Date
15-02-2016
Issue date (year)
2016
Reviewers
Krzysztof Kaczmarski (FMIS/DACSCM) Krzysztof Kaczmarski,, Department of Applied Computer Science and Computation Methods (FMIS/DACSCM)Faculty of Mathematics and Information Science (FMIS) Paweł Rzążewski (FMIS/DACSCM) Paweł Rzążewski,, Department of Applied Computer Science and Computation Methods (FMIS/DACSCM)Faculty of Mathematics and Information Science (FMIS) Paweł Rzążewski (FMIS/DACSCM) Paweł Rzążewski,, Department of Applied Computer Science and Computation Methods (FMIS/DACSCM)Faculty of Mathematics and Information Science (FMIS) Krzysztof Kaczmarski (FMIS/DACSCM) Krzysztof Kaczmarski,, Department of Applied Computer Science and Computation Methods (FMIS/DACSCM)Faculty of Mathematics and Information Science (FMIS)
Keywords in Polish
Wieloosobowa, Gra, Unity 3D
Keywords in English
Multiplayer, Game, Unity 3D
Abstract in Polish
Tematem niniejszej pracy jest zastosowanie silnika Unity3D wraz ze zintegrowanym środowiskiem deweloperskim Microsoft Visual Studio w celu stworzenia wieloosobowej gry akcji opierającej się na sieci typu peer-to-peer -- ``Bad Syntax'', w której gracze są wrzuceni w wir walki między trzema frakcjami i mają za zadanie pomóc jednej z nich w osiągnięciu zwycięstwa. Projekt ten obejmuje wiele problemów inżynierskich, w tym proceduralną generacje mapy, komunikację po sieci w czasie rzeczywistym, sztuczną inteligencję, dwu- i trójwymiarową grafikę komputerową i symulację fizyki wykorzystującą skomplikowane formuły matematyczne. W ``Bad Syntax'', gracze są postawieni w roli testera gier, który utknął w wirtualnej rzeczywistości i musi walczyć o przetrwanie. Na mapie znajduje się wielu wrogów i trzy bazy reprezentujące frakcje. By zwyciężyć, gracz powinien przynależeć do frakcji, która jako ostatnia pozostanie przy życiu. Aby zapewnić taki styl rozgrywki, przygotowano wiele autorskich systemów, które tworzą tę grę. Proceduralny algorytm generowania map w oparciu o liczby pseudolosowe tworzy światy, w których odbywa się rozgrywka. System sztucznej inteligencji nadzoruje zachowania bohaterów niezależnych (NPC) i znajduje ścieżki po których mogą się poruszać na stworzonej wcześniej mapie. Zaimplementowany silnik gry pozwala na rozwój postaci gracza za pomocą nowych umiejętności i uzyskanych poziomów, a także na relacje między graczami a frakcjami w grze. Modułowa architektura aplikacji pozwala na łatwe wprowadzanie zmian i dodatków do świata gry. Niniejsza praca inżynierska została podzielona na dwie główne części: grę i jej warstwę sieciową. Ta druga wprowadza aplikację serwera, który pośredniczy w odkrywaniu i ustanowieniu połączenia z innymi użytkownikami, wspierając połączenia z prywatnych podsieci. Rozgrywka wieloosobowa pozwala graczom połączyć się w grach do maksymalnie ośmiu osób i rywalizować o tytuł najlepszego gracza na podstawie swojego rankingu. Aby zapewnić komunikację w czasie rzeczywistym, w module multiplayer został opracowany własny protokół komunikacji przez UDP. Projekt ten zaowocował interesującymi wnioskami dotyczącymi wykorzystania Unity3D w grach wieloosobowych i problemu niedeterministycznej symulacji, jaki silnik ten wprowadza. Różne kwestie napotykane w procesie implementacji pozwoliły autorom zapoznać się z procedurą tworzenia gier i zbudować funkcjonalny prototyp, który łatwo może zostać rozszerzony do pełnej, komercyjnej aplikacji.
File
  • File: 1
    Thesis.pdf
Request a WCAG compliant version
Local fields
Identyfikator pracy APD: 9113

Uniform Resource Identifier
https://repo.pw.edu.pl/info/bachelor/WUT0866e83ccc5e464d9a4bda6d9bc7496c/
URN
urn:pw-repo:WUT0866e83ccc5e464d9a4bda6d9bc7496c

Confirmation
Are you sure?
Report incorrect data on this page