Основные игровые компоненты - PullRequest
9 голосов
/ 12 июля 2009

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

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

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

До сих пор я нашел эти пункты:

  • Физика (обнаружение столкновений, реальные силы и т. Д.)
  • AI (поиск пути, цели и т. Д.)
  • Модель управления
  • Управление анимацией
  • Управление сценой
  • Боевое управление
  • Управление запасами
  • Камера (постарайтесь не рендерить все, что есть на сцене)
  • 1028 * карты высот *
  • Связь с сущностями (игрок с NPC, врагом, другими игроками и т. Д.)
  • Состояние игры
  • Система сохранения состояния игры

Чтобы уменьшить масштабы этого квеста, я бы хотел, чтобы вы конкретно обсудили аспекты, связанные с разработкой игры типа RPG. Я также укажу, что я использую XNA для разработки этой игры, но у меня почти нет понимания всех доступных классов (в основном, только с использованием компонента Game с некоторыми классами, связанными с ним, такими как GameTime, SpriteBatch, GraphicDeviceManager ) но не намного больше.

Ответы [ 7 ]

9 голосов
/ 12 июля 2009

У вас есть приличный список, но вам не хватает места для хранения (сохранить загрузку), текста (текст важен в RPG: Unicode, рендеринг шрифтов), возможно, макрос системы для текста (что-то, что заменяет токены вроде {player} на имя персонажа игрока), и самое важное из всех инструментов генерации контента (редактор карт, редактор chara, редактор диалогов), потому что RPG нужен контент (или инструменты автоматической генерации, если вам нужно). Кстати есть ссылки на вашу работу?

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

5 голосов
/ 12 июля 2009

Не знаю, поможет ли это, но я много лет читаю статьи из http://www.gamasutra.com/.

У меня нет идеального набора инструментов с самого начала, но ваш список покрывает большинство обычных проблем для запуска игры. Но вы узнали, что означает каждый из предметов? Сколько ты уже заработал? «Управление запасами» звучит очень тяжело, но некоторым играм просто необходим простой «массив» объектов. Занимает час на программирование + некоторая графическая интеграция (если у вас уже есть управление GUI).

Как начать планирование

Когда я занимаюсь разработкой игр в свободное время, у меня обычно возникает идея, потому что в другой игре отсутствует эта функция / опция. Затем я запускаю какой-либо инструмент разработки, который сейчас использую, и пытаюсь выяснить, смогу ли я создать прототип, демонстрирующий эту идею. Речь идет не всегда о модной графике, но чаще всего речь идет о том, как решить определенную проблему. Зеленые и красные поля помогут вам в большинстве случаев, но в противном случае используйте Google Images и выполните быстрый поиск графических прототипов. Но помните, что эти изображения, вероятно, защищены авторским правом, поэтому используйте их только для внутренних целей тестирования и объяснения своим графическим художникам, какой тип игры / графики вы хотите создать.

Во-вторых, вы обнаружите, что вам также нужно найти / собрать инструменты для создания «карт / миссий / квестов». Сегодня многие разрабатывают собственный «объектный скрипт», в котором они могут легко добавлять новый контент / путь в игру.

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

На данный момент игровой логики нет, все равно выясняется, работает ли вообще игровой движок.

Моя первая проблема с алгоритмом игры

Вернувшись, когда я был подростком, у меня был Commodore 64, и мне было интересно, как они сортируют 10 чисел, чтобы получить рекорд? Мне потребовалось много времени, чтобы найти «масштабируемый» способ сделать это, но я тоже многому научился в программировании.

Вторая найденная проблема

Как заставить танк / пушку стрелять в правильном направлении, когда я облетаю вертолет вокруг экрана?

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

Годы и много попыток игры позже

Я играл в "Дюну", а затем в C & C + новую игру Warcraft (v1 / v2) - я помню, она начала раздражать меня, как работал хромой ИИ. Я подумал, что алгоритмы поиска пути разочаровывают игрока. Они двигались в направлении целевого положения и затем нашли стену, но если путь был сложным, объект просто остановился. Argh!

Итак, я сначала сидел с большим количеством бумаги, затем пытался нарисовать определенные сценарии, в которых «объект» (танк / орк / солдат) должен был перейти от А к В, а затем внезапно появилась «структура» (здание / другой объект) в пути - что тогда?

Я узнал о A-star pathfinding (после того, как я сначала решил его аналогичным образом, а затем прочитал о причине этой работы). Очень тяжелый процесс поиска пути, но я многому научился из процесса «взлома этого ореха». Эти мысли очень помогли мне в разработке других игровых алгоритмов с течением времени.

Итак, что я говорю: я думаю, вам придется больше думать о:

  • Как играть в эту игру?
  • Как выглядит пользовательский опыт?
  • Зачем пользователю возвращаться в игру?
  • Какие требования необходимы? Широкополосные? 19 "монитор с разрешением 1280x1024?
  • РПГ, да - но будет ли она многопользовательской или одиночной?
  • Нужна ли нам быстрая настройка сети / сервера или нам нужен сильный ИИ для NPC?

И многое другое ...

Я не уверен, что это то, что вы просили, но я надеюсь, что вы можете использовать его как-нибудь?

2 голосов
/ 13 июля 2009

Эффекты и таймеры эффектов (могут быть магическими эффектами, могут быть просто ошеломлены).

Профессии персонажей, навыки, заклинания (если это игра).

Инструменты создания мира, облегчающие работу программистов, не занимающихся программированием.

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

Оборудование, «сокровища», ценности вещей и то, как вы хотите заниматься экономикой.

2 голосов
/ 13 июля 2009

Я согласен с постом Роберта Гулда , особенно об инструментах, и я бы также добавил
Сценарии
Управление памятью
Сеть - особенно репликация состояний игровых объектов и поиск совпадений
ох, и не забудьте локализацию - особенно для текстовых строк

2 голосов
/ 12 июля 2009

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

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

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

1 голос
/ 23 марта 2013

Это более старый вопрос, но ИМХО теперь есть лучший ответ: используйте Unity (или что-то похожее на него). Это дает вам 90% от того, что вам нужно, чтобы сделать игру заранее, так что вы можете прыгнуть и сосредоточиться непосредственно на той части, которая вам небезразлична, а именно на игровом процессе. Когда вы садитесь на мель, потому что есть что-то, что он не делает из коробки, вы обычно можете найти ресурс в Asset Store бесплатно или дешево, который сэкономит вам много работы.

0 голосов
/ 12 июля 2009

Я бы также добавил, что если вы не работаете над игрой полный рабочий день, помните о сложности и сроках выполнения задачи. Если вы попытаетесь интегрировать так много различных фреймворков в свою RPG-игру, вы легко сможете получить работу, рассчитанную на несколько лет; возможно, было бы более целесообразно начать с малого и сначала развить «ядро» своей игры и не беспокоиться о физике, например. Вы все еще можете добавить его во второй версии.

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