D2D2 World Arena Project

Сейчас (начиная с января) пилю многопользовательский 2D-платформер-арену, рабочее название D2D2 World Arena.
Хочу реализовать мечту своего детства: написать крутой многопользовательский платформер.

Пока только для GNU/Linux, MacOS и Windows, в дальней перспективе планируется Android и iOS (что неточно)
ЯП: Java
Движок: D2D2 – мой движок, использующий OpenGL (LWJGL)
Жанр: Арена

Практически все самописное.

Планируется множество персонажей с разными характиристиками. Стараюсь делать все максимально подробно настраиваемым и кастомизируемым. Реализована возможность загружать игровой контент на сервер, чтобы, затем он был скачан клиентами при запуске той или иной карты. Если карта на сервере поменялась, все клиенты, соответственно, подтянут новую версию карты.
Режимы:

  • все против всех;
  • командный бой
  • захват флага
  • спринт (гонка кто первее всех соберет все чекпоинты на пути к финишу)

В комплекте присутствует редактор карт.

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

Есть разные игровые элементы, типа пикапов здоровья, оружия, ключей.
А также, движущиеся платформы, крюки на которых можно висеть, двери, порталы, пружины, жидкости, “ветра”, шипы, лава, ломающиеся блоки и так далее… Еще далеко не все из этого реализовано. Планирую сделать NPC-ботов с мозгами +- как в Quake III Arena. Боты скриптуются на JavaScript.

Можно писать собственные серверные моды на JavaScript. Мод представляет собой стандартную библиотеку и набор коллбеков типа

function onPlayerConnect(playerId, playerName) { //… }

function onPlayerEnterRoom(playerId, roomId) { //… }

Вдохновили NES, Quake III Arena и GTA San Andreas Multiplayer.

В будущем, когда игра будет более менее играбельной и отлажен игровой баланс, когда игра будет наполненна множеством игрового контента, будут проводится турниры по турнирной сетке, с розыгрышем призов (скорее всего, в виде блокчейн-токенов).

Сейчас все написано на Java 17, соответственно, для запуска нужен 17-й Java Runtime Environment.
Теоретически, я мог бы сдаунгрейдить проект до популярной сейчас Java 1.8, но очень уж не хочется исключать возможность юзать прекрасные фичи языка 17-ой версии.

Текущий сервер и клиент можно скачать здесь:
https://test.ancevt.com/releases/

Все исходники:
https://github.com/Anc3vt/d2d2

Для запуска вам потребуетcя рантайм Java 17, который можно бесплатно взять здесь:
https://www.oracle.com/java/technologies/downloads/

Для тестов сервер себе качать не обязательно, т.к. тестовый сервер уже захощен по адресу test.ancevt.com:2245

Реквестирую любые идеи по теме, если есть желание, можете принять участие в разработке и запрыгнуть в этот , само собой разумеется, суперперспективный проект на самом раннем этапе его развития ?
Демо-персонажа рисовал и анимировал один мой друг много лет назад. Совершенно не умею рисовать, все, что вы видите на скриншотах и видео рисовал не я, поэтому please welcome.

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

Спасибо за внимание!

+1
3
+1
0
+1
0
+1
0
+1
0
+1
0
не в сети 2 года

Ancevt

Разработчик D2D2 World Arena Project
Авторизация
*
*

С помощью

Регистрация
*
*
*

С помощью

Генерация пароля