// портфолио · Roblox Studio

Семь игр за год — и все механики свои

В Roblox можно скачать из библиотеки готовую механику и вставить в игру. Мы так не делаем: модели и графику иногда берём готовыми — как и любая студия, — но игровую логику ребята программируют сами.

7 игр за год32 занятияLua язык программирования
// чему_научились_за_год

Что стоит за этими играми

Игры на этой странице — не сборка из готовых блоков. За каждой стоят темы, которые ребята разбирали на занятиях, и логика, которую они написали руками.

[01]

Основы языка Lua

  • переменные и типы данных
  • условия и циклы
  • управление объектами из скрипта
  • события и столкновения
  • отладка чужого и своего кода
[02]

Игровые системы

  • интерфейс и меню
  • сохранение прогресса игрока
  • анимации и физика
  • внутриигровая экономика
  • собственные предметы и инвентарь
[03]

Большой проект

  • модульные скрипты
  • алгоритм случайной генерации
  • продвинутая работа с массивами
  • первое знакомство с ООП
  • архитектура игрового кода
// проекты_курса

Работы учеников

Семь проектов разных жанров: от простой паркур-карты до хоррора со случайной генерацией уровней. У каждой группы игры выходят своими — механика общая, а наполнение разное.

Паркур-карта (obby)
// модуль_01 · 4 занятия

Паркур-карта (obby)

первый проект · знакомство с Lua

С этой карты начинается курс. Ребёнок осваивает редактор и пишет первые скрипты на Lua: программирует движущиеся платформы, кнопки и ловушки. Уже на первом модуле игра работает и в неё можно позвать друзей.

// что есть в игре
  • движущиеся платформы
  • кнопки и переключатели
  • ловушки и препятствия
  • контрольные точки
  • оформленный финал карты
// что написано руками ребят

Все скрипты движения платформ и логика кнопок написаны учениками. Часть готовых ассетов берём для оформления финала карты — чтобы первая игра выглядела эффектно, но вся логика взаимодействия своя.

LuaСобытияЦиклы
▶ Играть в проект
Поиск сокровищ
// модуль_02 · 4 занятия

Поиск сокровищ

ландшафты и события

Игра про исследование мира: где-то на карте спрятаны сокровища, их нужно найти. Здесь ребята впервые работают с ландшафтом, создают собственные объекты и учатся отслеживать столкновения игрока с предметами.

// что есть в игре
  • проработанный игровой ландшафт
  • собираемые предметы
  • проверка столкновений
  • счётчик найденного
  • подсказки игроку
// что написано руками ребят

Логика сбора предметов и вся система подсчёта написаны с нуля. Заодно ребята пробуют базовое 3D-моделирование прямо в редакторе.

LuaЛандшафтСтолкновения3D
▶ Играть в проект
Кликер с прокачкой
// модули_03–04 · 6 занятий

Кликер с прокачкой

интерфейс, сохранения, лидерборд

Первый проект с полноценным интерфейсом — и первый кооперативный. Все игроки на карте зарабатывают общую валюту и вместе покупают улучшения, которые меняют мир вокруг них. Прогресс сохраняется: при следующем входе всё на месте.

// что есть в игре
  • система заработка и множители
  • общая валюта для всех игроков на карте
  • совместные улучшения, меняющие карту
  • магазин улучшений
  • сохранение прогресса между сессиями
  • оформленный интерфейс и эффекты
// что написано руками ребят

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

LuaUIDataStoreМультиплеер
▶ Играть в проект
Арена-шутер с зомби
// модуль_04 · 2 занятия

Арена-шутер с зомби

боевая механика · волны противников

Быстрый проект между двумя большими: арена, на которой игрок отбивается от волн зомби. Единственный проект курса, где мы берём готовые модели врагов и оружия из библиотеки — а всю игровую систему вокруг них пишем сами.

// что есть в игре
  • волны противников с нарастающей сложностью
  • подсчёт очков за уничтоженных врагов
  • магазин прокачки оружия за очки
  • здоровье и урон
  • потеря части очков при смерти и возрождение
// что написано руками ребят

Модели врагов и оружия здесь готовые — из библиотеки Roblox. Своё всё остальное: скрипт появления зомби волнами, система подсчёта очков и магазин, в котором за эти очки прокачивается оружие.

LuaВолныЭкономикаПрокачка
▶ Играть в проект
Платформер со сбором монет
// модуль_05 · 4 занятия

Платформер со сбором монет

анимации и физика

Продвинутая паркур-карта, где собранные монеты открывают новые зоны. Основной упор — на анимации: ребята создают их сами и программируют плавные перемещения объектов.

// что есть в игре
  • анимации персонажа
  • плавные движения через TweenService
  • физические симуляции
  • система монет и прогресса
  • разблокировка новых зон
// что написано руками ребят

Анимации создаются учениками с нуля, а не берутся готовыми. Логика открытия зон и вся система прогресса — тоже их код.

LuaTweenServiceАнимацияФизика
▶ Играть в проект
Тайкун с добычей минералов
// модуль_06 · 4 занятия

Тайкун с добычей минералов

инструменты и экономика

Игра про развитие и соревнование: добываем минералы киркой, продаём их на рынке, покупаем более дорогие инструменты и открываем новые шахты. Игроки на сервере соревнуются между собой — результаты видно в таблице лидеров.

// что есть в игре
  • собственные предметы-инструменты
  • инвентарь игрока
  • добыча и продажа ресурсов
  • покупка более дорогих инструментов
  • открытие новых шахт
  • таблица лидеров и соревнование игроков
// что написано руками ребят

Логика инструментов, инвентаря и вся экономическая модель написаны учениками. Балансировку — сколько стоит кирка, сколько даёт минерал и когда открывать новую шахту — тоже подбирают сами.

LuaИнвентарьЭкономикаЛидерборд
▶ Играть в проект
Хоррор в жанре Doors
// модули_07–08 · 8 занятий

Хоррор в жанре Doors

финальный проект года · генерация уровней

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

// что есть в игре
  • случайная генерация комнат
  • поиск ключей и предметов
  • враги с собственным поведением
  • механика пряток
  • случайная расстановка мебели
  • нарастающее напряжение
// что написано руками ребят

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

LuaМодульные скриптыГенерацияМассивыООП
▶ Играть в проект
// все_проекты
// github_академии

Здесь лежит весь код

Проекты учеников мы выкладываем в открытый репозиторий академии. Можно не только поиграть, но и посмотреть исходный код — как именно устроена игра внутри.

  • ✓Скрипты всех проектов курса на языке Lua — от первой паркур-карты до генератора комнат
  • ✓Файлы Roblox Studio — можно открыть проект и изучить его устройство
  • ✓Лучшие работы ребята публикуют под своим аккаунтом и получают профиль разработчика
Открыть GitHub академии →
> git clone codegap
✓ скрипты на Lua
✓ файлы проектов Roblox
✓ игры, в которые можно поиграть
// открыто для всех

Хотите, чтобы ребёнок делал такие игры?

Первое занятие бесплатное. Покажем Roblox Studio изнутри, дадим написать первый скрипт и честно скажем, готов ли ребёнок к курсу.