Как стать автором
Обновить

Комментарии 12

По-моему здесь пропущено кое-что. Ну то есть почему бы просто не компилировать С++ код на рантайме и зачем тут эмулятор risc-v

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

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

А еще в скриптах есть полезные фишки на уровне языка - например виртуальные потоки с переключением контекстов прямо в while(true) , корутины, возможность сохранить и загрузить скриптовый контекст как есть

как по мне моды в игре должны быть такие, чтобы ты не удалил кому-то системник и не распространял вирусы через steam другим людям через невинные стрелялки

Моды в игре должны быть разные. Если уж говорить об идеальном мире, должна быть система привилегий: "этот мод может записывать файлы в такую-то папку", "этот мод может иметь доступ в интернет", как это работает с мобильными приложениями, которые тоже пишутся множеством независимых авторов.

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

Т.е. создаем виртуальную машину с архитектурой весьма вероятно отличающейся от хостовой, запускаем в ней слой эмуляции linux и уже в нем запускаем свои скрипты и говорим что нас интересуют минимальные задержки?

Т.е. создаем виртуальную машину с архитектурой весьма вероятно отличающейся от хостовой, запускаем в ней слой эмуляции linux и уже в нем запускаем свои скрипты и говорим что нас интересуют минимальные задержки?

Вы не понимаете, это другое:)

А если сразу писать скрипты на С++? Минуя вот это вот всё?

Как пример скриптования с низкими задержками. Это игра Fallout 1 и Fallout 2. Скрипты пишутся на смеси С и Pascal. Язык называется SSL - Star trek script language. Скрипт переводится в свой байткод, игра его интерпретирует. Ну и оригинальные игры спокойно работают на железе pentium 75 mhz, без risc-v и смс:)

Умели же.

Можно и QuakeC вспомнить тогда уж

Получается, чтобы выполнять скрипты их сперва надо скомпилить, а для этого на хостовой машине должен стоять жирнючий компилятор. Ну и сколько сам riscv эмулятор добавляет к бинарю не сказано, но полагаю немало. Такое себе решение для скриптования, нишевое. Гораздо лучше и проще взать какой-нибудь quickjs для скриптов.

Ещё, если уж прямо хочется моды писать на c++, то можно компилить в WASM и гонять на каком нибудь WASI-рантайме

При словах "скриптинг" и "C++" сразу вспомнился проект CINT (https://root.cern.ch/d/cint.html)

А тут либо сложности с переводом, либо у нас автором разные понимания слова "скриптинг"

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации