Similar presentations:
Project Wormhole
1. Wormhole Project
WORMHOLEPROJECT
ОВСЕПЯН ВЛАДИМИР
СЕРЕБРЕННИКОВА НАДЕЖДА
КРЕМНЁВ ЛЕВ
ЯНДЕКС ЛИЦЕЙ
2-ОЙ КУРС
КУРАТОР: МЕДИНСКИЙ
ВЛАДИМИР ВЯЧЕСЛАВОВИЧ
2. Идея Wormhole project
ИДЕЯ WORMHOLE PROJECTПредставьте себе игру, где вы не управляете кораблём напрямую, а рассчитываете
гравитационные маневры, словно настоящий космический навигатор. Именно так и появилась
идея Wormhole.
Всё началось с простого вопроса: а что если создать игру, где гравитация — не просто фон, а
главный механизм? Где каждый выстрел нужно рассчитывать с учетом притяжения планет,
отталкивающих полей и вихревых червоточин.
Но простого физического симулятора было мало — хотелось стиля, атмосферы. И тут пришла
идея о "Матрице". Знаем, помним и любим. Почему бы не перенести эту эстетику в
космический симулятор? Так мы и создали игру, где вы пилотируете шар через цифровую
вселенную планет, астероидов и чёрных дыр.
Игра задумывалась как относительно простая, но интересная вещь, играю в которую можно
будет расслабиться, а не разносить компьютер в щепки от того, что ты потерял рейтинг.
Как по мне, самая интересная часть — это ощущение. Ощущение, что ты не просто кликаешь
мышкой, а проводишь сложные расчёты, планируешь манёвры на несколько ходов вперёд,
становишься настоящим стратегом космических путешествий. Надеемся, у нас хорошо
получилось это передать.
3. Описание нашей игры
ОПИСАНИЕНАШЕЙ ИГРЫ
Когда вы запускаете основную игру, вас встречает экран загрузки системы навигации. Экран загружается
строками зелёного кода, система диагностики проходит проверку, и вот вы уже в главном меню под
мерцающим заголовком "WORMHOLE".
Здесь вас ждёт:
Выбор уровня — как в старых добрых аркадах, мы изобразили стилизованные цифровые кнопки с
номерами. Пройденные уровни светятся звёздочками (чем больше попыток осталось — тем больше
звёзд). Всего 3 уровня(это можно быстро и легко исправить), но система сделана так, что можно легко
добавлять новые.
Бесконечная матрица — вот где начинается магия. Игра сама генерирует уровни, причём умно(так
задумывалось). Сначала даёт простые — одна-две планеты, широкий коридор. Потом сложнее —
больше объектов, появляются отталкивающие планеты, безопасные зоны сужаются. И так до
бесконечности.
Сердце игры — физика в немного упрощённом формате:
Шар — ваш космический корабль. Вы не можете управлять им в полёте, только задать начальный
импульс.
Планеты — синие притягивают, красные отталкивают. У каждой есть невидимая сфера влияния.
Червоточина — фиолетовая спираль с вращающимися лучами. Попасть в неё — значит пройти уровень.
Астероиды — зелёные препятствия. Столкнулся — потерял попытку. Но всегда можно попробовать ещё
раз.
4. ОПИСАНИЕ НАШЕЙ ИГРЫ
Аудиосистема игрыМеломанам привет. Просто проходить уровни в тишине нам показалось
скучным, поэтому мы добавили целую аудиосистему.
Как использовать: в папку soundtracks вставляем MP3/WAV, и игра будет
воспроизводить их в случайном порядке.
Захотелось отрегулировать громкость или переключить на следующий
трек? Для этого есть специальное меню, которое плавно поменяет звук и
также плавно переключит трек.
Можно использовать сколько угодно треков – наслаждайтесь!
5. РЕДАКТОР УРОВНЕЙ
Если в основной игре вы игрок, то в редакторе — вы можете создать всё, что угодно.Что может наш редактор:
Инструменты:
Курсор-выделение — кликаешь на планету, перемещаешь её.
Кисть-планета — ставишь притягивающие и отталкивающие миры.
Кисть-астероид — добавляешь препятствия.
Установка точек — где появится шар, где будет червоточина.
Работа с файлами как в профессиональном ПО:
Сохраняешь уровень — получаешь аккуратный JSON файл.
Загружаешь — редактор создаёт временную копию, которую можно будет перезаписать или сохранить отдельно.
Горячие клавиши на все случаи:
Q — выделение, W — червоточина, A — астероид...
Ctrl+S — сохранить
Даже Delete для удаления объектов есть.
По сути, редактор — это вторая полноценная программа в проекте. Не просто "дополнение", а самостоятельный инструмент, который позволяет
создавать уровни сложнее тех, что я сам придумал.
6. РЕДАКТОР УРОВНЕЙ
Если заглянуть внутрь, проект похож на хорошо организованную мастерскую. Вот как всё разложено по полочкам:main.py — сама игра.
level_editor.py — редактор уровней.
Папки, которые игра создаёт сама:
levels/ — здесь живут JSON-файлы с уровнями
soundtracks/ — сюда вы кидаете музыку
game_progress.csv — тут игра записывает ваши звёзды
Технологии — ничего лишнего:
Python — потому что на нём быстро и понятно делать прототипы
Arcade — игровая библиотека, которая не требует изучать тонны документации
JSON для уровней — читаемый и человеком, и компьютером
CSV для прогресса — просто открыть в Excel
Секреты оптимизации:
Текст не рисуется каждый раз заново, а кешируется.
Столкновения проверяются по умной сетке, а не перебором всех объектов
Частицы ограничены по количеству, чтобы игра не тормозила, но всё также была красивой
7. Что можно сделать в будущем?
ЧТО МОЖНО СДЕЛАТЬ В БУДУЩЕМ?1. Добавить более продвинутый алгоритм генерации "бесконечных уровней"
2. Сделай соревновательный режим - два игрока смогут посоревноваться на скорость и качество прохождения
уровня.
3. Больше уровней.
4. Новые объекты: порталы и поля ускорения/замедления
5. Красивые анимации и катсцены в более продвинутой форме.
6. Доделаем тестирование уровней в редакторе и часть нереализованных инструментов, так как проект делался в
спешке.