Pull to refresh

Comments 28

Похвально, что вы изучаете технологию и пишите статью.
Но под заголовком 2d игра на Java ожидал увидеть еще одну разработку под Android, с одним из десятков интересных игровых движков. Или хотя бы на базе JOGL что-то. Но никак не swing + awt.
Все же swing — это не тот фреймворк, на котором стоило бы делать игры.
UFO landed and left these words here

А для рисования используется AWT, да. Что-то производительное и сложное на этом написать трудно, Graphics и Graphics2D в первую очередь сделаны для рисования кастомных виджетов, не для сложных двигающихся изображений.

Статью про игру под Android я не хотел писать, т.к. есть уже более хорошие примеры.
2D игра с видом от 3-его лица. Не могу преодолеть эту фразу. Подозреваю, что и Java несколько не Java…
Имелось ввиду, 2d игра с видом сверху
Если захотите писать игры на Java — зайтесь вопросом, кто будет в неё играть? Если хотите написать игру чуть более чем для себя (да и со стороны изучения самой Java) полезно будет подумать про программирование игр для андроида. Соответственно:

1. OpenGl Es. OpenGL для андроида. Есть Java, а есть и С++. Выбирайте, что по душе и вперёд.
2. Производительность. На мой скромный взгляд Java врядли подойдёт. Попробуйте связку Java и C++ через JNI.
«Теперь разберемся, что мы сделали.» — Любопытный подход: сначала делаем что-то, а потом пытаемся понять, что же мы сделали. Напоминает последовательность «теорема и следом доказательство».
Как я начинал создавать 3Д движок на Яве…
На сегодня все. Оставляю код, для тех, кто запутался:
Вах! Да это же игра в 30 строк на Java!
До второй главы мануала по swing-у дочитаете — обязательно пишите продолжение.
Одного меня смутил таймер для отрисовки?
Это всё что вас смутило в этой заметке, даже больше чем 17 плюсов статье?
А продолжение будет? Мне было интересно (всегда писал консольные приложения на Яве в прикладных целях)
Конечно будет, если хабр одобрит )

Я думаю тут статья для тех кто вообще темного понятия о создании игр. Типа меня ) Мне понравилось. Написано проще некуда.

без обид, но я не пойму, в чем смысл статей об устаревших технологиях… на мой взгляд такие статьи не только бессмысленны, но и вредны… наивный дурачок зайдет на хабр, увидит статью по технологиям 15-летней давности, подумает: «Ага, раз пишут на хабре, то это норма!» — и станет использовать это у себя в коде… :-)
Честно, я считаю, что надо начинать с простого, понять основы, прежде чем браться за что-то более сложное.
Это хороший подход, вот только Swing и AWT — это далеко не основы, а довольно большие фреймворки для разработки десктопного ПО.

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

Можете взять за основу PlayN фреймворк. Он больше подходит для вашей задачи. Он довольно простой и позволяет создавать десктопные, мобильные и веб приложения. И статей про этот фреймворк на Хабре не сильно много и в геймдеве он больше востребован, чем swing и awt (для поиска работы в геймдеве лучше).
Спасибо вам за совет, обязательно почитаю про PlayN и надеюсь, следующая статья выйдет уже про него.
если кому будет интересно посмотреть пример как написать что то вроде казуальной кросс-платформенной ретро-игры на Java, то можно посмотреть пример проекта тут
Sign up to leave a comment.

Articles