Как создать первую игру, не бросив дело на полпути
Если кто и знает толк в том, как бросать проекты, то это я. И в этой статье я расскажу, как не повторить мои ошибки.
vlada_maestro / shutterstock
У разработчиков игр есть поговорка: «Ваши первые десять игр будут отстоем, так что их следует закончить как можно быстрее».
Я начал создавать игры в 12–14 лет, когда изучал PHP. И сейчас, оглядываясь назад, я могу подтвердить правдивость этой поговорки.
Мои первые игры
Если честно, мне стыдно говорить об этом, потому что ни одна из моих игр так и не была доведена до релиза. Тут я имею в виду игры, которые создаю для себя, а не те, которые делаю за деньги.
Итак, моя первая игра была браузерной RPG (что ещё это могло быть, если я изучал PHP?). Сейчас от неё не осталось и следа, но, если постараться, в Google до сих пор можно найти картинки, которые я использовал в игре.
Тогда, естественно, я считал, что игра просто обречена на успех. Ну вы сами подумайте:
- разные расы;
- продуманный лор;
- сюжет;
- пошаговые бои;
- большая карта;
- торговля;
- улучшение предметов;
- навыки;
- характеристики;
- покупка жилья и многое другое.
Я даже сам рисовал некоторые спрайты в MS Paint — классика. Всё свободное время я тратил на эту игру и был очень воодушевлён. Я даже задавал вопросы о вероятностях и пропорциях на форумах. Мне говорили, что я ещё слишком молод для таких вопросов, но я не сдавался.
В один ужасный день появилась проблема, которую я не мог решить: игра зависала во время поединков. Более того, зависал весь компьютер, на котором я запускал локальный сервер.
Спустя несколько недель, полных безуспешных попыток всё исправить, я опустил руки.
Ещё через несколько месяцев я вернулся к коду игры и ужаснулся. Мне стало настолько стыдно, что я удалил всё и на какое-то время оставил попытки создать эту игру.
Впрочем, ничто не могло удержать меня от попыток создать ещё что-нибудь. Теперь я точно был уверен, что закончу проект. Он был почти таким же, но отличался сеттингом: на этот раз я отказался от мечей и магии, выбрав космос.
Надо ли говорить, что и тут меня ждал провал?
Со временем я понял, что моя ошибка была в выборе PHP (ну а в чём же ещё?). Все серьёзные игры делаются на C++, значит, я тоже должен использовать его.
Строгая типизация, одинарные и двойные кавычки, библиотеки, объекты и, конечно же, чёртова консоль выводили меня из себя. Неужели язык должен быть таким сложным?
Попытки создавать графические интерфейсы ни к чему не привели, потому что Visual Studio сначала еле скачался, а потом еле работал. В итоге C++ я тоже, само собой, забросил.
Следующим в моём списке языков был JavaScript, с которым у меня сложилась точно такая же история.
То же самое было и со следующими моими играми.
В чём были мои ошибки
Мои главные ошибки заключались в том, что я пытался в одиночку создать слишком большие проекты. При этом я развивался гораздо быстрее, чем мои игры. Из-за этого спустя какое-то время я начинал ненавидеть код, который писал ранее.
Будь эти игры меньше, я бы просто доводил их до конца и не переживал, что мой старый код будет висеть там и портить весь проект. Каждый раз я начинал сначала и думал: «Вот теперь у меня будет чистый и логичный код». Надо ли говорить, что каждый раз я ошибался?
Такие же ошибки совершают и другие разработчики. Многие, как и я, просто уничтожают свои труды, чтобы мир не познал их ужаса. Другие хотя бы создают небольшие игры и публикуют их.
Посмотрев на Super Meat Boy, можно подумать: «Вау, эти разработчики знают толк в играх!» Да, игра хорошая, но это не значит, что все игры от этих разработчиков были и будут хорошими. Например, Эдмунд МакМиллен, один из геймдизайнеров и художник этой игры, создал 44 игры, перед тем как у него получилось выпустить что-то действительно удачное.
Некоторые из его игр были откровенно странные, но сейчас их даже не получится запустить из-за прекращения поддержки Adobe Flash.
Как избежать ошибок в начале пути геймдева
Чтобы не бросать игру до её завершения, стоит первые игры делать максимально небольшими. Под небольшими я имею в виду, что вы можете сосредоточиться всего на одной-двух механиках.
Например, в игре Baba is you нет продвинутой графики или большой свободы. Вы можете только ходить и двигать блоки. Даже изменение правил игры происходит с помощью перемещения слов (блоков). Это не помешало игре стать самой инновационной в 2019 году по версии Марка Брауна.
Многие более известные игры тоже сосредотачиваются на паре механик. К примеру, главной механикой игр о Марио является прыжок. Даже его прототипа из игры Donkey Kong звали Jumpman (прыгун).
Сосредотачиваясь на малом, вы сможете закончить игру до того, как начнёте её ненавидеть. А в следующие свои проекты можно добавлять больше идей, механик и контента.
Второй полезный совет — не отказывайтесь от готового контента. Вам не обязательно самостоятельно делать все модели, анимации, визуальные эффекты, писать музыку и так далее. Если вам интереснее писать код — пишите код. Если хотите заниматься моделями — делайте модели. Вероятность, что вы преуспеете во всём этом сразу, стремится к нулю.
Это же можно сказать и о технологиях. Сейчас существует множество бесплатных движков, которые позволяют буквально за несколько дней создать готовый продукт и загрузить его в Google Play Store или просто показать друзьям.
Один из таких движков — Unity. Он предоставляет игрокам большие возможности для создания 2D- и 3D-игр, а также позволяет использовать для скриптов мощный и простой в изучении язык C#.
Освоить Unity вы сможете, например, на нашем курсе «Профессия Разработчик игр на Unity». В течение курса вы научитесь современным приёмам создания игр и даже выпустите первые проекты.