0

Мой опыт разработки игры и результат

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

(картинка для привлечения внимания)

(картинка для привлечения внимания)

Давно я захотел делать игры и пошел по пути программиста. Игры - это программы, надо научиться делать программы. Всё просто =D Кроме того, было банально интересно, как работает ПК. Годы я учился и работал с мыслью: "Вырасту - буду делать игры". А потом с ужасом понял, что похоже вырос, и пора уже действовать.

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

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

Для понимания, что я сделал: 2d top-down экшн с боёвкой в стиле "один удар - одна смерть" (с исключениями, но это мелочи) и с менеджментом. Что-то такое было и раньше, но мне всегда не хватало именно менеджмента. Чтобы были торги: самому активно драться или заниматься "отстройкой". По задумке, в поиске баланса и должна быть мякотка. Выглядит это сейчас примерно так:

Теперь к сути:

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

* Стоит поискать коллекции ассетов-картинок.

Я их неожиданно для себя открыл (не по одному-двум ассетам, а именно коллекции). Но их пришлось править

2. Фотошоп и рисование

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

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

3. Документация

Я писал на Unreal Engine 5, т.к. там язык C++, а значит я не буду ограничен в инструментах.

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

* А вот у Valve похоже лучшая документация, что я видел. Тут даже нечего сказать, игру с steam Вы подружите легко. Да, там есть русская документация, если что.

4. Звук

* В интернетах Вы найдете кучу свободных звуков.

* Но Вам как то придется их монтировать. Audacity - простая и интуитивная прога.

* Вот что с музыкой делать, кроме как брать готовую, я не знаю.

5. Сценарий

* Будь готов 100500 раз править и переписывать его. Для улучшения обучения игрока, для адаптации к внешним условиям (оказалось, что задуманный тобой вначале визуал не работает/не реализуем и миссия из-за этого выглядит не так удачно и пр.)

6. Анимации

* Делай покадрово.

Я видел лучу инструментов для создания анимаций, но так и не понял, а нафиг они нужны? Просто рисуешь покадрово и всё. Сколько я не вглядывался в анимации в хороших играх, такое ощущение, что везде в 2d делают кадры вручную.

7. Менеджмент

* Тебе будет плохо.

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

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

Если куски маленькие (допустим по 1 дню), ты будешь буксовать на смене контекстов.

Поймать баланс сложно и идеальным он, похоже, в принципе быть не может.

8. Unreal кишит багами.

На форумах ты найдешь массу примеров ошибок, которым по 10+ лет. И никто их править не будет: про ошибку не напишешь красивый пресc-релиз.

* Путь - танчить ебалом. Искать варианты самому или на форумах. Сообщество придумало костыль почти на любую тему. Почти.

9. В Unreal'е хватает недоделанного.

Пример: в UE5 вырезали поддержку OpenGL (это как DirectX, только не он). Но есть Vulkan. Но там, например, нельзя получить стандартным способом список поддерживаемых монитором разрешений. (форум)

Пример: Ray Tracing Reflections (документация, чуть вниз пролистайте)

(картинка из документации)

(картинка из документации)

В Screen Space Reflections нет отражений объектов за пределами кадра, а в ray traced - есть. Ну и сами отражения лучше.

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

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

Если заинтересовал проект, не торопитесь: в игре нет русского. Изначально всё писалось на русском, конечно. В какой то момент перевёл на английский, и после этого было много правок. Надо теперь всё полноценно перепроверить. Это время. Я надеюсь успеть перед выходом в ранний доступ. Но прям сейчас я занимаюсь визуалом, т.к. меня сильно беспокоит этот аспект.

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