Назад Вперед

Пролог. Начало начал и немного геймдизайна…

Для своего первого проекта и, как говорится, пробы пера я выбрал простую мини-игру PingPong для двоих игроков. С последней рабочей версией можно ознакомиться в разделе Проекты.

Мини-игра PingPong

Любую игру, неважно если это просто мини-игра, всегда нужно начинать с планирования и составления примерного плана действий. В крупных проектах этими вещами отдельно занимается геймдизайнер, который составляет «диздок», техническое задание для всех участников команды, другие документы и контролирует процесс разработки и соответствия тому, чтобы команда не сходила с намеченного пути.

Так как вся команда у меня я сам, то себя тоже нужно контролировать и составлять хоть примерный план и описание того, что буду делать. С этого я и начну. Все описание, которое будет сделано в процессе, можно просмотреть на странице самой игры.

Описание игры

Документ с описанием игры геймдизайнеры готовят на свой вкус и цвет, но есть некоторые основные пункты, которые обязательно нужно осветить в них. Это, естественно, простые вещи вроде названия игры, выбора жанра и платформы, короткого описания сути, и более детальные вещи, которые включают в себя уже игровые возможности, геймплей, игроков, врагов, правила и используемые механики. Для себя я еще включил такие пункты, как версии игры и изменения в них, а также, что еще нужно или можно добавить в проект.

Контроль версий игры

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

Жанр игрыаркада, которая представляет собой короткую игровую сессию с относительно быстрыми и интенсивными действия. Такой жанр был популярен в игровых автоматах и на заре зарождения игровой индустрии. Сейчас можно встретить некоторые «ремейки» старых игр, а так же их новое воплощение на мобильных платформах.

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

Для разработки проекта используется фреймворк Phaser3 на языке программирования JavaScript. Код написан в редакторе VSCode, а для запуска и тестирования подключен плагин Live Server. Простая графика будет сделана с помощью графического редактора GIMP2. Аудио-ресурсы скачанные с сайта с бесплатным доступом и обработанные в программе Audacity. Опубликован проект на сайте с помощью языка разметки HTML5 и оформлен с помощью CSS3. Со всеми перечисленными инструментами и технологиями знакомился в разделе блога Инструментарий.

Игровая сцена

Что же представляет собой мини-игра PingPong? Это дуэль между игроками, которые управляют платформами на противоположных краях игровой сцены. Главной задачей является отбить шар так, чтобы противник пропустил его и шар улетел за край игровой сцены. Каждый такой пропуск приносит игроку победное очко, которых для конца игры нужно набрать 10. После этого можно повторить дуэль.

Игроки управляют специальными платформами с помощью клавиатуры. Первый игрок (левая платформа) — клавиши W (вверх) и S (вниз). Второй игрок (правая платформа) — клавиши стрелок Вверх и Вниз. Во время игры левая кнопка мыши перезапускает игру заново.

Главный объект игровой сцены — шар, который начинает свое движение с центра. Шар сталкиваясь с платформой начинает движение в противоположную сторону, сталкиваясь с верхними краями сцены — отскакивает и движется дальше, с боковыми — улетает за пределы, после чего снова появляется в центре экрана. Если шар улетел за правый боковой край — движение из центра начинается влево, и наоборот. В процессе движения шар также крутиться вокруг своей оси по часовой стрелке.

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

Конец игры

Вся игра имеет несколько сцен. Первая — загрузочная. В ней происходит загрузка всех необходимых графических и звуковых ресурсов. На перспективу — добавление графического отображения загрузки. Вторая — стартовая сцена. Будет расположено название игры, автор и стартовая кнопка. Третья — сама сцена игры, где и будет происходить весь процесс.

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

Вот такое, небольшое описание для небольшого проекта. Но теперь есть четкое видение того, что должно получиться и какие еще «фичи» можно добавить. Такое описание буду делать для каждого проекта. Думаю, это войдет в привычку и уже при разработке более крупных проектов, будет нести пользу.

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

Спасибо за внимание!

Назад Вперед