ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.11.2023
Просмотров: 164
Скачиваний: 6
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Рис.1. Нажатая и не нажатые пружины на фоне игрового поля
-
Противники представляют собой подвижных врагов, изображенных в виде черных дыр и колючек, также статичным врагом является пропасть - нижняя грань игровой карты. Врагов нельзя уничтожить, но всегда есть путь обхода. Если персонаж промажет мимо платформы, он упадёт вниз, где прежних платформ больше нет;
Рис.2. Спрайт противника
Рис.3. Встреча с противником на игровом поле
-
Со временем платформ становится всё меньше. Если в начале пути у игрока есть несколько вариантов прохождения одного экрана, то со временем у персонажа не остается шанса на ошибку. -
Игровой персонаж из-за особенности игровой карты имеет возможность мгновенно перемещаться между двух боковых краёв экрана, что может помочь игроку в критической ситуации.
- 1 2 3 4 5 6
Перечень задач, подлежащих решению в процессе разработки.
Перед описанием конкретных сторон проекта стоит разобрать основную игровую механику – управление игровым персонажем;
Так как суть игры – попадать на парящие платформы, и отпрыгивать от них дальше наверх (отсюда название – «… Jump») стоит предусмотреть возможность передвижения игрового персонажа, а также оснастить такового некоторыми способностями для динамики игрового процесса.
Персонаж передвигается зажатием клавиш “A” “D” “ ←” “→” в направлениях влево и вправо соответственно.
Для облегчения продвижения по игровому полю игроку не приходится нажимать отдельную кнопку для совершения прыжка, при каждом касании нерушимой платформы или бонуса игровой персонаж, сам автоматически от неё отталкивается.
Также, исходя из того, что игровой процесс очень напряженный и требует от игрока большой концентрации, следует добавить некоторые «фишки» для использования при профессиональном исполнении. За основу такой «фишки» игровое пространство, оно не привычное и плоское, а в форме развернутого на плоскость монитора тора, игроку придется адаптироваться под окружения для достижения высоких результатов.
Итак, в работе над проектом можно выделить несколько областей.
-
Поле. В первую очередь необходимо продумать стартовое расположение игрового персонажа, обозначить зону его потенциального нахождения, а также зону появления противников и дополнительных объектов. -
Противники. Враги обладают такими характеристиками, размер, вероятность появления, случайная скорость и направление движения. Враги располагаются в полосе генерации закрытой от взгляда пользователя интерфейсной полосой navbar в верхней части экрана. -
Платформы и предметы. Для продвижения игроку необходимы платформы, имеющие ряд разновидностей со своими характеристиками:
Зеленная платформа: Статичный объект имеющий фиксированный размер и динамично-изменяющуюся вероятность появления. Также имеет вероятность нести на себе пружину, помогающую игроку прыгать выше.
Рис.4. Статичная платформа
Синяя платформа: Движущийся тип объектов, усложняющих прицеливание на них при приземлении.
Рис.5. Подвижная платформа
Коричневая платформа: Не имеет возможности отталкивать игрока, нужна для усложнения игрового процесса путем отвлечения внимания игрока. При приземлении на неё запускается анимация разлома данной платформы, и персонаж проваливается вниз вместе с ней.
Рис.6, 7. Ломающаяся платформа до и после приземления игрока
-
Меню и пользовательский интерфейс. При заходе в игру пользователь попадает на стартовый экран.
Рис.8. Стартовый экран.
Игра не запускается с непосредственным запуском приложения, что даёт игроку время подготовится и сосредоточится перед игровым процессом.
Нажав кнопку “Start”, игрока встречает окно вписывания имени пользователя.
Рис.9. Окно задания профиля игрока.
Для чего это нужно: в подобном жанре игр невозможно победить в привычном понимании этого слова. Мотивация здесь проявляется через систему подсчета рекордов в виде переменной «highscore», которая, обновляется, когда игрок набирает очков больше, чем когда-либо до этого. Соответственно игрок может конкурировать и соперничать с другими пользователями в навыке прохождения конкретной игры. За каждым именем пользователя закрепляется свой рекорд забега. При этом нет никакой потребности в логировании и установке пароля, ведь испортить чей-либо результат невозможно физически. Число “highscore” можно только повысить, побив предыдущий рекорд, или оставить прежним, не дойдя до этого рекорда.
Рис.10. Отображение имени профиля, текущего и наилучшего результата с видом игры без наложенных на объекты текстур
- 1 2 3 4 5 6
Выбор платформы и ОС
В соответствии со структурной сложностью игры, размерами игровой области и управлением в качестве платформы был выбран ПК. Данная платформа имеет достаточно небольшой объем на рынке видеоигр и предназначена для любительских простых проектов. Операционной системой была выбрана Windows, так как именно данный вариант является абсолютным лидером среди игроков описанной выше платформы.
-
Выбор движка и языка программирования
Для реализации данного проекта не требуется больших затрат ресурсов и сложных инструментов, поэтому для разработки была выбрана библиотека Pygame. Она позволяет быстро и просто создавать небольшие игры на языке программирования Python.
Исходя из выбранной платформы языком программирования послужил Python (v. 3.8). Данный язык поддерживает объектно-ориентированный подход, что позволяет реализовать задумку методом описания классов игровых объектов.
-
Выбор средств разработки
Средой разработки была выбрана Pycharm Community Edition. Данная среда поддерживает огромное количество расширений для работы с языком python в том числе, v. 3.8. В том числе обеспечивает: подсветку синтаксиса, всплывающие подсказки, автоматическое форматирование по стандарту pep8, поиск подключаемых библиотек из виртуального окружения.
Также данная среда предоставляет доступ к файловой системе компьютера, что позволяет сохранять рекорды пользователей в предназначенном для этого файле.
-
ПРОЕКТИРОВАНИЕ КОМПОНЕНТОВ ПРОГРАММНОГО
ПРОДУКТА
-
Иерархия классов