Представляем LuX: Luau-совместимый скриптинг в BrickBit
Краткое содержание
BrickBit анонсирует LuX, новую Luau-совместимую среду скриптинга, которая придает скриптингу BrickBit собственную идентичность, сохраняя совместимость с .lua и .luau. Обновление направлено на объединение API клиента, Studio и сервера, замену разделенных паттернов Bridge/клиент и улучшение инструментов Studio с помощью лучшего автодополнения, документации, репликации, сетевых функций и расширенных API.
Если вы раньше использовали скриптинг в BrickBit, вы, вероятно, видели, что мы называем его Luau. Это никуда не денется, но мы начинаем придавать среде скриптинга BrickBit собственную идентичность.
Она называется LuX.
LuX — это Luau-совместимая среда скриптинга в BrickBit. Идея довольно проста: сохранить синтаксис Lua/Luau, который люди уже знают, создавая при этом API специально для BrickBit.
Это означает, что такой код по-прежнему будет выглядеть знакомо:
local Players = game:GetService("Players")
local player = Players.LocalPlayer
print("Hello, " .. player.Name)
Мы не создаем совершенно новый язык только ради того, чтобы сделать все иначе. LuX по-прежнему основан на Luau, и мы хотим сохранить совместимость с существующими скриптами .lua и .luau.
Что мы меняем, так это все, что окружает язык.
В настоящее время скриптинг в BrickBit развивался в нескольких направлениях. Клиентские скрипты используют такие вещи, как game:GetService(), workspace, Instance.new(), Vector3 и Color3, в то время как размещенные серверные скрипты в настоящее время используют отдельный API Bridge.
Это работает, но иметь два совершенно разных способа написания скриптов для одной и той же игры — это не то, что мы хотим оставить.
LuX — это наш план по исправлению этого.
Со временем мы хотим, чтобы Studio, клиент и игровой сервер использовали гораздо больше общего API. Система, такая как Players, должна ощущаться как Players везде, вместо того чтобы требовать один API в клиентском скрипте и другой API на сервере.
Мы также собираемся продолжать расширять возможности скриптов. Лучшие экземпляры и события, правильная репликация, больше сервисов, улучшенный скриптинг UI, более сильные типы данных, лучшая работа с сетью, более полные API физики и гораздо лучшее автодополнение — все это области, над которыми мы хотим работать.
Одной из самых важных частей LuX будет сама Studio.
Редактор скриптов должен знать, что доступно, показывать полезное автодополнение, объяснять функции и свойства, предупреждать, когда что-то работает только на клиенте или сервере, и использовать ту же информацию API, что и реальная среда выполнения. Документация и Studio не должны расходиться во мнениях о том, существует ли что-то.
Мы также не хотим притворяться, что BrickBit — это Roblox.
Будут знакомые названия там, где они имеют смысл, особенно потому, что возможность переносить знания Luau между платформами полезна, но LuX будет API BrickBit. Если BrickBit нужно что-то другое, мы можем создать это правильно, вместо того чтобы заставлять все копировать другую платформу.
Ничего не ломается и не заменяется внезапно сегодня. LuX — это новое имя и направление для системы скриптинга, которая у нас уже есть, и мы будем улучшать ее по частям, а не выбрасывать существующие игры.
Для разработчиков основные вещи, которые нужно знать прямо сейчас:
LuX использует Luau-совместимый синтаксис.
Существующие скрипты .lua и .luau остаются.
Текущий клиентский скриптинг продолжает использовать API клиента BrickBit.
Текущие размещенные серверные скрипты продолжают поддерживать Bridge.
Мы работаем над более унифицированным API между Studio, клиентами и серверами.
Документация будет расширяться по мере роста LuX.
Это одна из больших частей BrickBit, которую мы хотим улучшить в следующих обновлениях.
Больше документации по LuX и изменений в скриптинге скоро появятся.
Discord sent us an expired image link.