Разработка игры - с чего начать? [закрыто]

28

Мой друг и я планируем совместную игру, чтобы работать в наше свободное время. Это не обширная игра, но и не простая.

Он работает над историей игры, а я работаю над графикой и кодом.

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

У меня открыт XCode, но я даже не знаю, что мне делать в первую очередь.

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

OghmaOsiris
источник

Ответы:

30

Начните с получения чего-то и играбельного. Не тратьте больше часа на графику, просто визуализируйте игру с мусорными заполнителями. У игр нет объективных требований для построения: главное требование - чтобы это было весело, а оценка того, является ли игра увлекательной или нет, требует игры в нее; в результате игровой дизайн должен следовать итеративному подходу. (Я рекомендую Тома Вуйца в конкурсе « Зефир» как ориентацию на итеративный дизайн.

Питер Тейлор
источник
Я не понимаю, почему так мало внимания уделяется графике.
ОгмаОсирис
19
@OghmaOsiris: У большинства игр нет графики как неотъемлемого элемента игрового процесса. Обычно графика - это просто слой поверх реальной игры, которая делает ее красивой и продающей, но не веселой. Графика тоже очень дорогая. Если вы потратили один час на разработку своего космического корабля-стрелялки, а затем неделю спустя вы поймете, что он будет работать лучше, как пошаговая фэнтезийная игра в городском строительстве, вы не много потеряли. Если вы потратили недели на это искусство, вам нужно либо выбросить работу, либо выпустить низшую игру.
ZorbaTHut
1
@OghmaOsiris (продолжение): Иногда вы создаете игру, в которой искусство имеет решающее значение, и тогда вы, вероятно, захотите сделать достаточно искусства, чтобы почувствовать его. Обычно вы будете знать, когда окажетесь в такой ситуации.
ZorbaTHut
@OghmaOsiris, идут играть Minecraft , или даже лучше, Dwarf Fortress . :)
Циклоп
1
Создание чего-то привлекательного занимает гораздо больше времени, чем реализация базовой функциональности, и всегда заканчивается добавлением страшного «сползания области». В худшем случае ваш проект может никогда не закончиться, заставляя вас просто сдаться. Не теряйте объема своих целей: сделайте игру, которая работает! После включения графики вы увидите гораздо больше достижений за гораздо меньшее время, особенно если вы все еще пытаетесь понять, с чего начать.
Могерот
16

Создайте что-нибудь на бумаге и под этим я подразумеваю макетную доску и вырезанные кусочки. Составьте правила и играйте в свою игру на бумажном макете. Используйте это, чтобы разбить ваш дизайн кода на наборы функций и модули, над которыми вы можете работать. Этот процесс поможет вашему другу создать сюжет и понять, как работает игра.

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

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

Основная идея заключается в том, чтобы иметь долгосрочное видение, основанное на вашем бумажном макете, и, следовательно, серию краткосрочных целей, над которыми вы работаете, чтобы вы попали туда, куда вы хотите, чтобы получить кусочек за раз и без стресса " Боже мой, что мне делать дальше?

Патрик Хьюз
источник
+1: твердо верит в диаграммы и рисунки! Идеи превращаются из внезапного каскада идей, когда вы ВИДЕТЕ то, что ваш ум пытается показать вам!
Могерот
4

Оцените ваши требования в первую очередь. Кодирование без плана создает много отходов позже.

Что игра должна делать функционально? Какие рамки вам нужны, чтобы это работало? Какие элементы можно позаимствовать из существующих фреймворков и что вам нужно написать самостоятельно?

Перед открытием XCode, это может помочь просто сделать вырезки из бумаги и сначала пройти через все игровые интерфейсы и диалоги. Это даст вам представление о том, что вам нужно создать в Интерфейсном Разработчике.

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

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

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

SplinterReality
источник
3

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

Через некоторое время вы, естественно, почувствуете желание «отклониться» от своей модели и начнете вести игру в своем собственном направлении. Оттуда идет сложная дорога: добавление функции, исправление ошибки и вообще улучшение небольшими шагами.

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

Superbest
источник
2

Делайте вещи, которые дают вам игровой прототип, как можно скорее.

Первые 1-2 недели вы, вероятно, не можете сделать хорошие оценки, потому что вы новичок в двигателе. Таким образом, в первую (ые) неделю (ы), вероятно, трата времени на оценку. Но обратите внимание на время, которое вы потратили на вещи, так что у вас есть некоторый опыт, на котором вы можете основывать свои первые оценки. После этого начните планировать, оценивать и устанавливать приоритеты!

Три вещи, которые я узнал за последние 6 месяцев, когда я был частью неуспешного игрового проекта (мне заплатили, чтобы я был разработчиком, реализующим игровую логику):

  1. Не меняйте свой план каждый день! Очевидно, хорошо идти по гибкому пути, но если вы в конечном итоге меняете свои цели каждый день, очевидно, что-то не так.
  2. Следите за временем, которое вы тратите на свою работу. Сравните примерное и эффективное время. Сначала вы, вероятно, заметите большую разницу, но со временем вы сможете сделать более точные оценки.
  3. Принимайте оценки во внимание при определении приоритетов.

Важно: Время от времени оглядывайся на проект и смотри, что прошло хорошо, а что - нет. Я думаю, вы можете определить части, где вы потратили слишком много времени на то, что не нужно. Попробуй пропустить такие вещи в следующий раз. (Например: если вы работаете над гаджетом, который ваш игрок может использовать в игре 1 или 2 раза в течение 2 секунд, не тратьте целый месяц на его реализацию.)

SwissCoder
источник