title: ÐÐ»Ð¸ÐµÐ½Ñ-Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¾Ð¹ Ð¸Ð³ÑÑ
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Client - application for multiplayer game
Creators: name: ÐÐµÐ´Ð²ÐµÐ´ÐµÐ², ÐÐ°ÐºÑÐ¸Ð¼
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2020
Subjects: ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¸Ð³Ñ
Ð¼Ð½Ð¾Ð³Ð¾Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ðµ Ð¸Ð³ÑÑ
ÐºÐ»Ð¸ÐµÐ½Ñ-ÑÐµÑÐ²ÐµÑ
Unity
C#
game development
multiplayer game
client-server

description: Ð¢ÐµÐ¼Ð° Ð²ÑÐ¿ÑÑÐºÐ½Ð¾Ð¹ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÑ: âÐÐ»Ð¸ÐµÐ½Ñ-Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¾Ð¹ Ð¸Ð³ÑÑâ.
ÐÐ°Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¿Ð¾ÑÐ²ÑÑÐµÐ½Ð° ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¾Ð³Ð¾ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¾Ð¹ ÐºÐ¾Ð¼Ð¿ÑÑÑÐµÑÐ½Ð¾Ð¹ Ð¸Ð³ÑÑ. Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¿ÑÐ¾Ð¸ÑÑÐ¾Ð´Ð¸Ð»Ð° Ð² ÑÑÐµÐ´Ðµ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð¸Ð³Ñ Unity[3] Ð½Ð° ÑÐ·ÑÐºÐµ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ C#[1]. ÐÐ»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸ ÑÐµÐ´Ð°ÐºÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð´Ð° Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð»Ð°ÑÑ Visual Studio 2019[4]. Ð ÑÐ¾Ð´Ðµ ÑÐ°Ð±Ð¾ÑÑ Ð±ÑÐ»Ð¸ ÑÐµÑÐµÐ½Ñ ÑÐ»ÐµÐ´ÑÑÑÐ¸Ðµ Ð·Ð°Ð´Ð°ÑÐ¸:
1) ÐÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¿ÑÐ¾ÑÐ¾ÐºÐ¾Ð»Ð¾Ð² UDP Ð¸ TCP, Ð²ÑÐ±Ð¾Ñ Ð»ÑÑÑÐµÐ³Ð¾ Ð¸Ð· Ð½Ð¸Ñ Ð´Ð»Ñ ÐÐÐ Ð¸Ð³ÑÑ. Ð¡Ð¾Ð³Ð»Ð°ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ ÑÐ¾ÑÐ¼Ð°ÑÐ¾Ð² Ð¿ÐµÑÐµÐ´Ð°ÑÐ¸ Ð´Ð°Ð½Ð½ÑÑ Ð¼ÐµÐ¶Ð´Ñ ÐºÐ»Ð¸ÐµÐ½ÑÐ¾Ð¼ Ð¸ ÑÐµÑÐ²ÐµÑÐ¾Ð¼.
2) Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¼Ð°ÑÑÑÐ°Ð±Ð¸ÑÑÐµÐ¼Ð¾Ð¹ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¾Ð³Ð¾ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÐµÐµ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ñ.
3) Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð¸ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ñ Ð¾ÑÐ½Ð¾Ð²Ð½ÑÑ Ð¸Ð³ÑÐ¾Ð²ÑÑ ÑÑÐ½ÐºÑÐ¸Ð¹, ÐºÐ¾ÑÐ¾ÑÑÐµ ÐµÑÑÑ Ð²Ð¾ Ð²ÑÐµÑ ÐÐÐ Ð¸Ð³ÑÐ°Ñ Ð² ÑÐ¾Ð¼ Ð¸Ð»Ð¸ Ð¸Ð½Ð¾Ð¼ Ð²Ð¸Ð´Ðµ.
Ð ÑÐ°Ð±Ð¾ÑÐµ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÐµÐ½ ÐºÐ¾Ð´ Ð¾ÑÑÐ°Ð¶Ð°ÑÑÐ¸Ð¹ Ð»Ð¾Ð³Ð¸ÐºÑ Ð²ÑÐµÐ³Ð¾ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¾Ð³Ð¾ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ. Ð¢Ð°ÐºÐ¶Ðµ Ð¿ÑÐ¾Ð´ÐµÐ¼Ð¾Ð½ÑÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ñ Ð²ÑÐµ ÐºÐ»Ð°ÑÑÑ Ð¸ Ð¸Ñ Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐ¸. ÐÑÐµÐ´ÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð¾ÑÐ½Ð¾Ð²Ð½ÑÐµ ÑÑÐ°Ð¿Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸. Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ ÑÐ°Ð±Ð¾ÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¾ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÑÑÐµÐµ Ð¾Ð´Ð½Ð¾Ð²ÑÐµÐ¼ÐµÐ½Ð½Ð¾Ðµ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð½ÐµÑÐºÐ¾Ð»ÑÐºÐ¸Ð¼Ð¸ Ð¸Ð³ÑÐ¾ÐºÐ°Ð¼Ð¸.
description: The topic of the final qualifying work: "Client - application for multiplayer gameâ.
This work is devoted to the development of a client application for a multiplayer computer game. Development took place in the Unity[3] game development environment in the C# programming language[1]. Visual Studio 2019[4] was used to create and edit code. During the work the following tasks were solved:
1) Research of UDP and TCP protocols, choosing the best one for MMO games. Negotiation of data transfer formats between the client and the server.
2) Development of a scalable client application architecture and its implementation.
3) Development and implementation of the main game functions that are present in all MMO games in one form or another.
This paper presents the code that reflects the logic of the entire client application. All classes and their dependencies are also shown. The main stages of development are presented. The result is an application that supports simultaneous use by several players.