Я собираюсь отправиться в путешествие по разработке игр. Следуя ответам на мой последний вопрос, я буду использовать C # и XNA.
Тем не менее, я лично не знаю других разработчиков игр, и я не работаю в индустрии, поэтому, как таковой, буду самоучкой. Исключением из этого является, очевидно, задание вопросов и чтение онлайн / печатной информации, но я все равно отнесу это к самообучению.
При этом я хочу быть готовым к проблемам, с которыми я могу столкнуться из-за отсутствия кого-то, кто «держит меня под своим крылом».
В качестве аналогии, когда я учила себя играть на гитаре, я играла мажорный аккорд так, что это усложняло переход к аккорду, который я позже выучила.
Если бы вы могли поделиться своими уроками и советами о том, что может пойти не так в моем изучении разработки игр, я был бы признателен.
Я хорошо знаю, что ошибки - это самая большая часть обучения, но если есть ошибки, к которым я могу быть готов, я был бы счастлив с этим.
Ответы:
Разработка игр похожа на конструкцию
Есть минимальные требования к функциональности. Минимальные требования не являются исключительно сложными, и многие люди могут научиться их выполнять. Это функциональная часть. Это маленькая часть. Вот где приходят решения о том, какой язык использовать, какую платформу разрабатывать или какие библиотеки использовать.
Следующая часть - большая часть. Форма часть. Форма - это то, что действительно отличает хорошие игры от отличных игр. Это та часть, которая является искусством разработки игр. Я не говорю только о сенсорных активах (графика, звук и т. Д.?). Я говорю о создании опыта. Это сложная часть.
Функциональная часть приходит из учебников, библиотек и немного времени. Любой может сделать это.
Часть формы исходит от вас. Это страсть, которая заставила вас хотеть делать игры в первую очередь. Это все равно что рассказывать историю, выдуманную историю (или реальную историю, которую вы приукрашиваете). Чем больше вы рассказываете историю, тем лучше она становится, В разработке программного обеспечения мы называем это итерацией. Ваша история - это ваш код. В первый раз, когда вы скажете это, это будет не очень хорошо. Вещи будут неуместны, вы поймете, что этот бит должен идти туда, а этот здесь. Вы обнаружите, что, вероятно, дела пойдут лучше, если вы упорядочите вещи таким образом или расширите их. Итак, как хорошая история, вы расскажете ее, оцените, насколько она хороша, а затем измените ее. Это требует самоотверженности и времени. Не волнуйтесь, если первое, что вы производите, это не золото. Я долго и упорно работал на многих частях моей игры только , чтобы разорвать их позже , потому что я думал о многолучший способ сделать это. Не беспокойтесь об этом, это все часть процесса обучения. Вы всегда учитесь на своих ошибках, и часто эти ошибки приводят вас к лучшему способу ведения дел.
Итак, что вы должны отнять это:
Интернет полон перьев информации в блогах, учебниках и сообществах, подобных этому. В целом, я бы сказал, что это довольно хорошее крыло. В основном опасности не являются серьезными. Вы можете делать что-то «неправильно» или какое-то сложное время, но со временем вы научитесь. Кажется, у вас достаточно опыта программирования, поэтому я думаю, что вы быстро освоите функциональную часть. Ошибки, допущенные при разработке игр и «регулярном» развитии, во многом совпадают. Ваш опыт поможет вам избежать многих распространенных проблем, с которыми сталкиваются новые разработчики игр. Я думаю, у тебя все будет хорошо. Удачи.
источник
Да, не иметь кого-то, кто был там раньше, чтобы сказать вам, что делать, как исправить, и т.д. Но никаких страхов! Вы все еще можете прочитать МНОГО блогов людей, которые были там, они делятся своим опытом в отрасли, как они добились успеха, как провалилась предыдущая игра и почему, и т. Д. И т. Д.
Хорошие примеры:
И многое другое!
Мои последние высказывания: не бойся. Я тоже самоучка, 4 года я познакомился с разработчиком игр, много препятствий, но ничего, что вы не можете решить, поискать в Google и читать некоторые тексты. Удачи в вашем путешествии :)
источник
release
игры связан не только с его разработкой. В любом случае, это хорошее чтение. Я разместил ссылки больше как ссылки, чтобы не следить за блогом. Если вы вернетесь к архиву, есть несколько примеров прототипов и всего, что помогло им с миром слизи и других «менее маленьких» прототипов: DЭто отношение. Это отношение «не трогай его, пока ты не умеешь делать это идеально». Это действительно тебя сдержит.
Вы видите такое отношение среди начинающих разработчиков всех видов - не только игр. Сайты также. Эй, веб-сайт - это база данных с html-интерфейсом и некоторым javascript. Вы изучаете технологии любым способом, вы создаете свой первый сайт вместе. Это не будет фантастическим, но после того, как вы сделаете что-то неоптимальным способом, это не большая проблема ! Если вы делаете это «далеко» в первый раз, вы всегда можете сделать это лучше во второй раз. Суть в том, что опасности нет. За исключением этого отношения, возможно. Именно это отношение остановит вас от каких- либо действий, потому что вы всегда будете препятствовать выполнению задания и говорить: «Я пока не знаю, как это сделать».
Отношение, что есть «правильный путь» делать вещи. Нет Все именно так, как они кажутся. Вы должны поместить пиксели на экран и издавать звуки, когда что-то происходит.
источник
В зависимости от того, хотите ли вы позже сделать эту профессию своей профессией (я просто собираюсь предположить, что вы думаете об этом, и это не просто хобби), вот что я нашел чрезвычайно эффективным:
Это было сказано ранее, но я скажу это снова - начните с маленьких кусочков, ознакомьтесь с движком, фреймворком, инструментом или программой. Как только вы поняли основы -> иди больше.
Это может показаться немного экстремальным, но я имею в виду как можно больше узнать о КАЖДОМ аспекте разработки игры - независимо от того, являетесь ли вы программистом, художником или дизайнером. Знание конвейера является ключом к созданию вещей наиболее эффективным способом. Если вы реализуете оружие -> проектируйте его, разрабатывайте, моделируйте, реализуйте, кодируйте! Очевидно, вам не нужно быть концептуальным художником, дизайнером и ботаником-разработчиком, но вы должны быть знакомы со всеми инструментами этого процесса и понимать каждый шаг создания. Кроме того, посетите игровые веб-сайты для получения новостей и обновлений в бизнесе - gamasutra.com, kotaku и т. Д., У всех есть отличные статьи на темы бизнеса и техники. Не ограничивайте себя только одной областью развития - впитайте ВСЕ знания, которые вы можете получить :)
Ты будешь сосать то, что делаешь. В начале. Это всегда так (поверьте мне, я знаю.: D), но будет только лучше, если вы продолжите идти и НИКОГДА не перестанете искать способы улучшить свою работу. Интернет является отличным источником учебников, ссылок и помощи. Вы никогда не будете по-настоящему застревать, так что принимайтесь за сумасшедшие идеи, терпите неудачу, учитесь на своих ошибках и становитесь более задиристыми в этом процессе.
Хотя Интернет является отличным источником информации, вам нужно иметь дело с ЛИЧНОЙ обратной связью на работе ALOT. Так что улучшение ваших мягких навыков также важно. Если у вас еще нет наставника или вы вообще не знаете слишком много людей, работающих в отрасли, вам следует осмотреть свой район, чтобы встретиться с независимыми разработчиками, пойти на конгрессы и проверить другие мероприятия, на которых вы можете начать строить личная сеть знаний и контактов. Это также помогает создавать что-то с другими людьми - самоучка - это здорово, но разработка игр - это командная игра, поэтому проверьте форумы на предмет хобби-проекта - например, Epic Forum для проектов UDK, форумы Unity или даже CryEngine Forums - все три из этих двигателей широко распространены, там есть куча талантливых людей, работающих над сайд-проектами, и они
Я думаю, что это в значительной степени все советы, которые я могу дать. Я надеюсь, что это помогло вам в некотором роде :)
источник
У меня нет опыта работы с C # и XNA, но я думаю, что это не сделает меня неправым в следующем утверждении:
Это прекрасно, чтобы учиться программированию без учителя. Если ваш код работает *, не имеет значения, как он был закодирован. Ну, это подходит для совместного программирования, но тогда ты больше не будешь писать код, не так ли? Это также может сделать ваш код менее читаемым для вас в будущем, затрудняя использование старых компонентов или отладку новых ошибок, но в конечном итоге все ваши ошибки будут вашими сильными сторонами. Самое сложное в изучении ООП и MVC-дизайна - понять, почему я должен делать «это» «таким образом». Если у вас уже есть опыт создания плохих программ, вы будете знать сильные стороны шаблонов и использовать их в своих интересах. Если вы всегда создавали хорошие программы, следуя шаблонам, которым вас учили, то вы будете продолжать создавать хорошие (в смысле правильного кода) программы, но вместо того, чтобы использовать преимущества шаблонов, вы будете ими ограничены, поскольку не будете понимать их достаточно, чтобы вносить полезные изменения. В конце концов, очень важно, чтобы вы практиковали, а не как, поэтому в обоих случаях рано или поздно вы получите довольно похожий опыт.
* важно одно! В случае безопасности Вы должны спросить кого-то опытного, хорошо ли работает Ваш код, поскольку дыры в безопасности не выдают сообщения об ошибках.
источник
Почему-то это отличный вопрос! :-)
Я начал свою игровую деятельность не так давно, и это будет во второй раз, поэтому я могу поделиться своими мыслями. Вы действительно правы в том, что хорошо иметь наставника. У этого наставника будет интернет. Таким образом, чем больше информации будет распространяться в интернете, тем легче вам будет учиться. Вот почему XNA / C # - отличный выбор для начала. Есть много как любителей, так и профессионалов, которые делятся статьями и в Интернете. Другие вещи, чтобы упомянуть:
источник
Это относится к любой дисциплине, связанной с творческой индустрией:
Самая большая опасность - пытаться построить что-то «слишком большое» или «эпическое» из ворот.
Например, если вы начинаете писать музыку, вы не начинаете пытаться создать 50-часовую 2-часовую симфонию.
В дизайне уровней это проявляется в попытках сделать «самую большую карту из когда-либо существовавших» или в использовании игровой системы для создания самой большой и сложной вещи, которую способен обработать игровой движок. В программировании это может привести к «созданию всей игры самостоятельно», начиная с нуля исходного кода. Вам действительно нужно много опыта и дисциплины, чтобы начать с нуля, и даже тогда это невероятно сложно, и принимать решения по дизайну во всем сложно, когда вы разрабатываете дизайн всего. В наши дни даже упрощенная игра требует довольно большого количества программирования на современной ОС и языке. Также, если вы начнете с чьего-либо другого кода, вы сможете узнать, что работает, а что не работает так хорошо, поэтому работа с как можно большим количеством движков также является огромным плюсом.
Поэтому я бы порекомендовал что-то вроде следующих планов:
Лучше всего взять существующий готовый движок (либо модифицируемый, либо какой-нибудь с открытым исходным кодом) и начать взламывать его, и делать это несколько раз с несколькими разными движками, пока не найдете тот, который вам нравится.
источник