❮ Назад в библиотеку

Создание многопользовательской игры с помощью libGDX — Часть 1: Настройка проекта

Статья: Making a multiplayer game with libGDX — Part 1 : Project setup

Автор: Sagnik Dutta

Перевёл: Алексей Боровиков

 libGDX — это кроссплатформенная среда разработки игр на Java с открытым исходным кодом. Он довольно популярен в сообществе разработчиков игр и использовался для создания множества популярных игр. Он также имеет отличную документацию, что упрощает его изучение, если у вас есть некоторый опыт разработки.

 В то время как игровые движки, такие как Unity или Unreal Engine, просты в освоении и отлично подходят для быстрой разработки, если вы похожи на меня и просто хотите сделать шаг назад и погрузиться в мельчайшие детали, эти движки абстрагируются от вас, или вы просто хотите отшлифовать свои навыки ООП или Java, я бы настоятельно рекомендовал вам попробовать libGDX.

 В этой серии я собираюсь познакомить вас с процессом создания простой многопользовательской игры с использованием libGDX. Цель состоит в том, чтобы понять различные задействованные концепции и настроить рабочий процесс, который вы затем сможете расширить и применить к своим собственным играм. В этой статье мы сосредоточимся на настройке нашего приложения, добавив все зависимости. Я также буду объяснять функцию каждой из этих зависимостей в нашем проекте.

 Однако я хотел бы подчеркнуть, что эта серия не рекомендуется для тех, кто совершенно новичок в программировании. Я собираюсь предположить, что у вас есть некоторый предыдущий опыт разработки программного обеспечения и вы знакомы с концепциями ООП.

 Давайте начнем!

Необходимые компоненты

 Вот и все! Это все, что вам нужно, чтобы следовать дальше.

Установка

 Итак, чтобы начать, нам нужно следовать инструкциям в https://libgdx.com/dev/ и сгенерируйте проект libGDX с помощью генератора проектов. Как только это будет сделано, продолжайте и откройте проект в любой среде разработки по вашему выбору.

 Если вы заглянете в корневой каталог вашего проекта, вы найдете файл с именем build.gradle. Откройте его и прокрутите вправо до нижней части файла, и вы должны увидеть блок, подобный этому.


					project(":core") {
					 apply plugin: "java-library"
					
					 dependencies {
					  api "com.badlogicgames.gdx:gdx:$gdxVersion"
					  api "com.badlogicgames.gdx:gdx-box2d:$gdxVersion"
					 }
					}
					
					

 Мы собираемся добавить здесь еще несколько зависимостей, окончательная версия должна выглядеть следующим образом.


					project(":core") {
					 apply plugin: "java-library"
					
					 dependencies {
					  api "com.badlogicgames.gdx:gdx:$gdxVersion"
					  api "com.badlogicgames.gdx:gdx-box2d:$gdxVersion"
					  
					  compileOnly   "org.projectlombok:lombok:1.18.20"
					  annotationProcessor "org.projectlombok:lombok:1.18.20"
					  implementation "com.google.dagger:dagger:2.35.1"
					  annotationProcessor "com.google.dagger:dagger-compiler:2.35.1"
					  api "io.socket:socket.io-client:2.0.0"
					 }
					}
					
					

 Не волнуйтесь, я немного объясню функцию каждой из этих зависимостей, но пока это все, что нам нужно сделать в нашем Java-проекте.

 Далее создайте отдельный каталог. Здесь мы собираемся создать наш игровой сервер с помощью nodejs. Откройте терминал и выполните следующую команду


					npm init
					

 Это запустит мастер, в котором вы сможете ввести название вашего приложения, описание, лицензию и т.д. Введите любое имя и просто оставьте все остальное по умолчанию на данный момент (вы всегда можете отредактировать это позже). Это создаст файл с именем package.json.


					npm install --save express
					npm install --save socket.io
					

 Это позволит загрузить и установить экспресс и socket.io . Это единственные две зависимости, которые нам нужны на нашем сервере.

 Вот и все! Мы закончили с настройкой!

Зависимости

 В этом разделе я расскажу вам о зависимостях, которые мы добавили в наш проект, и их функциях. Зависимости, которые мы включили, - это Ломбок, Кинжал, Socket.io (клиент в проекте Java и сервер в проекте Nodejs) и Express. Я пропущу объяснение для Express, поскольку он настолько популярен, что является почти синонимом любого сервера Nodejs. Если вы хотите сразу погрузиться в создание игры, вы можете пропустить этот раздел, хотя я бы рекомендовал делать это только в том случае, если вы уже знакомы со всем этим.

 Теперь, когда с этим покончено, давайте взглянем на наши зависимости одну за другой.