В первую очередь замена CubeScript на Lua является стратегически важным элементом, так как все же CubeScript - это сердце движка, то замена на другое несет перемены. Первая это более вменяемый синтаксис и наличие JIT ( Just in time compilation ) что позволяет lua по скорости в разы превзойти CubeScript. Так же например Garrymod / Crysis / FarCry / STALKER / WoW и многие другие используют lua, даже они выбрали этот язык. А мы чем хуже? Но все куда более интересней. Этот язык имеет и кучу минусов, но его скорость работы заставляет закрыть глаза на отсутствие например "continue", встроенных на уровне языка классов (без огорода с метатаблицами). Так же луа не может создать бинарные файлы которые не зависят от разрядности (32\64). В общем есть и еще другие проблемы. Но опять же скорость выполнения заставляет все же закрыть на это глаза.
Теперь поговорим о наших планах. Нам был жизненно необходим скриптовой язык для создания квестов, триггеров, физических объектов, это мог быть даже Google V8 (но этот монстр, может и добавится к нам со временем, как будет более вменяемым в плане встраивания и компилирования)
Основные задачи которые ставятся у нас в движке перед LUA:
- Управление ботами
- Управление визуальным интерфейсом
- Управление физическими объектами (например, корабли, машины, самолеты и тд)
- Инвентарь
- Квесты
- Магазины
- Управление триггерами (с их помощью создать легко двери, платформы, элеваторы и другие типы)
- Различные стили игры (сервера с собственными правилами, модификациями и возможностями)
- Управление генерацией планет и стадий
The Wall