Но что самое интересное – у них получилось создать нечто волшебное, удивительное, положившее начало целым культурам и вырастившее не одно поколение игроков. У них не было и десятой части тех инструментов, что есть сейчас у нас. Наши возможности – гораздо шире, чем были у разработчиков в конце восьмидесятых, и сделать мы можем в разы больше. Свою Final Fantasy у вас сейчас получится создать играючи.
Уделите внимание ретро-играм эпохи NES, Snes и Sega Mega Drive и сравните их с современными независимыми играми. Не собраны ли, на ваш взгляд, современные игры из точно тех же элементов, из которых создавали хиты прошлых лет?
Давайте поговорим о том, что именно мы имеем на текущий момент.
2. Идеальное время для одиночек: движки
Начнем с хороших новостей: вам больше не нужно изучать Assembler, чтобы сделать игру. Более того, можно вообще не знать никаких языков программирования и не получать образования программиста. Я, например, так и не удосужился этого сделать. По образованию я психолог.
Для разработки видеоигр в наши дни используются «игровые движки», коих развелось великое множество, но упоминания достойны единицы.
Игровой движок представляет собой программное обеспечение, запуск которого откроет вам такие возможности, которые не снились ни авторам Super Mario, ни авторам Final Fantasy. Представляете – в наши дни с помощью абсолютно любого современного движка можно крутить спрайты! Разработчики игр на NES и Sega MD о таком и мечтать не могли! А знаете, в каких современных движках сохранилось ограничение на вывод всего лишь 64 цветов на экран? Ни в каких! Такого ограничения больше не существует! Вы способны использовать все цвета, которые могут отобразить современные мониторы, а также сопроводить все это дело любыми звуками, которые вам приглянутся, – достаточно просто закинуть. wav или. mp3 файл в игру и не заморачиваться больше о пяти доступных каналах. Вам не нужно собирать спрайты из квадратиков 8 × 8 – вы можете нарисовать спрайт абсолютно любого размера и в любом соотношении сторон.
Перечисление таких возможностей в качестве «удивительных» может звучать саркастично и глумливо, но я отнюдь не ставлю перед собой цель высмеять инструменты прошлого. Я лишь хочу подчеркнуть, насколько доступнее и проще стала разработка видеоигр. Final Fantasy была создана, как уже говорилось, усилиями четырех человек, 3,5 из которых занимались тем, что за вас сейчас сделают движки и программы. Больше не нужно писать рендеры, больше не нужно пытаться уместить всю графику игры в смехотворные 8 Кб памяти. Шансов создать великолепное произведение у нас сейчас гораздо больше, чем было в свое время у Миямото и Сакагучи. Пока эти ребята двигались на ржавых телегах, мы сейчас будем выбирать свой истребитель среди десятка игровых движков.
«Лучшего» движка не существует. Каждый из них хорош по-своему. Потому сначала стоит хотя бы в общих чертах определиться с тем, что собой будет представлять ваш будущий проект. Будете ли вы использовать двухмерную или трехмерную графику? Планируете ли вы делать шутер, платформер или визуальную новеллу? Говорят, что ответов на эти вопросы хватит, чтобы выбрать себе игровой движок. На самом деле их хватит, чтобы лишь присмотреться к движкам, а самый главный вопрос мы зададим себе, когда поймем, какие движки вообще существуют и чем они отличаются друг от друга.
Первый актуальный движок, на который, возможно, упадет ваш взор, – это Unity. С помощью этого инструмента были созданы такие игры, как Genshin Impact, Rust и Cuphead. Он бесплатен для независимых разработчиков и, что важно, подходит для создания как двухмерных, так и трехмерных игр. Качество графики, которое вы получите, полностью зависит от вашего упорства – Unity ничем не уступает другим движкам по возможностям выдавать детализированное изображение. Но достоинства движка играют не такую важную роль, как ответ на вопрос «а может ли в нем разобраться разработчик, не обремененный лишними знаниями о программировании?».
Unity поддерживает C#, и знание С# – огромный плюс, который ускорит обучение этому изумительному инструменту. По сравнению с Assembler, на котором создавались шедевры ушедших эпох, C# является весьма высокоуровневым языком, особенно с учетом того, что сам движок постоянно пытается угадать, что мы хотим написать, и пестрит красочными подчеркиваниями, автоисправлениями и предложениями по «правописанию». Тем не менее в наши дни даже С# кажется суровым инструментом высоколобых программистов, в то время как те, кто не разбирается в C#, могут глянуть в сторону «визуального программирования» (рис. 3).