В современном мире разработки игр многие программисты и энтузиасты стремятся найти новые методы ускорить создание игровых проектов без потери качества и творческой свободы. Особенно интересно смотреть на вызовы и результаты, которые получают разработчики, работающие в сжатые сроки. Один из таких впечатляющих примеров – это серия из 23 игр, созданных за 24 дня на языке программирования Rust с помощью игрового двигателя Bevy. Этот уникальный опыт демонстрирует, насколько можно быстро и эффективно создавать интерактивные проекты, сохраняя при этом разнообразие и интересные игровые механики. Rust как язык программирования играет важную роль в этом интенсивном проекте.
Его высокая производительность, безопасность памяти и современный синтаксис делают Rust востребованным в области системного программирования, а также все чаще используются в разработке игр. Несмотря на то, что язык сравнительно молодой в сфере геймдева, его преимущества очевидны для быстрого создания кроссплатформенных решений, включая веб-браузеры благодаря WebAssembly. Bevy — это игровой движок для Rust, который набирает популярность благодаря модульности и расширяемости. Он ориентирован на удобство работы с ECS-архитектурой (Entity Component System), что позволяет создавать гибкие и масштабируемые игровые механики. Для разработчика, который решил пройти вызов по созданию 23 проектов почти подряд, именно Bevy стал ключевым инструментом, значительно облегчая разработку и позволяя сосредоточиться на идеях и реализации.
Проект, о котором идет речь, охватывает период с середины июля до начала августа 2023 года, причем разработки велись даже в условиях поездок и ограниченного времени. Большая часть игр — это небольшие, но от этого не менее увлекательные проекты, от простейших реакционных тестов до более сложных roguelike и гоночных симуляторов. Разнообразие игр поражает воображение. Здесь есть проекты на любой вкус: от «вампирского» roguelite с элементами выживания, до динамичных гоночных игр с использованием виртуальных джойстиков для сенсорных экранов. Важным моментом стало использование генеративных технологий, таких как Large Language Models для создания уникальных предметов с автоматически сгенерированными названиями и характеристиками, а также Stable Diffusion для создания спрайтов и игровых миров.
Такие инновационные подходы не только снижают нагрузку на художников и дизайнеров, но и открывают новые горизонты в быстром прототипировании. Одним из ярких примеров технологической интеграции стала игра с сторонним веб-API, которая позволяет получать случайные изображения кошек с сайта cataas.com — интересное техническое решение для расширения взаимодействия внутри игры. Также стоит отметить проекты с использованием сложной графики, созданной в Blender, Figma, Midjourney и анимации с Mixamo, что говорит о разнообразном стеке технологий, задействованных в процессе. Игры хорошо адаптированы под разные устройства.
Многие из них можно запустить как на ПК с клавиатурой и мышью, так и на мобильных платформах с использованием сенсорного управления. Возможность играть непосредственно в браузере без установки приложений значительно расширяет охват аудитории и упрощает тестирование. Разработка в таком темпе требует не только технической грамотности, но и психологической устойчивости, умения быстро переключаться между проектами и сохранять мотивацию. Автор отмечает, что некоторые игры скорее интерактивные эксперименты, нежели полноценные проекты, однако именно этот экспериментальный дух помогает изучать новые концепты и технологии, что коренным образом помогает в росте как разработчика. Среди наиболее интересных проектов выделяются игры с необычными механиками.
Например, whack-a-mole в форме игры с выдрами, где все спрайты созданы путем генерации, или игра-пинбол с преднамеренно «плохой» физикой и графикой, что добавляет элемент юмора и нетрадиционного подхода к геймдизайну. Другие проекты предлагают полностью новые ощущения, такие как аудиосёрф-гонки с антигравитацией и динамическим музыкальным сопровождением, которое меняется в зависимости от скорости игрока. Также стоит отметить развитие уже ранее созданных игр, где реализуются новые функции. К примеру, демоны в игре из середины июля «умерли» и начали взаимодействовать с игроком посредством звуковых эффектов, что помогает ощущать присутствие и местоположение врагов. Этот процесс постоянного улучшения и итераций свидетельствует о зрелом подходе к созданию игровых проектов, где сумма улучшений улучшает общее впечатление.
Проект не ограничился только этими 23 играми. Помимо краткосрочного вызова, автор делится опытом более продолжительных начинаний — таких как voxel roguelite и многопользовательские FPS с поддержкой генерации оружия. Особое внимание уделяется проекту «Joggande Djur», визуально впечатляющему бесконечному раннеру с уникальной анимацией персонажей и профессиональной озвучкой, что подчеркивает эволюцию авторских навыков и командную работу. В целом, создавая 23 игры подряд, автор подсвечивает не только техническую сторону быстрой разработки, но и то, как новые инструменты и генеративные технологии меняют подходы в инди-гейминге. Важным выводом становится то, что даже простые проекты могут стать тестовыми площадками для изучения новых идей, позволяя формировать портфолио и набираться опыта в разных аспектах геймдева.
Тем, кто интересуется созданием игр на Rust и стремится к быстрому освоению инструментов, этот опыт служит вдохновением и полезным примером. Возможность запускать игры в браузере и работать с кроссплатформенным движком упрощает процесс тестирования и публикации. Интеграция с современными генеративными сервисами расширяет горизонты творчества и позволяет быстро доводить проекты до стадии играбельности. Такой интенсивный подход к разработке требует дисциплины и продуманного планирования, но в итоге даёт богатый материал для анализа, саморазвития и демонстрации навыков. Благодаря гибкости Rust и возможностям Bevy, разработчику удаётся успешно реализовывать самые разные идеи, что доказывает пригодность этих технологий для амбициозных инди-проектов.
Путём сочетания традиционного программирования, генеративного искусства и игрового дизайна удалось создать разнообразную коллекцию, которую можно использовать как вдохновение для собственных экспериментов. Разнообразие геймплеев, от реакционных тестов до сложных roguelike с процедурной генерацией, делает этот опыт ценным кладезем знаний о современной разработке игр. Опыт интенсивной разработки на Rust с Bevy — это пример того, как можно балансировать между скоростью реализации и качеством, как экспериментировать с новыми методами создания контента, и как современный разработчик может максимально эффективно использовать современные инструменты для самовыражения и создания игровых миров. Этот проект вдохновляет на то, чтобы не бояться браться за масштабные задачи и пробовать новые подходы в геймдеве.