Карточная игра на java по сети

Получил в вузе задание написать что-то с гуем. Нашел карточную игру, которую хочу реализовать, однако когда начал приступать появились вопросы:

  1. Как реализовать игру по сети? (какую библиотеку/фреймворк использовать)
  2. Чем рисовать игру? (javaFX (которую предложили в вузе) или какая-то другая библиотека/фреймворк)

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


Ответы (2 шт):

Автор решения: ulxanxv

JavaFX можете оставить, в нём нет ничего плохого.
Java в любом случае очень редко используется для программирования на Desktop, поэтому в этом направлении думайте о том, что удобно, а не что пригодиться в дальнейшей жизни (ИМХО)

Насчёт работы с сетью, то вам очевидно нужна работа с Socket (https://javarush.ru/groups/posts/654-klassih-socket-i-serversocket-ili-allo-server-tih-menja-slihshishjh)
Данную статью скинул исключительно как пример, чтобы вы понимали куда копать (просто мне показалась она слишком не понятная). Но я не советую использовать Socket в чистом виде, хотя в годы своего студенчества делал на чистых сокетах. Можете поискать какие-нибудь библиотеки, которые упрощают с ними работу. Например Apache MINA (https://mina.apache.org/) или Grizzly (https://javaee.github.io/grizzly/)

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

Опять же, если хотите чтобы было всё понятно, то используйте всё таки Socket, так как есть огромная масса видеоуроков на YouTube и других ресурсах, где люди делают клиент-серверные приложения с помощью них. Если вы, например, будете использовать Apache Mina, то найти что-то типа гайда будет уже очень сложно. Останется только читать документацию и самому разбираться, но без понимания как устроен Socket будет ещё тяжелее (пример видео https://www.youtube.com/watch?v=pcIoZA2c-5k&t=4537s&ab_channel=GeekBrains)

→ Ссылка
Автор решения: kerelape

Для игр на Java можно использовать LibGDX (https://libgdx.com/)

→ Ссылка