Обновить
5

Пользователь

Отправить сообщение

Заметки на полях: Изолируем Lua окружение в C++ приложении. Ограничение ресурсов

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели7.9K

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

В этой части разберём как из кубиков с буквами О, П, Ж и А while true do end

...составить слово "СЧАСТЬЕ".

Заметки на полях: Изолируем Lua окружение в C++ приложении. Скрипты, модули и контроль путей

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели5.8K

В прошлый раз мы остановились на том, что в творческом порыве на всём скаку отсекли целый пласт потенциальных возможностей нашкодить при помощи функций стандартных библиотек Lua — доступ к файловой системе и функциям ОС, системным командам и переменным окружения, возможность подгрузки сторонних Lua-модулей и C-библиотек на стороне скриптов и чего только ещё не. Напрочь отсекли.

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

... но можно ослабить удавку.

Заметки на полях: Изолируем Lua окружение в C++ приложении. Стандартные библиотеки

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели7.7K

Скриптовые языки уже давно и прочно заняли свою нишу в игрострое — они существенно упрощают описание игровой логики, уровней, ресурсов, диалогов, квестов, UI и чего только не. Что позволяет отдать эти задачи целиком и полностью в творческие руки гейм-/левел-/прочих-дизайнеров и других членов команды, которым не нужно обладать знаниями в том же C++. Разделение ответственности, ускорение разработки, облегчение моддинга, возможность по завершению разработки самого движка, вышвырнуть программистов на мороз и стричь купоны на бесконечных дополнениях — в общем, одни только плюсы. Да?

Да.

А ещё дыры в безопасности и ...

... уйма путей уронить стабильность.

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Разработчик игр
Средний
C++
Linux
Разработка игр
Lua
Разработка программного обеспечения