Хочу делать видеоигры: с чего начать?
Сферу IT всё чаще называют «новой нефтью». Другими словами, индустрия невероятно перспективная и денежная. Одна из самых творческих областей этого направления — разработка видеоигр. Так что если вы когда-нибудь мечтали сделать игру, то ваши желания вполне могут привести вас к безоблачному будущему. «Канобу» вместе с ведущим разработчиком российского ПО фирмой 1С разобрался и подготовил базовый гайд о том, как новичкам подступиться к одной из самых амбициозных индустрий в мире.
Что нужно знать, чтобы сделать игру?
Для начала – нужно любить видеоигры и активно в них играть. Иначе как создавать то, о чём имеешь лишь смутные представления?
Второй важный навык — уметь программировать. Код — костяк игры, то, что заставляет её работать. Для его написания используют разные языки программирования. Обычно в игровой индустрии предлагают выучить самые популярные языки: C++, C#, Java, Python.
Для разработки используют движок — комплекс средств, с помощью которого можно собрать все необходимые элементы и постепенно привести в форму видеоигры в специальной программе. Движки часто заточены под определённые функции, а многие из программ бесплатны. Например, на движке Twine, работающем на Java, в основном делают сугубо текстовые игры. Но на Java к среде программирования, где просто пишут код, часто подключают сборники подпрограмм с новым функционалом. Самый известный среди них — libGDX. На нём, к примеру, сделано много игр для Android вроде Slay the Spire, одного из самых известных карточных рогаликов.
Minecraft — пример ещё одной игры, изначально разработанной на Java. Скриншот: «Канобу»
1С:Клуб программистов летом запускает интенсив для школьников, на котором можно быстро, дешево и онлайн познакомиться с базой языков программирования Java и Python. Команда профессионалов научит не только работать с незнакомым языком программирования, но и поможет создать на нем первую видеоигру. В этой школе есть и другие курсы, которые помогут освоиться в игровой индустрии. Например, курсы видеоблогинга, web-дизайна и 3D-моделирования (незаменим для будущих создателей трехмерных видеоигр).
Как придумать интересную игру?
Не рассчитывайте сразу сделать что-то масштабное. Вполне сойдёт ира на 5-10 минут: что-то вроде короткого текстового квеста и простенького «шмапа» (Shoot 'em up – подвид шутеров) про космический корабль. Маленький проект имеет больше шансов дожить до релиза. В случае чего (например, появления концепции игры интереснее) его будет не так обидно забрасывать.
Но даже в рамках этой крохотной игры важно сохранять оригинальность, а не просто повторить существующие проекты. Вот что может помочь решить эту нестандартную задачу:
– вспомните видеоигры, фильмы и книги, которые вам нравятся, занятия, в которых вы действительно хорошо разбираетесь;
– сделайте что-нибудь непривычное: опробуйте хобби, о котором никогда не задумывались, прочитайте пост о теме, что вас никогда не интересовала;
– сыграйте в игру, которую вы ненавидите: возможно, причины вашего раздражения наведут на нужную мысль.
А затем займитесь будничными делами — например, помойте посуду. Во время рутины вы не заметите, как у вас в голове появится целый ворох задумок. Подробно об этом методе рассказал геймдизайнер Скотт Роджер, автор Pac-Man World, в своей книге «Level Up! The Guide to Great Video Game Design».
В Minit главный герой каждый раз умирает через минуту после начала игры. Но это не помеха для интересного геймплея. Источник: страница Minit в Steam
У меня есть идея. Что дальше?
Когда у вас появится идея, придумайте чёткие базовые правила: выпишите, что умеет главный герой (если он есть), какие перед игроком препятствия и что они делают, как будут меняться условия. Посмотрите на примеры схожих игр — только не копируйте точь-в-точь. По полученному тексту уже можно будет писать код.
Дорабатывайте правила игры по мере разработки — всегда есть, что можно изменить в лучшую сторону. Только не впадайте в перфекционизм: в этом случае важнее доделать до конца, пусть и не идеально, чем потратить все силы и запал на проработку одного элемента, который могут не оценить.
К тому же нужно помнить, что разработка игры требует немало времени. Повторить простую популярную игру можно и за пару часов, если уметь кодить. Но на что-то чуть более сложное вы, в лучшем случае, потратите пару недель, если возьмётесь за дело впервые. А скорее всего – пару месяцев.
Так Эрик Барон, автор популярной Stardew Valley, делал её в течение четырёх лет. Он работал практически каждый день по десять часов. Это была его первая игра, но Барон старался всё изучить и сделать самостоятельно. Он даже не выходил в Интернет, чтобы задать какой-нибудь вопрос по проблемам с кодом. Потому уставал от разработки настолько сильно, что у него не оставалось ни на что времени и сил. Он не мылся, не убирался дома, мало спал, практически ничего не ел, чуть не расстался со своей девушкой и порой в панике сомневался в том, нужно ли ему продолжать. А для тех, кто хочет и жить полной жизнью, и всё-таки создать свою игру в разумные сроки, есть 1С:Клуб программистов или другие популярные школы программирования.
Мини-курс Time management (ищите в этом разделе) поможет структурировать время, а мини-курс Presentation skills (по той же ссылке) — интересно рассказать о своей новой игре.
Как найти тех, кто захочет сыграть в мою игру?
Умение интересно представить свою игру — половина успеха, но ещё не всё. Почти наверняка ваша первая игра будет простой, отчего с ней лучше не ходить в цифровые магазины вроде Steam. Но не волнуйтесь: ваши усилия окупятся за счёт опыта, который вы приобретёте за время разработки.
Hungry Knight — коротенькая игра, которая позволила авторам Hollow Knight понять, какой именно проект покрупнее они хотят потом сделать. Скриншот: «Канобу»
Важно узнать, что об игре думают другие люди. Не бойтесь критики — её будет много, дебют вряд ли получится идеальным. Делитесь проектом со своими друзьями, выкладывайте его в социальных сетях — в особенности на тематических форумах разработчиков. Например, в VK есть сообщества по каждому движку, где все делятся своими наработками и просят совета — так в паблике Infernal Game Maker обсуждают разработку на GameMaker: Studio. На GameDev.ru всегда можно прийти со своей игрой и получить толику внимания.
С таким партнером, как 1С:Клуб программистов, дорогу к успеху осилить будет проще. Помимо языка программирования, тяжелой науки организации времени и презентационных навыков, можно освоить и web-разработку, чтобы сверстать свой сайт, а также много других полезных навыков. Названия не менее полезных мини-курсов «Cтарт в Веб дизайне», «Создай свой сайт за 3 занятия» и «Видеомонтаж. Проще, чем кажется!» говорят сами за себя.
1С:Клуб программистов и к ОГЭ с ЕГЭ поможет подготовиться. Но это потом, а сейчас — лето на носу! И лучший способ его разнообразить — получить новые знания, поработать над оригинальным проектом, создать свою первую видеоигру, чтобы осенью удивить уникальным творением одноклассников. Не обязательно быть вундеркиндом или ждать 18-летия, чтобы осваивать актуальные направления — достаточно лишь желания и усилия воли!