Мой опыт разработки игры и результат
Всем привет, меня зовут Игорь и я создал свою игру. В последнее время тут часто всплывает тема разработки игр и, возможно, мой опыт будет кому то интересен.
Давно я захотел делать игры и пошел по пути программиста. Игры - это программы, надо научиться делать программы. Всё просто =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 - есть. Ну и сами отражения лучше.
Но открыв документацию Вы убедитесь, что от этого уже отказались, и оно когда то будет удалено. Т.е. в прод такое не отправишь (если там есть баги - их никто править не будет). Недавно добавили и почти сразу в утиль. Почему? А пресс релиз то какой красивый. Вы посмотрите, отражения ж реально круче других техник. В интернетах будут появляться красивые проекты-портфолио от энтузиастов с применением этой техники. При этом официально можно не поддерживать, не исправлять ошибки. Тик-ток фича.
Пока закончу. Возможно, у Вас будут какие то свои вопросы, на которые я постараюсь ответить.
Если заинтересовал проект, не торопитесь: в игре нет русского. Изначально всё писалось на русском, конечно. В какой то момент перевёл на английский, и после этого было много правок. Надо теперь всё полноценно перепроверить. Это время. Я надеюсь успеть перед выходом в ранний доступ. Но прям сейчас я занимаюсь визуалом, т.к. меня сильно беспокоит этот аспект.
Если вдруг уже сейчас Вы хотите напихать мне в панамку, не поленитесь. Опыт показал, что негативная обратная связь от товарищей часто подсвечивает незаметные для меня косяки.

