
Остров звёзд — игра с монетами и магазином
Учебный платформер: семь звёзд, игровая валюта, ускорение, лава, контрольная точка и финиш. Разберите генерацию карты, серверные правила, HUD и сохранение прогресса.
В архиве находятся исходные файлы Luau и инструкции, не готовая игра .rbxl. Перед использованием ознакомьтесь с README.
Исходный код и схема установки
На данный момент доступны изображения реальных исходников и схема размещения файлов. Скриншоты запущенной игры будут добавлены после проверки в Roblox Studio.
Полное учебное руководство · 10 глав
«Остров звёзд» — небольшой учебный платформер, в котором игрок исследует остров, собирает светящиеся звёзды, получает монеты, покупает ускорение и преодолевает опасные участки. Проект специально собран из нескольких понятных систем, чтобы показать, как отдельные скрипты превращаются в цельную игру.
Игровой процесс
После запуска скрипт автоматически строит карту. На острове расположены семь звёзд, каждая приносит пять монет; после сбора они появляются вновь через 12 секунд. Собрав 20 монет, игрок может купить ускорение на 20 секунд. По дороге встречаются лавовые препятствия и контрольная точка, которая помогает продолжить путь после неудачной попытки. На финише выдаётся награда — 30 монет и одна победа за сессию.
Что умеет проект
- Генерация острова.
IslandWorldBuilderсоздаёт карту и основные игровые объекты при запуске. - Сбор коллекционных предметов. Звёзды учитываются сервером, чтобы разные игроки не получали одну награду одновременно.
- Покупка бонуса. Ускорение действует ограниченное время; повторная покупка во время действия бонуса не списывает монеты.
- Препятствия. Лава завершает попытку, а контрольная точка меняет место возрождения в рамках текущей сессии.
- Счётчики. HUD показывает монеты, победы и сообщения о действиях.
- Сохранение. Монеты и победы могут сохраняться через DataStore; чекпоинт и временный бонус между сессиями не сохраняются.
Состав архива
IslandWorldBuilder.server.luau— создание острова;IslandGameServer.server.luau— монеты, звёзды, магазин, препятствия, финиш и сохранение;IslandHUD.client.luau— интерфейс и уведомления;README.md— правила игры, установка и проверочные сценарии.
Установка: шаг за шагом
- Создайте в Roblox Studio чистую Baseplate.
- В ServerScriptService добавьте два обычных Script:
IslandWorldBuilderиIslandGameServer. - В StarterPlayer → StarterPlayerScripts создайте LocalScript
IslandHUD. - Перенесите код из трёх файлов в соответствующие скрипты. Не добавляйте другие примеры магазинов,
leaderstatsили HUD в ту же игру. - Нажмите Play. Соберите четыре звезды, купите ускорение, проверьте лаву, контрольную точку и финиш.
- Для проверки DataStore используйте опубликованную тестовую игру. Затем проверьте двух игроков через Test → 2 Players.
Чему научится ученик
Вы потренируетесь разделять серверную и клиентскую логику, создавать объекты кодом, обрабатывать касания, вести игровую валюту, работать с событиями и проверять правила на нескольких игроках. Проект удобно проходить после практик №96–98 раздела «Скрипты 2.0».
Задания для развития игры
- Добавьте ещё один остров и мост с движущимися платформами.
- Придумайте три вида бонусов с разной стоимостью.
- Создайте второй чекпоинт и маршрут повышенной сложности.
- Добавьте экран победы и время прохождения.
- Нарисуйте собственные значки валюты и улучшений.
Важно. Архив содержит исходный код, не готовый .rbxl. Система сохранения учебная и не защищает от всех случаев одновременного входа на разные серверы. Скрипты не проходили полноценное тестирование в Roblox Studio.
Полное учебное руководство: 10 последовательных глав. Для каждой главы приведены объяснение, практические шаги, критерий проверки, самостоятельное задание и ограничения. Примеры относятся к файлам указанной версии архива.
Важное ограничение: файлы Luau не являются готовой игрой .rbxl; исходники пока не прошли полноценный запуск в Roblox Studio. Иллюстрации ниже — обложка и фрагменты исходного кода, не подтверждённые скриншоты игрового процесса.
ГЛАВА 01 / 10
Знакомство с островом и правилами
Разбираемся
Игрок собирает семь звёзд, каждая приносит пять монет. После сбора звезда появляется вновь через двенадцать секунд. За двадцать монет можно купить ускорение на двадцать секунд. На пути встречаются лава, контрольная точка и финиш.
Практика в Roblox Studio
Нарисуйте игровую петлю: сбор четырёх звёзд → покупка ускорения → прохождение препятствия → чекпоинт → финиш. Отметьте, где игрок получает обратную связь.
Как проверить результат
Объясните, почему четыре звезды достаточно для покупки и сколько монет останется после неё.
Самостоятельное задание
Предложите собственный маршрут острова с дополнительным препятствием, но без изменения экономики.
На что обратить внимание. Числа относятся к текущему README v1.0; при изменении кода необходимо обновлять и учебник.
ГЛАВА 02 / 10
Три файла и устройство проекта
Разбираемся
IslandWorldBuilder строит карту; IslandGameServer управляет валютой, препятствиями, бонусом, сохранением и финишем; IslandHUD отображает интерфейс. Серверная и клиентская части разделены, чтобы ученику было проще понять ответственность каждого файла.
Практика в Roblox Studio
Создайте Baseplate. Поместите IslandWorldBuilder и IslandGameServer как Script в ServerScriptService; IslandHUD как LocalScript в StarterPlayerScripts. Не добавляйте в тот же Place другие примеры leaderstats или магазинов.
Как проверить результат
После Play должна появиться карта, а в Output не должно быть ошибок отсутствующих объектов.
Самостоятельное задание
Составьте таблицу: файл, где расположен, что создаёт, какие данные использует.
На что обратить внимание. В ZIP нет .rbxl; игровой мир строится при запуске.
ГЛАВА 03 / 10
Автоматическая карта острова
Разбираемся
Генератор создаёт учебную карту из Roblox-деталей. Для занятий это удобно: координаты и размеры становятся управляемыми параметрами, а изменение кода можно увидеть сразу после Play. Однако слишком большой прыжок между платформами делает маршрут непроходимым.
Практика в Roblox Studio
Найдите в IslandWorldBuilder создание платформ и препятствий. Измените цвет одной платформы и переместите безопасный декоративный объект. Перезапустите игру и сравните результат.
Как проверить результат
Убедитесь, что SpawnLocation не перекрыт, а каждая необходимая площадка достижима стандартным прыжком.
Самостоятельное задание
Добавьте вторую дорожку к чекпоинту и обозначьте её другим материалом.
На что обратить внимание. Если генератор создаёт объект по фиксированному имени, согласуйте изменения с IslandGameServer.
ГЛАВА 04 / 10
Сбор звёзд и серверный учёт
Разбираемся
Каждая звезда выдаёт пять монет и исчезает на двенадцать секунд. Одну звезду в одном цикле получает только один игрок. Это пример критической секции: обработчик должен запретить повторное начисление, пока предмет недоступен.
Практика в Roblox Studio
В Play соберите звезду и засеките время до появления. Затем запустите двух игроков и попробуйте одновременно коснуться одного предмета. Найдите в IslandGameServer участок, который закрывает повторный сбор.
Как проверить результат
Убедитесь, что суммарная награда за одно появление звезды не удваивается.
Самостоятельное задание
Добавьте золотую звезду с отдельной ценностью; предварительно опишите её серверные правила.
На что обратить внимание. Слишком частые касания Touched не должны давать дополнительные монеты.
ГЛАВА 05 / 10
Валюта, магазин и ускорение
Разбираемся
Ускорение стоит двадцать монет и действует двадцать секунд. Повторная покупка во время действия бонуса не списывает валюту. Эта логика показывает, что сервер обязан знать текущее состояние эффекта, а не только сумму на счёте.
Практика в Roblox Studio
Соберите четыре звезды, проверьте баланс двадцать, купите бонус и измерьте время действия. Попробуйте нажать кнопку повторно до завершения бонуса. Затем проверьте восстановление исходной скорости.
Как проверить результат
Баланс после покупки равен нулю, а повторная покупка не снимает средства.
Самостоятельное задание
Добавьте в учебный макет магазина второй товар с отдельной ценой и временем действия.
На что обратить внимание. Несколько разных бонусов скорости потребуют общего менеджера состояний.
ГЛАВА 06 / 10
Лава и контрольная точка
Разбираемся
Лава завершает попытку, а чекпоинт задаёт место следующего возрождения. Контрольная точка сохраняется только на текущую игровую сессию: после нового входа игрок начинает с обычного старта. Это важное различие между временным состоянием и постоянными данными.
Практика в Roblox Studio
Сначала коснитесь лавы до чекпоинта и отметьте место возрождения. Затем активируйте чекпоинт и повторите опыт. Перезайдите в игру и проверьте, сохранилась ли контрольная точка.
Как проверить результат
Ожидаемый результат: внутри сессии возрождение рядом с чекпоинтом, после перезахода — стандартный старт.
Самостоятельное задание
Создайте две контрольные точки и определите правило выбора последней активированной.
На что обратить внимание. Не сохраняйте координаты персонажа без проверки, что точка безопасна и находится внутри уровня.
ГЛАВА 07 / 10
Финиш и защита от повторной награды
Разбираемся
Финиш начисляет тридцать монет и одну победу, но только один раз за сессию для каждого игрока. Это предотвращает простую ошибку: стоя на финишной детали, персонаж может вызывать много касаний и получать бесконечные награды.
Практика в Roblox Studio
Пройдите маршрут и зафиксируйте Coins и Wins. Несколько раз коснитесь финиша и сравните счётчики. В режиме двух игроков проверьте, что каждый может получить собственную награду.
Как проверить результат
После первого финиша монеты увеличиваются на тридцать, Wins на единицу; повторные касания в той же сессии не награждают.
Самостоятельное задание
Добавьте экран поздравления, который появляется только после серверного подтверждения победы.
На что обратить внимание. Не переносите проверку «победа уже получена» исключительно на клиент.
ГЛАВА 08 / 10
HUD и понятная обратная связь
Разбираемся
IslandHUD показывает монеты, победы и уведомления. Хороший интерфейс объясняет результат действия: звезда собрана, средств недостаточно, ускорение включено, сохранение недоступно. Для школьной аудитории особенно важны крупные числа и ясные сообщения.
Практика в Roblox Studio
Откройте IslandHUD.client.luau, найдите создание экранных элементов. Измените цвета и отступы, не меняя имена событий. Проверьте интерфейс на узком экране и в режиме двух игроков.
Как проверить результат
Ни одна кнопка не должна выходить за край экрана; баланс должен совпадать с серверным состоянием.
Самостоятельное задание
Придумайте пиктограммы для монет, побед и ускорения и опишите правила доступности интерфейса.
На что обратить внимание. Клиентский HUD не должен самостоятельно начислять Coins или Wins.
ГЛАВА 09 / 10
Сохранение прогресса и ограничения
Разбираемся
Монеты и победы сохраняются через DataStore, когда сервис доступен. Чекпоинт и временный бонус не сохраняются. В реализации используется UpdateAsync, но нет блокировки сессии: одновременная игра на разных серверах может привести к перезаписи прогресса.
Практика в Roblox Studio
Опубликуйте отдельный тестовый Place, при необходимости включите Studio API Services. Получите монеты, выйдите и зайдите снова. Проверьте, что Coins и Wins сохранились, а ускорение исчезло.
Как проверить результат
При недоступности DataStore интерфейс должен предупредить, а игровой процесс — продолжиться без аварийного завершения.
Самостоятельное задание
Составьте таблицу: какие данные должны жить только до смерти, до конца сессии или между сессиями.
На что обратить внимание. Не используйте учебную систему сохранения для платной валюты или ценных предметов.
ГЛАВА 10 / 10
Итоговый мини-проект и критерии оценки
Разбираемся
Ученик демонстрирует путь от звезды до финиша и объясняет связь трёх файлов. Это одновременно урок по программированию, экономике игры, тестированию и дизайну уровня. Главное — уметь обосновать правила, а не только показать красивую карту.
Практика в Roblox Studio
Подготовьте трёхминутную демонстрацию: четыре звезды, покупка, лава, чекпоинт, финиш. Проведите тест с двумя игроками и оформите список исправленных ошибок.
Как проверить результат
Критерии: карта запускается, экономика не дублирует награды, финиш выдаёт награду один раз, HUD понятен, сохранение проверено.
Самостоятельное задание
Добавьте альтернативный маршрут с более трудными прыжками и дополнительными наградами.
На что обратить внимание. Полная проверка в Roblox Studio не проводилась при создании исходного архива; перед публикацией необходимы реальные тесты.

