Геймдев с "нуля"

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

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

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

Справедливости ради, какая-то база у меня всё же была. В школе я писал на бейсике (не на VB, а на обычном BASIC), в том числе, игры - на УК НЦ (кто-то вообще помнит, что это?), на "Корвете", на РС ХТ (8086 - это то, что было ещё до 286 процессоров). Также из "активов" у меня был опыт разработки игр (не только для ПК), участие в разработке давно почившей браузерной игры Ravensteel (но там я не участвовал непосредственно в программинге, скорее выполнял функционал гейм-дизайнера, по итогам вынес много полезного опыта), немного умею "в эксель" (без макросов), умею вести проект (это важно для соло-проекта) и имею доводить намеченное до конца.

С чего началось? Да очень просто - в августе 2022 года, в отпуске, поиграл в игру на мобильнике. И мне захотелось, чтобы игра была "вот такой же, только с брекджеком и кОрОвАнАмИ". Писать автору свои идеи, чтобы он их принял? Я ж понимаю, что львиная доля идей даже не будет рассматриваться. В то же время я видел, что игра, которая мне в целом понравилась, была сделана одиночкой - энтузиастом.

Геймдев с "нуля" Мобильные игры, Gamedev, Программирование, Личный опыт, Разработка, Инди, Инди игра, Длиннопост

Ну я и подумал "А чё бы не то?". И вот, вернувшись с отдыха, я начинаю изучать вопрос (параллельно работая на основной работе). Я понимал, что хочу сделать игру для смартфона и поэтому первый вопрос - а что, собственно, поддерживает смартфон? В куда там кодить то? ) Так я добрался до изучения Java. Собственно, кроме концепции ООП (объекто-ориентированного программирования), я ничего нового и не увидел - всё те же циклы, функции, переменные, массивы, условия как и в BASIC 30-летней давности, просто чуть в другом формате. Кстати, дата начала изучения мной Джавы (установки среды для кодинга) запомнилась очень просто - это...

Геймдев с "нуля" Мобильные игры, Gamedev, Программирование, Личный опыт, Разработка, Инди, Инди игра, Длиннопост

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

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

Да, пришлось "уходить" с Java на C# (Си шарп), но на самом деле, отличий не так много. Благо, под Юнити и под Си шарп обучающих материалов тоже навалом.

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

Геймдев с "нуля" Мобильные игры, Gamedev, Программирование, Личный опыт, Разработка, Инди, Инди игра, Длиннопост

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

Геймдев с "нуля" Мобильные игры, Gamedev, Программирование, Личный опыт, Разработка, Инди, Инди игра, Длиннопост

Ну и выдохнул...

Всё ж напряг был знатный, а там праздники, НГ, расслабон... Короче, желания продолжать не было. Как и желания делать другую игру.

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

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

Геймдев с "нуля" Мобильные игры, Gamedev, Программирование, Личный опыт, Разработка, Инди, Инди игра, Длиннопост

Хинт: "Игру" (если её можно так назвать) как на картинке, сегодня я легко сделаю за час-два (я не видел саму игру, речь только о том, что на картинке). Профи, кстати, за 10-15 минут в Юнити эту "фигню" "соберут", причем половина времени уйдет на работу самого движка (создание проекта, компиляция).


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

P.S.: Картинки - из инета. Текст - прям весь мой (буквы - кириллица, знаки препинания - международные, могут даже где-то отсутствовать или присутствовать без веской причины).

Лига Разработчиков Видеоигр

6.8K поста22.2K подписчиков

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"