Что нужно для создания игры с нуля. Пишем свою первую игру. Прохождение для разработчиков. Создание игр. Программирование

Эта статья является первой в целом цикле материалов для тех, кто хочет стать создателем игр. Если вы молоды, амбициозны и полны идей, а руки чешутся сделать "убийцу GTA" или "MMORPG типа WoW, но круче", то вы нашли то, что искали - руководство новичка по созданию игр . Моя цель - дать читателю общее представление о том, как же всё-таки выглядит процесс создания игр и развеять те иллюзии, которые могли сложиться на этот счёт, чтобы в последствии вы смогли избежать ошибок, совершаемых многими. Как и в любом деле, половина успеха - это правильная подготовка, поэтому чем полнее вы с самого начала будете представлять себе всю картину - тем большего успеха сможете добиться.

На данный момент цикл статей включает в себя следующие материалы, который со временем будет дополняться:

1. Создание игр для начинающих






Начинающий Разработчик Игр - В Простонародии "Чайник"

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

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

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

Создание Игр - Развлечение?

К сожалению, это далеко не так. Даже если не касаться профессиональной работы в индустрии производства игр, то и любительский проект - это не развлечение в прямом смысле этого слова. Конечно, процесс работы над воплощением своих идей приносит определённое удовлетворение и удобен как средство самореализации, но... Как уже было сказано, самым приятным является момент рождения идеи и её проработка, но затем неизбежно наступают "трудовые будни" с их повторяющимися действиями, нудной кропотливой работой и тем, чем заниматься ну совсем не хочется (а так как создание игр - достаточно разноплановая работа, то такие вещи наверняка будут, особенно если вы работаете в одиночку). В итоге в таком болоте тонет мотивация, а вместе с ней - и желание заниматься своим проектом.

Будьте готовы к тому, что даже относительно небольшой игровой проект может отнять у вас не один месяц времени на его завершение. Подумайте - достаточно ли у вас мотивации, чтобы продолжать работать над воплощением своей идеи даже после того, как начальный азарт угаснет?.. Наверное, не ошибусь, если скажу, что доля проектов, не доведённых до конца и брошенных на разных этапах разработки, стремится к 99%... Вы ведь не хотите пополнить это число своей идеей, правда?

Типовой Портрет Начинающего Разработчика

Да простят меня те, кто узнает себя в этом описании - призываю не обижаться, а продолжить чтение. Сейчас мы попробуем нарисовать типовой портрет начинающего разработчика игр, чтобы лучше понять, с чем нам предстоит иметь дело. Итак, начинающий "игродел" - это чаще всего учащийся школы в возрасте 12-18 лет, внезапно загоревшийся идеей создания игр. Идея приходит спонтанно либо после какого-то толчка к вдохновению, вроде нового фильма или популярной игры. Как правило, сам он ничего не умеет в силу возраста, недостатка опыта и иных причин, поэтому хочет выступать в качестве "руководителя " и/или "сценариста ", "автора идей ". Соответственно, так как самостоятельно с такими навыками сделать ничего хотя бы отдалённое напоминающего игру, нельзя, то нужна "команда", которую данный генератор гениальных идей пытается собрать на одном из тематических форумов.

При ближайшем рассмотрении идея оказывается клоном чего-то популярного и известного, "но лучше". Так как представления о том, чего же, собственно, хочется, и как организовать продуктивную работу, нет, то в команду приглашаются все либо почти все. В итоге такая "команда" складывается из случайных людей, которые в течение недели-двух создают видимость бурного обсуждения "проЭкта", иногда даже что-то пытаются сделать (вроде 3D-модели из набора примитивов), но примерно через это же время былой энтузиазм сходит на "нет", у членов команды появляются неотложные дела/сессия/уроки/бабушка заболела и вся затея благополучно рассыпается как карточный домик. Знакомая картина?..

Разработка Игр - Профессия или Хобби?

Разработка игр для многих является просто хобби (т.е. увлечением), но некоторые люди связывают с индустрией разработки игр свою карьеру и становятся профессиональными разработчиками. Естественно, что вопрос о том, есть ли разница между любителем и профессионалом, не стоит - она есть и весьма существенна. В то же время некоторые любители имеют куда более высокий уровень, чем отдельные "профессионалы", так что сам факт принадлежности к одной из этих двух групп не является определяющим. Тем не менее, некоторый отпечаток он всё же накладывает.

Любитель , как правило, имеет иной источник дохода (в случае, если он уже достаточно взрослый человек), поэтому над ним не висит вопрос коммерческой успешности своего проекта. Аналогично для тех, кто учится в школе/ПТУ/ВУЗе - они могут работать над игрой в своё удовольствие, бросить в любой момент, реализовывать любые идеи и вообще испытывают гораздо больше свободы в своих действиях. С другой стороны, они не могут посвятить изучению инструментов и получению новых навыков достаточно времени, поэтому в постоянно меняющемся мире игр всегда серьёзно отстают технологически и качественно.

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

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

Вобрав в себя плюсы профессионального и хобби-подхода, инди-разработка не избавлена от ложек дёгтя в бочке мёда.

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

Цена Идеи для Игры


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

Не падайте в обморок, но идея сама по себе не имеет никакой цены. Ноль. Даже самая гениальная идея ничего не стоит. Идей великое множество, и некоторые из них весьма и весьма удачны. Тем не менее, идея не обладает практическим значением до тех пор, пока она не реализована в виде чего-то менее абстрактного.

Задумайтесь: когда в последний раз вы видели действительно оригинальную идею? "Аватар"? Нет - если разложить идею до уровня концепции, то всё просто: земляне из будущего добывают ресурсы на чужой планете, игнорируя интересы местного населения. Один из землян проникается сочувствием к аборигенам, становится частью их народа и возглавляет борьбу против захватчиков. Просто, не правда ли? Crysis? Классический шутер про элитного спецназовца с супер-способностями, которые ему даёт костюм, и пришельцами из космоса. World of Warcraft? Игра, действие которой происходит в богатой на события и предысторию вселенной, с высокой ролью сюжетной составляющей, разносторонними сложными взаимодействиями игроков и мощной экономической системой.

Во всех этих идеях самое ценное то, КАК они были реализованы. Даже самая простая идея, будучи воплощённой в жизнь на высоком, качественном уровне, с глубокой проработкой, может "выстрелить" и стать хитовой игрой/фильмом.

Таким образом мы приходим к выводу, что для начинающего разработчика вопрос "как" гораздо важнее вопроса "что". Очевидно, что идея создания MMORPG нового поколения (так называемый next-gen) абсолютно бесполезна для большинства разработчиков, так как в силу объективных причин они просто не могут реализовать её в каком бы то ни было виде.

Английский Язык для Разработчика Игр

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

Я убеждён в том, что знание английского языка - это критический фактор , который оказывает огромное влияние на тот путь, который предстоит пройти, чтобы стать разработчиком игр. Даже с чисто практической точки зрения способность читать и понимать английские тексты - огромный козырь в борьбе за место под солнцем. Если вы откроете вакансии русских компаний-разработчиков, то в 90 % из них найдетё такой пункт, как "технический английский на уровне чтения и понимания".

Возьмём конкретный пример - 3D-графика. Текстовые и видеоуроки по 3D-графике на русском языке в большинстве своём сделаны любителями для любителей, лишь немногие из них учат чему-то, что можно назвать средним уровнем, и крайне малая часть - это действительно профессиональные и актуальные вещи. Иными словами, всё это - капля в море знаний.

Спрашивается - зачем довольствоваться каплей, если можно выпить море? Знание и понимание английского - это ваш ключ к огромному массиву полезной и актуальной информации, сам факт доступа к которой даст вам десять очков форы. Компании Digital Tutors и Gnomon Workshop имеют в своём активе тысячи часов обучающего видео по всем областям применения популярных 3D-пакетов, таких как Maya или 3DS Max. Англоязычные сайты кишат статьями о геймдеве, а на форумах могут подсказать решение сложных проблем - просто потому, что количество людей ТАМ несоизмеримо выше с количеством людей ЗДЕСЬ. Берите лучшее из двух миров!

Что делать? Учить языки - оно того стоит, даже если через год вы забросите геймдев. Как? Не спать на уроках в школе, записаться на курсы, использовать самоучители - путей много, было бы желание. Особое внимание стоит уделить лексике - вам совсем необязательно уметь говорить на этом языке, главное - уметь читать и понимать прочитанное. Уже после этого можно будет начать развивать навык восприятия английской речи на слух - и в этом могут помочь видеоуроки по 3D-графике, если вы художник, или аудиоуроки по английскому языку. Ещё раз повторюсь - по ту сторону языкового барьера огромный мир, полный информации. Не иметь к нему ключей - всё равно что учиться по черновику, когда рядом есть библиотека.

Сергей "Treidge" Данченко — автор блога , вольный 3D-художник и разработчик игр, веб-разработчик на Drupal и человек-оркестр с опытом в некоторых других областях. Личное кредо — "хочешь сделать что-нибудь хорошо, сделай это сам". В моменты особого вдохновения пишет стихи и играет в волейбол. Основные профессиональные инструменты — Autodesk Maya, Autodesk Mudbox и Adobe Photoshop. Без ума от индюков и попугаев. Спасибо за внимание, заходите снова!

  • 81412 просмотров

3/4 времени на свою идею, 1/4 на изучение языка - глядишь, и через пару месяцев уже можно будеть понимать написанное, а там и до свободного чтения не так уж далеко... Я вот конкретно движком Unity 3d интересовался, на русском видеоуроков или статей - крохи, а вот на английском - уже десятки часов по всем темам.

Хорошая статься, правда мне кажется эту тему можно раскрывать бесконечно. Я бы добавил обязательное условие, "любить читать" и искать тонны информации в интернете. Если что то найти человек и может в интернете, а вот осилить имеющуюся литературу допустим в 500 страниц, это уже может стать проблемой, а это я считаю основополагающий фактор, читать читать читать, и только потом делать делать делать.
Спасибо, буду читать вас еще:)

Согласен, эта тема была затронута краешком в абзаце про профессионалов. С учебными материалами и правда проблема - желающим доступны просто тонны книг и видеоуроков, чтобы перечитать и пересмотреть которые - не один год нужен. Часто срабатывает инстинкт хомячка - натаскать всего и побольше, и чтобы потом это всё добро лежало и покрывалось толстым слоем пыли (каюсь, тоже таким грешен). Кажется, что сам факт обладания таким объёмом информации делает тебя профессиональнее, но это далеко не так.

В общем, я бы сказал, что нужно читать И делать, и только тогда можно придти к успеху. Помню, в одном из видеоуроков инструктор напоминал - "Люди, вы - не растения! Вы не можете впитывать знания так же, как растения впитывают солнечный свет. Не просто смотрите, но и делайте, экспериментируйте, выходите за рамки того, что я вам показываю.". Очень правильное замечание сделал этот человек.

20 Ноя, 2011

Очень понравилась статья. Ещё узнал, что автор хочет свою 1-ю игру реализовать. Я рисовать не умею, но разрабатываю движки для игр на Android, Windows, Linux, Mac (при помощи Open Source & Cross Platform Framework LibGdx), знаю box2d, OpenGL. Раньше занимался движками для веба, но последние 2-а года изучаю Андроид платформу. Хочу также как и автор реализовать свою 1-ю игру и выпустить её на Андроид Маркете. Идея уже есть (на физику и логику, 2Д, вид сбоку, сейчас продумываю уровни), но она очень абстрактна ещё, как автор сказал (золотые слова) идею надо ещё реализовать и только тогда будет ясно принесёт она успех или нет;-) Если интересно, то пишите мне на почту... Успехов и Удачи!

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

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

Очень хорошо ваше наблюдение подчёркивает сайт:
https://sites.google.com/site/mysuperpupergame/

Просто сам пишу и понемногу продаю игры на Flash, очень много посещаю тематических сайтов и так смешно читать темы "собираю комманду", что взял и сделал этот сайт (под пиво), для того чтоб, на разных форумах давать ссылку на него.

Вдруг кто присоединиться:)

Для начала постарайтесь определить, к какому направлению у вас могут быть склонности. Может вам нравится рисовать, тогда создание графики - очевидный выбор. Либо же наоборот - рисовать вы не умеете, но сильны в математике и технических науках - тогда программирование может стать удачным выбором. Хотя всему этому можно научиться и не имея каких-то предрасположенностей, другое дело, что работа в "неправильном" направлении не будет доставлять никакого удовольствия и напротив, скорее будет в тягость. Для начинающих хорошо подойдут конструкторы игр типа Game Maker (самый известный). Начать можно с него, ну а далее по потребностям - нужна будет графика для игры, тогда стоит попробовать рисовать, нужны будут скрипты - вот вам и программирование. Главное - начинать с самого простого, типа Понга (это игра такая), арканоидов и т.д., и очень быстро вы сами сориентируетесь, что вам нужно и для чего. Как говорят в таких случаях - Интернет знает всё, нужно лишь поискать ©. Что бы вы не выбрали - в вашем распоряжении будет огромное количество образовательных ресурсов. Дерзайте .

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

11 Фев, 2012 10 Мар, 2012

Блог ну прям с меня списан практически.
С первой частью блога согласна на все 100%. Но вот по поводу иностранного языка, вот тут я "закипела".
Не все люди могут выучить английский язык или вообще любой другой иностранный язык. Не всем это дано. Получается, что если человек не знает английского языка, ему никогда не стать разработчиком игр или просто профессиональным программистом?!
Для того, чтобы выучить английский язык также нужны годы, нужны не только книги и учебники, самоуичтели и аудиоуроки по языку, но свободное время. А его вечно не хватает. По себе знаю, что пока учишь одно, другое забывается. Приходится снова возвращаться к началу. Повседневная жизнь такова, что часто приходится делать "привычную работу". Приходя домой с работы никаких сил уже на иностарнный язык не остается, даже при наличии огромного желания и мотивации! Усталость и нехватка времени сводит все усилия по изучению иностранного языка на нет. Доказано на собственном опыте!
Все же не согласна я с автором блога по поводу иностанного языка. Проблему обучающего материала очень легко решить, а именно переводить книги, газетные и журнальные статьи, и даже теже самые видеоуроки с американских сайтов на русский или любой другой язык. Зачем новичку тратить время на иностранный язык, когда есть другие люди, которые занимаются этим же самым переводом профессионально? Зачем вообще нужны тогда переводчики? Неужели ни в одной из американских крупных компаний по разработке игр нет переводчика? В жизни не поверю в это. К тому же если существуют коллективы, где сотрудники говорят на обоих языках, почему сразу не написать литературу, документацию, статью или видеокурс на двух или трех языках? Все дело в том, что этим надо кому-то заняться из команды разработчиков программного продуктиа, но никто не хочет. Вот в чем вопрос. Банальная лень!!! Трудно написать сразу два документа. Напишу стандартный на английском. А тому кому надо пусть сам мучается с переводом, тратит еще больше времени на поиск информации, прежде чем реально начнется обучаться тому, что ему нужно.

Эх, если бы всё было так просто... Отвечу по порядку.

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

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

Тем не менее, проблема перевода любых материалов действительно может быть решена, и я уверен - будет решена в ближайшие годы, может быть 10-15 лет. С развитием информационных технологий любой перевод будет осуществляться на 100 % точно и "на лету", а профессия переводчика со временем канет в Лету. Но пока такие системы не созданы - приходится мириться с текущей ситуацией, ведь простого её решения пока нет.

Переводить статьи, книги или уроки, безусловно, можно, но вот только кто будет этим заниматься? Профессиональным переводчикам, как и любым другим специалистам, нужно платить, и платить много. Заниматься переводом узкоспециализированной литературы просто так никто не будет, разве что энтузиасты. Но много ли их, этих энтузиастов? Капля в море, причём такая общественно-полезная нагрузка очень быстро им надоедает. И я категорически не согласен с тем, что новичкам не нужно тратить время на изучение языка. Любителям - возможно, но будущим профессионалам - нет.

Знание двух-трёх иностранных языков - это серьёзная инвестиция в своё будущее, преимущество в любой конкурентной борьбе, необходимый навык, а не каприз. В XXI веке, когда мир глобализуется и уменьшается, знать только свой родной язык - значит сознательно ограничивать свою свободу, в первую очередь свободу получения информации.

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

Это - их бизнес. Никто не будет заниматься тратой ресурсов на адаптацию своего продукта (перевод) к рынку, на котором нельзя продать достаточное количество копий своего продукта. В первую очередь переводы получают те языки, доля рынка которых самая большая. В случае с игровыми движками это обычно китайский язык, к которому постепенно подбирается корейский. В сумме эти три языка, наверное, покрывают до 80 % рынка. Русскоязычные покупатели же могут составлять 2-3 % от общего объёма - вот вам и причина, по которой существует дефицит учебников и курсов на русском, производителям просто не выгодно заниматься этим.

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

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

10 Мар, 2012

Ух какой ответ большой.
Подустала я сегодня, мысли бегают кругом да и глазки болят... Ай ладно.

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

Конечно для саморазвития знать другой язык нужно, пусть даже немного, но лично в моем случае это "гиблое дело". Чтобы выучить, запонить и потом "воспроизводить" английские слова я трачу не один день. Перевод предпочитаю делать вручную старым дедовским методом "словарь"+"ручка"+"бумага". И этот дедовский метод крайне медленен. В день не более одного, двух абзацев. Каждое слово переводишь! А потом еще грамотно собрать переведенные слова в "текст имеющий смысл". Очень тяжелая работенка и таким темпом одну страницу неделю переводить можно:-). И как далеко на этом можно "уехать" в моем случае? Это ни к чему не приводит как правило.
P. S. Переводчики (программы) работают по тому же принципу. Сплошной набор переводов слов, причем не самый точный.

Совсем другое дело, когда находишь в Сети (так как другого источника нет) книгу в электронном виде или учебник в котором все расписано с самого начала, по полочкам разложено, простым и доходчивым языком рассказано. Напрмер книга, которую я сейчас читаю "Как написать игру для ZX Spectrum". Очень интересная и понятная. На русском. Единственное, на что я потратила время, это на поиск эмуляторов операционной системы Спейси и на редакторы для создания игр. Вот на этом реально можно научиться, сразу! Все понятно и время экономит и необходимые, пусть самые базовое знания новичок получит.

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

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

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

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

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

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

Да, не поощряется, причём в случае с Википедией это даже более показательно, чем с другими сайтами и их контентом, т.к. содержание сверхпопулярной Википедии гораздо проще использовать в качестве эталона, с которым будет сравниваться контент. Тут логика поисковика очень простая. Ведь если контент общедоступен - зачем его копировать? Правильнее указать ссылку на источник, который поддерживается в актуальном состоянии (т.е. энциклопедические статьи могут часто исправляться и дополняться). Тот же Google, например, заинтересован только в уникальном контенте, т.е. таком, которого нигде больше нет. Конечно, никто не может запретить сделать "зеркало" Википедии и выложить его в интернете, но поисковикам такой сайт в принципе не будет интересен, т.к. им придётся тратить ресурсы и время на индексацию того, что и так уже проиндексировано. Вполне естественно, что зеркалирование контента (копирование) не поощряется, а в некоторых случаях и вовсе наказывается.

Ясно. По большому счету с моей стороны вопрос копирования - это не "злостное копирование всего и вся". Скажем так, существует некоторый материал который, в принципе, переписать можно, но вряд ли получится сильно лучше. "Зачем придумывать велосипед?" так сказать. Уникальные статьи и контент имеют место быть, но... Несколько статей было - таки скопировано.

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

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

Наша "модель копирования", о которой шла речь выше, крайне примитивна и утрирована, поэтому не передаёт всех нюансов работы поисковых алгоритмов. Я лишь хотел заметить, что в общем виде правило "только уникальный контент" работает очень хорошо, а "неуникальный контент" может выйти боком Конечно же, далеко не факт, что именно так и будет, но на то оно и общее правило, что из него бывают исключения. Например, упомянутые новостные сайты имеют целью распространять информацию и доносить новости о событиях до читателя как можно быстрее. В таких условиях естественно, что однажды написанная новость может разлететься в виде скопированного текста по сотням сайтов в течение минут. Однако, как говорится, чукча тоже не дурак, и поисковики умеют отличать новостные сайты-порталы, где приоритет отдаётся свежей информации, от сайтов другой направленности. Например, скопированная новость, будучи актуальной, может вылезть в ТОП и продержаться там какое-то время, но как только информация станет неактуальной - в большинстве случаев она серьёзно просядет в выдаче.

С чего начать разработку своей игры? Как ни странно, но самым первым и очевидным пунктом здесь будет: оставьте эту затею.

Серьезно. Если вы только-только планируете свой путь в игровой индустрии, у вас горят глаза, и вы точно уверены, что знаете как сделать своего « », или - не начинайте.

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


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

На данный момент имеется огромное количество всевозможных «конструкторов», посредством которых можно собрать простенький прототип даже без базовых знаний программирования. Тот же Game Maker позволяет собрать за несколько вечеров вполне играбельный прототип.


Еще один важный момент: не бойтесь избавляться от своих неудачных творений. Будьте готовы к тому, что ваш первый прототип скорее всего отправится в мусорную корзину. Второй, вероятно, тоже. Очень важно уметь как можно раньше отфильтровать провальные идеи и не тратить на них время команды. К оставленным ранее идеям и наработкам можно попробовать вернуться позже, если на вас вдруг снизойдет озарение. Но не пытайтесь вытянуть откровенно слабую идею, только лишь потому что вы уже вложили в нее какие-то ресурсы (будь то ваше время, время команды или контент, заказанный на стороне).

Допустим, что вы адекватно оценили силы своей команды, написали концепт, провели исследование рынка и сделали простой, но играбельный прототип. Что дальше?


Выставки, тусовки и шоукейсы. Показывайте. Смотрите. Получайте обратную связь. Даже если отбросить относительно большие ивенты вроде Devgamm и White Nights, где сейчас очень любят инди и охотно дают им места под демонстрации, есть огромное количество мелких инди-ивентов.

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

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

Если хотите лично посетить новые открытые лекции по игровой индустрии и узнать об этом чуть больше, то в марте можно сходить сразу на несколько бесплатных открытых мероприятий в ВШБИ, вход на которые осуществляется просто по регистрации:

  • 01 марта: Особенности локализации игр отечественных разработчиков на другие страны
  • 02 марта: День открытых дверей программы «Менеджмент игровых проектов»
  • 15 марта: Управление командой в игровой индустрии
  • 22 марта: Игровая графика: базовые принципы и инструменты

Разработка видеоигры - дело непростое. Тем не менее, если у вас есть идея на миллион, то лучше начать как можно скорее! Независимых разработчиков в последнее время становится все больше, а создание игры еще никогда не было дешевле или проще. Эта статья расскажет вам про основные вехи создания видеоигры.

Шаги

Основы

    Выберите жанр. Да, все успешные игры - уникальны. Тем не менее, их можно причислить к тому или иному жанру. Определитесь с жанром первым же делом! А жанры бывают следующие:

    • Аркады
    • Шутер
    • Платформер
    • Гонки
    • Квест
    • Бесконечный забег
    • Шутер от первого лица
    • Манга
    • Башенная защита
    • Ужастик
    • Файтинг
    • Комедии
    • Выживание
  1. Выберите платформу. Выбранная платформа существенным образом повлияет на дальнейший процесс разработки, не говоря уже о том, как будет управляться игра - с клавиатуры, джойстика или экрана планшета.

    • Общее правило таково - проще разрабатывать игру, сразу представляя, как и на чем в нее будут играть. Есть исключения, само собой, но исключения есть из всех правил.
    • Хотите сделать игру для iPhone? Ее надо будет отправлять в AppStore с компьютера под управлением Mac.
  2. Напишите черновик концепта игры. На паре страниц в общих чертах напишите, как играть в вашу игру. Одно только это уже сможет дать вам представление о том, удачной ли окажется такая игра.

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

    • возможность вести машину;
    • возможность проверить рефлексы игрока;
    • возможность симуляции экономики космической державы.
  3. Запишите все особенности своей игры. Особенности - это то, что будет отличать вашу игру от тысяч прочих. Начните с перечисления идей и концептов, затем перепишите все это в осмысленные предложения. Подготовьте 5–15 особенностей. Например:

    • Концепт: постройка космической станции.
    • Особенность: можно построить собственную космическую станцию и управлять ею.
    • Концепт: урон от метеоритов.
    • Особенность: игрок старается выжить в условиях метеоритных дождей, вспышек на солнце и так далее.
    • Перечислите особенности сейчас, и потом вам будет проще вставить их в план разработки по игре. Все особенности лучше заложить в самом начале, чем «лепить» все потом одно на другое.
    • Переписывайте список особенностей до тех пор, пока ней поймете: «Это именно та игра, которую я хочу создать».
  4. Устройте перерыв. Спрячьте в стол черновики на недельку-другую. Потом достаньте и взгляните на них свежим взором. Это не повредит.

    Составляем план разработки

    1. Распишите все до мелочей. План разработки - это хребет вашей игры. В нем - все. Даже так: в нем - Все. Механика, сюжет, место действия, дизайн и все прочее. Причем важен не формат, важна суть, важно содержание этого документа.

      • Особенно важными планы разработки становятся тогда, когда под вашим началом команда. План разработки игры в данном случае - это настольный… файл команды. Будьте точны, конкретны и понятны в формулировках, описывающих те или иные аспекты игры.
      • Не у каждой игры есть план разработки, а двух одинаковых планов не найти. Эта статья - лишь общее руководство, но вы вправе вносить и свои изменения.
    2. Составьте оглавление. В оглавлении должен быть перечислен каждый аспект игры. Единственное, о чем не надо там упоминать - о сюжете, если только сюжет не связан теснейшим образом с механикой игры.

      • Оглавление - это почти как руководство к игре. Начните с общих разделов, затем делите их на подразделы.
      • Оглавление - это как черновая модель игры. Но в каждом из пунктов должны быть подробности, много подробностей!
    3. Заполните каждый пункт оглавления. Опишите все так подробно и понятно, чтобы, начав работу по кодированию и прорисовке, все и все поняли, причем сразу. Каждая механика, каждая особенность - все должно быть объяснено на 5+!

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

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

    Начинаем программировать

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

      • С помощью движков упрощается работа с графикой, звуками и искусственным интеллектом.
      • Разные движки - разные плюсы и минусы. Что-то лучше подходит для двумерных игр, что-то - для трехмерных. Где-то нужно лучше разбираться в программировании, где-то можно начать работать, не отличая функцию от процедуры. Популярны следующие движки:
        • GameMaker: Studio - один из самых популярных движков для двумерных игр.
        • Unity - простой в использовании движок для создания трехмерных игр.
        • RPG Maker XV - скриптовый движок для создания двумерных ролевых игр в стиле JRPG.
        • Unreal Development Kit - трехмерный движок многоцелевого использования.
        • Source - очень популярный и часто обновляемый движок для создания трехмерных игр.
        • Project Shark - 3D движок для начинающих и продвинутых пользователей.
    2. Изучите особенности движка или наймите специалиста по нему. В зависимости от выбора может появиться необходимость много программировать. Впрочем, даже с простейшими движками разобраться не так-то просто. Поэтому, если задача кажется вам не по силе, найдите профессионала.

      • Это может стать началом командной работы над игрой. Сначала - программист, потом специалист по звуку и дизайнер, затем тестер…
      • Существует огромное сообщество независимых разработчиков, с которыми стоит сотрудничать. Если людям понравится ваша идея - они, вдохновившись, помогут вам воплотить ее в жизнь!
    3. Сделайте прототип игры. Изучив движок, сделайте прототип игры. Это, по сути, тест базовой функциональности игры. Графика или звук пока не нужны, нужны лишь заполнители и тестовая область.

      • Проверять и переделывать прототип надо до тех пор, пока играть не станет весело. Во время проверок надо выявлять все, что работает неправильно, и вносить соответствующие изменения. Если прототип не вызывает у людей восторга, то и сама игра вряд ли их поразит.
      • Прототип будет меняться не раз и не два. Это нормально, ведь вы никогда не знаете заранее, как поведет себя та или иная механика.
    4. Поработайте над управлением. Управление, осуществляемое игроком - это базовый уровень функционала игры. На этапе прототипа важно сделать управление максимально удобным.

      • Плохое, сложное, непонятное управление - разочарованный игрок. Хорошее, качественное, точное управление - счастливый игрок.

    Работаем над графикой и звуком

    1. Подумайте, что нужно проекту. Может, вашей игре будет достаточно строгих геометрических форм и 16 цветов? Или вам нужны сложные рисунки, создаваемые целой командой дизайнеров? А звуки? Будьте реалистичны в своих оценках и нанимайте людей соответственно.

      • Большинство индивидуальных игр создаются силами небольшой команды или даже одного человека. Учтите, что в одиночку создание игры займет куда больше времени.
      • Есть много бесплатных ресурсов, доступных для всех желающих. Главное в этом деле - не нарушать авторские права.
    2. Нарисуйте черновые арты. Начните работать над визуальной составляющей игры, чтобы игра обрела ту атмосферу, которую вы видели в своих мечтах.

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

      Улучшите графику. В зависимости от выбранного стиля графики, вам на помощь могут прийти разные программы, например:

      • Blender - один из самых популярных 3d-редакторов (причем бесплатный). В сети полным-полно руководств по нему, так что разобраться и быстро начать работать проблемы не составит.
      • Photoshop - очень полезен на этапе создания текстур, а также для отрисовки двумерного арта в целом. Да, он платный. Если хочется бесплатного аналога - возьмите Gimp , у него почти такой же функционал.
      • Paint.net - бесплатная альтернатива такой программе, как Paint Shop Pro, позволяет легко и просто создавать двумерный арт. Особенно полезна эта программа при работе над двумерным пиксель-артом.
      • Используйте Adobe Illustrator . Эта программа отлично подходит для векторной графики. Стоит она недешево, так что, если денег у вас в обрез, используйте Inkscape - бесплатная альтернатива Adobe Illustrator с открытым исходным кодом.
    3. Запишите звук. Звук - очень важная слагающая атмосферы любой игры. Есть ли у вас музыка, нет ли ее, какие звуковые эффекты воспроизводятся и когда, озвучиваются ли диалоги - все это окажет существенное влияние на впечатление игрока от игры.

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

    Собираем все вместе

    Тестируем игру

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

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

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

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

    Издаем игру

      Проверьте еще раз движок на тему издания игры. Каждый движок поддерживает ряд платформ, а некоторым движкам требуются дополнительные лицензии, чтобы выпустить игру для другой платформы. Например, Game Studio в стандартной версии делает игры для Windows и Mac OS X. Чтобы сделать на этом движке игру для мобильных платформ, нужно приобрести его Pro-версию.

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

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

0. Разработка игр для детей

Многие книги ориентированы на работу с легендарной и интуитивно понятной средой разработки для детей Scratch, в том числе ScratchJr. После базиса следует информация о Python Pygame. Есть книга для пятилетних, но большая часть материалов подойдет для детей в возрасте от 8 лет.

1. Информатика

Теоретическая подковка – обязательная составляющая, без которой дальнейшее изучение лишено смысла. Эта подборка обучающей литературы включает в себя основы, сведения об алгоритмах и математику в разрезе изучения информатики.

2. Языки программирования

Разговаривать на языке компьютера непросто, но возможно. И таких способов уйма. Например, язык C существенно повлиял на индустрию ПО, поделившись своим синтаксисом с популярными C#, C++ и Java. C++, в свою очередь, является мощным языком для создания эффективных программ и программных комплексов. Многие также пишут игры на C#: язык шустрый, удобный и позволяет быстрее стартовать разработку.

А вот Lua перенял кое-что от C++. Скрипт-язык хорош для игровой логики. Он упростит инициализацию уровня, привязку задач к объектам, смену поведения NPC в интерактивном режиме без необходимости перекомпилировать проект и многое другое.

3. Создание приложений

И если информатика – это базис теоретический, то здесь больше практики. Разработка игр – ухабистая стезя, и начать лучше с приложений. Книги с практическими заданиями, а также информацией о паттернах и UML помогут разобраться, что к чему.

4. Математика для разработки игр

Нет, здесь не будет школьного курса алгебры и геометрии. Подборка разбита на основы математики в сфере геймдева и более продвинутый уровень.

5. Игровое программирование

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

6. Разработка игрового движка

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

7. Компьютерная графика

Да, содержимое – это важно, но именно компьютерная графика является аналогом интерфейса приложения, который будут видеть пользователи. Поэтому ей стоит уделить особое внимание.

Недаром этот раздел самый большой. Сюда включены основы программирования с Real-Time 3D, DirectX и OpenGL. Все дополнено информацией о рендеринге и технологиях. Отдельного внимания в подборке удостоились Direct3D и OpenGL.



8. Игровое аудио

Разработка игр касается и аудио: это звуки, издаваемые NPC, главным героем, явлениями или предметами, а также музыка. Аудио программирование обошлось всего двумя книгами, но в них доступно изложена необходимая информация.

9. Игровая физика и анимация

Один из самых сложных этапов. Кроме программной основы и картинок, должны быть законы, по которым все это взаимодействует. Игровая физика и анимационное программирование раскрыты в 17 книгах. Отдельно затронута имитация жидкости.

10. Игровой искусственный интеллект

Управляемых компьютером персонажей немало: это могут быть мобы, квестгиверы и даже обычные шахматы. Обилие книг позволит понять принципы работы ИИ. Ниже приведен перечень тематических полезных статей.

11. Многопользовательское игровое программирование

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

Что вы делаете, когда вы играете в какую-то игру и несколько раз не можете пройти одно и то же место? Можно просто найти уже готовое прохождение . Это, конечно, здорово, но что, если вы застряли в разработке игры? Какой гайд прочитать? Так пусть наша статья станет вашим пошаговым руководством к разработке вашей первой игры, если вы все еще не начали ее писать. Если уже начали, то вам все равно не помешает прочитать наши советы - быть может, увидите что-нибудь новое.

Прежде, чем мы начнем, мы хотим привести вам пример первой игры от автора этой статьи. Это была простая текстовая игра под названием Divine Blood:

Это была самая первая игра, причем запрограммированная для калькулятора TI-83 Plus . Позднее она была переписана автором на Java во время обучения в старших классах. Примечательно, что игра так и не была закончена.

Ко всеобщему сожалению, не доводить игры до логического конца - одна из самых распространенных проблем начинающих разработчиков. Соответственно, возникает вопрос: как повысить свою продуктивность и все-таки закончить начатый проект? Ответ прост: прочтите наше «прохождение» разработки игры.

Основные этапы

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

  • планирование;
  • прототипирование;
  • программирование;
  • релиз.

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

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

Уровень 1: Планирование

Помните, сделав 90% игры, вы думаете, что потратили 90% своего времени. А доделывая оставшиеся 10%, вы тратите еще столько же «оставшегося» 90% времени. Составляйте план, учитывая это. - Ян Шрейбер

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

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

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

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

Именно поэтому важно спланировать все, иначе на этапе разработки (уровень 3) вы захотите добавить в игру больше возможностей и начнете реализовывать все подряд, что категорически неправильно. Ваш проект рискует быть чрезмерно большим, отчего вам сложнее будет его контролировать, а вскоре вы вовсе бросите его в дальний ящик в надежде, что возьметесь за него позже. Если вы играли в серию игр Halo, представьте себе, как было бы трудно играть в нее, если бы вы столкнулись с парочкой охотников сразу после начала игры. Вы попросту будете умирать снова и снова, пока вам не надоест эта череда смертей. В разработке игры все аналогично.

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

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

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

Уровень 2: Прототипирование

Дизайн это процесс, а не результат. - Кристофер Симмонс

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

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

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

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

Вы помните секретные телепорты в игре Super Mario Bros? Игрок мог найти хорошо спрятанные трубы, прыгнув в которые можно было пропустить несколько уровней. Так и здесь. Правда, мы не полностью пропускаем прототипирование, а совмещаем его с планированием.

Хотим заметить, что первые два этапа взаимозаменяемы. Быть может, вы хотите проверить основную механику вашей игры, прежде чем потратите кучу времени на детали? А может, вы хотите попробовать какую-то возможность в вашей игре? Это основные причины, почему есть смысл в том, чтобы поменять порядок первых двух этапов.

Хорошая игра - это поток интересных задач, решаемых игроком. - Брюс Шелли

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

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

Уровень 3: Программирование

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

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

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

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

«Я не умею рисовать» - используй клипарт. «Я не умею создавать звуки» - ищи MIDI файлы. «Я не умею программировать» - никого это не волнует, не программируй! - Роб

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

Но вы не должны унывать! Лучшее решение этих проблем - отвлечься от проекта на несколько дней. Вы очистите ваш ум и позволите новым идеям посетить его. Также неоднократно замечено, что «утро вечера мудренее». Застряли? Не знаете как решить проблему? Ложитесь спать, а на завтрашнее утро вы, возможно, сразу поймете причину ваших неудач. Не работайте до изнеможения и не изнуряйте себя: работа над проектом должна быть в удовольствие.

Если вы пытаетесь и не можете решить действительно сложную проблему - остановитесь. Решите более простую проблему, которая выполняет те же действия, что и сложная. - Даниель Кук

Ну а боссом этого уровня является сама игра. Да, игра, которую вы и пишете. Она не должна быть идеальной, но она должна быть полноценной. Такой, в которую бы люди могли и хотели играть.

Уровень 4: Релиз

Никогда не сдавайся. - Элис Тейлор

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

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

Начиная создавать игру, не смотрите на результаты других. Создайте то, что хотите вы. - Роб

А финальным боссом всего нашего путешествия будет являться ваша гордость. Вы сделали полноценную игру от начала и до конца! На самом деле, не все могут похвастаться этим.

Каждый разработчик когда-нибудь напишет «плохую» игру. Если вы еще не написали - напишете. Все мы напишем. - Бренда Ромеро

И помните, дорога к успеху вымощена многократными неудачами. Никогда не сдавайтесь!

Вывод

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

А теперь соберитесь и напишите свою игру!

Как Яндекс использует ваши данные и машинное обучение для персонализации сервисов - .