"Буквопад: собери слово" — это браузерная игра, сочетающая элементы классических игр "Тетрис" и "Филворды". Игроку предстоит составлять слова из падающих букв, не допуская заполнения экрана, соревнуясь за место в глобальной таблице лидеров.
Основные особенности:
- Бесконечный режим игры с прогрессивным увеличением сложности.
- Возможность составления слов из более чем 70 000 комбинаций.
- Нелинейная система начисления очков: множители зависят от длины слов, а ценность букв варьируется в зависимости от их редкости.
- Усилители для помощи в сложных ситуациях, в том числе подсказка для автоматического сотставления слов, которые могут быть неизвестны игроку.
Игра разработана для пользователей всех возрастов и адаптирована для работы на платформе WebGL, обеспечивая доступ через любой современный браузер.
Публикация: Игра прошла модерацию сайта, максимально набрав рейтинг платформы 57 и оценку игроков 4.1, но в данный момент снята с пубкации в связи с низким онлайном игроков.
Посмотрите геймплей игры на YouTube:
- Unity: Движок для разработки игры с использованием 2D-компонентов.
- C#: Основной язык программирования для разработки логики игры.
- WebGL: Платформа для публикации игры в веб-браузере.
- PluginYG: Интеграция с платформой Яндекс Игры для адаптации управления, работы таблицы лидеров, рекламы и других возможностей платформы.
Игра собрана на единственной сцене.
Класс GameField выполняет следующие ключевые функции:
- Управляет состоянием игрового поля, отслеживая количество объектов и букв на линиях.
- Контролирует процесс игры, включая проверку переполнения поля и определение конца игры.
- Определяет уровни опасности на поле в зависимости от количества объектов на линии.
- При поражении очищает поле и отображает экран с результатами.
Класс LetterBoxSpawner отвечает за спаун объектов (букв) на игровом поле:
- Спаунит объекты (буквы) на заранее определённых точках с заданной задержкой между появлением букв.
- Использует Coroutine для последовательного появления объектов с задержкой между точками и между объектами на одной линии.
- Контролирует процесс спауна, для равномерного распределения букв по полю.
Класс Trie реализует структуру данных префиксного дерева (Trie) для хранения и поиска слов в пространстве имен Dictionary.
Класс WordLine управляет сбором и обработкой букв, образующих слово на игровом поле.
Класс ScoreLine управляет подсчетом очков игрока, основываясь на собранных словах.
- Каждой букве присваиваются очки, и их сумма умножается на множитель в зависимости от длины слова.
- После вычисления очков обновляется текущий счет и максимальные очки, если они были побиты.
- Также реализована плавная анимация изменения счета и интеграция с системами сохранения и лидерборда.
Класс LetterRandomizer отвечает за случайный выбор буквы с учетом заданных вероятностей для каждой буквы (с учетом ее редкости).
Класс SaveLevelScript Отвечает за сохранение и загрузку состояния уровня игры.
Класс LetterBox Отвечает за логику работы с объектами, представляющими буквы на игровом поле:
- Обрабатывает создание и отображение случайных букв.
- Управляет выбором буквы пользователем, изменяя её внешний вид при выборе и добавляя её в слово.
Класс DifficultManager Управляет сложностью игры, регулируя количество новых объектов на поле на основе текущего состояния игры.
Класс BonusLogic Механика усилителей и подсказок:
- Замена части букв на игровом поле: Позволяет обновить определённое количество букв на поле, предоставляя новые варианты для составления слов.
- Уничтожение букв на верхней половине поля: Удаляет буквы в верхней части игрового поля, предотвращая его переполнение и проигрыш.
- Автоматический поиск наиболее длинного слова: Находит и выделяет самое длинное слово, доступное на текущем игровом поле, что помогает в сложных ситуациях или для максимизации очков.
Класс AdsManager управляет рекламой, используя события.
Класс ControllerUI управляет пользовательским интерфейсом игры и меню.
И другие классы предназначеные для анимации, звукового сопровождения и т.п.
В проекте были использованы следующие ассеты из Unity Asset Store:
-
Game Interface Sound Pack 2.0
Набор звуковых эффектов для интерфейса. -
Casual Game Music Loops Vol. 2
Коллекция музыкальных лупов для фона. -
RainbowArt 5000 Flat Buttons Pack
Набор кнопок с плоским дизайном, использованных для создания интерфейса игры.