Мой друг и я планируем совместную игру, чтобы работать в наше свободное время. Это не обширная игра, но и не простая.
Он работает над историей игры, а я работаю над графикой и кодом.
Я действительно не знаю, с чего начать игру. Мы знаем, какой будет базовый тип игры и как в нее будут играть, но мне трудно понять, с чего начать.
У меня открыт XCode, но я даже не знаю, что мне делать в первую очередь.
Какой совет для блока этого писателя? Где хорошее место, чтобы начать с игры? Должен ли я разработать всю графику и макет, прежде чем даже коснуться Xcode? Должен ли я запрограммировать вещи, которые я знаю, у меня будут трудности с первым, прежде чем перейти к легким вещам?
источник
Создайте что-нибудь на бумаге и под этим я подразумеваю макетную доску и вырезанные кусочки. Составьте правила и играйте в свою игру на бумажном макете. Используйте это, чтобы разбить ваш дизайн кода на наборы функций и модули, над которыми вы можете работать. Этот процесс поможет вашему другу создать сюжет и понять, как работает игра.
У вас может возникнуть желание написать дополнительные функции в своем коде, избегайте этого. Вы создаете прототип, чтобы увидеть, что будет работать.
После того, как у вас есть небольшая часть, запущенная и запущенная, вы должны работать итеративно, и на каждой итерации запускается еще одна функция. Когда что-то не играет хорошо, возвращайтесь и меняйте функции. Продолжайте итерации и изменения.
Основная идея заключается в том, чтобы иметь долгосрочное видение, основанное на вашем бумажном макете, и, следовательно, серию краткосрочных целей, над которыми вы работаете, чтобы вы попали туда, куда вы хотите, чтобы получить кусочек за раз и без стресса " Боже мой, что мне делать дальше?
источник
Оцените ваши требования в первую очередь. Кодирование без плана создает много отходов позже.
Что игра должна делать функционально? Какие рамки вам нужны, чтобы это работало? Какие элементы можно позаимствовать из существующих фреймворков и что вам нужно написать самостоятельно?
Перед открытием XCode, это может помочь просто сделать вырезки из бумаги и сначала пройти через все игровые интерфейсы и диалоги. Это даст вам представление о том, что вам нужно создать в Интерфейсном Разработчике.
Далее, как вещи взаимодействуют? Какие особые стили взаимодействия необходимы? Это должно дать вам некоторое представление о том, как нужно разделять, запускать и останавливать контроллеры.
Не планируйте это до смерти, но четко определите ваши требования, и как только вы сможете разбить проект на куски размером 30 минут - 1 час, вы готовы начать кодирование.
Если посмотреть на 2 дня, 2 недели или хуже, на 2 месяца задач, возникает реакция боя или бегства. Разбейте его на достаточно мелкие кусочки, чтобы вы могли откусить каждый из них последовательно, не задыхаясь, и я думаю, вы точно будете знать, с какого укуса начинать, а с какого идти дальше.
источник
Если предполагается, что игра вписывается в существующий жанр или она чем-то похожа на другую игру, просто попробуйте сделать грубую, простую имитацию этой игры или «типичный» пример жанра. Если вы не очень хороший программист, следуйте инструкциям, которые помогут вам сделать игру, похожую на вашу.
Через некоторое время вы, естественно, почувствуете желание «отклониться» от своей модели и начнете вести игру в своем собственном направлении. Оттуда идет сложная дорога: добавление функции, исправление ошибки и вообще улучшение небольшими шагами.
Если есть определенная концепция, которая каким-то образом уникальна для вашей игры, вы также можете начать с создания простейшей демонстрации этой концепции. Также есть возможность просто построить свою игру на основе этой концепции.
источник
Делайте вещи, которые дают вам игровой прототип, как можно скорее.
Первые 1-2 недели вы, вероятно, не можете сделать хорошие оценки, потому что вы новичок в двигателе. Таким образом, в первую (ые) неделю (ы), вероятно, трата времени на оценку. Но обратите внимание на время, которое вы потратили на вещи, так что у вас есть некоторый опыт, на котором вы можете основывать свои первые оценки. После этого начните планировать, оценивать и устанавливать приоритеты!
Три вещи, которые я узнал за последние 6 месяцев, когда я был частью неуспешного игрового проекта (мне заплатили, чтобы я был разработчиком, реализующим игровую логику):
Важно: Время от времени оглядывайся на проект и смотри, что прошло хорошо, а что - нет. Я думаю, вы можете определить части, где вы потратили слишком много времени на то, что не нужно. Попробуй пропустить такие вещи в следующий раз. (Например: если вы работаете над гаджетом, который ваш игрок может использовать в игре 1 или 2 раза в течение 2 секунд, не тратьте целый месяц на его реализацию.)
источник
Если вы не знаете, как правильно проектировать проект, я предлагаю прочитать главу 1 «Размышления Брюса Экеля на С ++» (книга бесплатная), есть раздел «Анализ и проектирование». Это хорошее введение.
Не забудьте проверить мышление Брюса Экеля в C ++ Том 2 .
источник