Java 2D программирование игр - вопросы новичка - PullRequest
3 голосов
/ 28 декабря 2008

Мы команда программиста и дизайнера, и мы хотим создать Java-игру среднего размера, которая будет играть в виде апплета в веб-браузере. Я (программист) имею 3 года общего опыта разработки, но раньше я не занимался программированием игр.

Мы предполагаем, что:

  • Мы определимся с сюжетом, сюжетом игры и т. Д.

  • Мы создадим список ресурсов (изображений), которые нам нужны, то есть изображения игроков, изображения монстров, города, здания, деревья, объекты и т. Д. (Мы не добавляем эффекты музыки / звука для в настоящее время)

  • Дизайнер начнет создавать эти изображения, когда я закончу читать некоторые книги по программированию игр, которые я купил. Дизайнер создаст первый город / уровень игры, затем передаст мне эти изображения, я начну кодировать этот первый уровень, и он перейдет на следующий уровень, а через 4-5 уровней мы выпустим v.1. игры

Вопрос 1: Это правильная методология для использования в этом проекте?

Вопрос 2: В каком формате дизайнер должен создавать эти изображения. Это должны быть файлы .bmp, .jpeg или .gif? И поместит ли он все эти изображения в один файл или поместит каждого монстра / объекта / здания в отдельный файл? Заметка; Сейчас мы придерживаемся 2D и не делаем 3D.

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

[Монстр смотрит вправо] ... [Монстр смотрит спереди] ... [Монстр смотрит вправо [

И все они в одном файле. Это как он должен будет снабдить меня этими анимациями?

Я пытаюсь выяснить, в каком формате он должен будет предоставить мне разработанные изображения, чтобы я мог легко получить доступ к ним / манипулировать ими в коде Java.

Все ответы приветствуются:)

Ответы [ 7 ]

6 голосов
/ 28 декабря 2008

У меня есть несколько комментариев к каждому вопросу.

Вопрос 1: Вы говорите, что начнете кодировать уровни 1, 2, ... один за другим. Я рекомендую вам вместо этого создать многоразовый фреймворк или вместо этого увидеть его на большом рисунке. Для информации, которую вы предоставляете, я думаю, что вы собираетесь сделать какую-то RPG игру. Есть много вещей, которые могут быть разделены между уровнями, такими как Магазин, диалоговая система, например. Так что сосредоточьтесь на расширяемости.

Зачем ждать, пока дизайнеры передадут изображение? Вы можете начать кодирование, начав с псевдо графического файла, который вы создали сами. Затем вы можете параллельно работать с дизайнером. И вы можете заменить свой псевдо графический файл файлами, предоставленными дизайнером позже.

Вопрос 2: JPG не подходит для изображения в стиле пиксель-арт, которое часто встречается в большинстве игр 2D. И GIF поддерживает только 256 цветов. Мне кажется, что лучший выбор - PNG.

Дизайнер всегда должен сохранять оригинальные произведения искусства в редактируемом формате. Вероятно, вы захотите изменить графику в будущем.

Вопрос 3: Это зависит. Упомянутый формат, в котором анимации персонажа хранятся в одном файле, называется Sprite . Если вы сохранили свой ресурс в этом формате спрайта, у вас будет несколько работ, читающих каждое из подизображений с указанием координат. Тем не менее, спрайт помогает вам организовать вещи. Вся 2D графика, связанная с персонажем "Зомби", хранится в одном месте. Поэтому его легко обслуживать.

4 голосов
/ 28 декабря 2008

О формате изображения: не позволяйте дизайнеру доставлять что-либо в формате jpg, потому что вы потеряете качество.

Позвольте ему вместо этого отправить его в формате png и при необходимости преобразовать его в нужный формат.

Также не забывайте, чтобы он отправлял исходные файлы (photoshop / illustrator / 3dsmax / что угодно) на случай, если вам когда-нибудь понадобятся крошечные изменения, которые вы можете сделать сами, не нанимая графического парня. Кто знает, будет ли он все еще доступен в будущем.

3 голосов
/ 28 декабря 2008

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

http://java.sun.com/javafx/

1 голос
/ 28 декабря 2008

Это не отвечает ни на один из вопросов. Но для разработки игр / Симуляторов, если вам нужна ссылка:

http://www.cs.chalmers.se/idc/ituniv/kurser/08/simul/

Это ссылка на лекции по классу двигателей моделирования в университете Чалмерс в Гетембурге. Преподаватель игровой компании и выступил с неплохими лекциями. Посмотрите слайды, которые были у нас на занятиях, может быть, они вам немного помогут.

1 голос
/ 28 декабря 2008

Куча плюсов здесь: http://www.javagaming.org/

1 голос
/ 28 декабря 2008

Я собирался сделать то же самое замечание, что и Wouter: использовать PNG, современный формат с высокой степенью сжатия (в отличие от BMP), без потерь (в отличие от Jpeg) и полноцветный, с несколькими уровнями прозрачности (в отличие от Gif).

Почему люди ставят несколько спрайтов на одном изображении? На самом деле, для Java, я не уверен, являются ли изображения частью баночки ... Я знаю, что это интересно в CSS, например, потому что это уменьшает количество загружаемых изображений, поэтому количество обращений на сервер , который является хорошо известной веб-оптимизацией. Для игр на жестком диске также может быть интересно уменьшить количество маленьких файлов.
Дизайнер тоже может это оценить. По крайней мере, в тех случаях, когда спрайты использовали цветовую палитру: у вас было только одно изображение с использованием одной и той же палитры: его проще редактировать и немного уменьшить общий размер (во времена, когда память была дорогой!).

Я не могу ответить на методологию, я никогда не играл в команду ... Если это соответствует вашим потребностям, это, вероятно, правильная методология ...

Дункан указывает на JavaFX, я укажу на pulpcore , который выглядит многообещающей библиотекой. Конечно, есть много других, таких как JGame и тому подобное.

1 голос
/ 28 декабря 2008

[Монстр смотрит вправо] ... [Монстр смотрит впереди] ... [Монстр смотрит налево] стиль разграничения анимации существует уже столько времени, сколько я заглядывал в игровые данные, поэтому Я бы предложил пойти по этому пути.

...