169 похожих чатов

Вы видимо вообще не о том подумали. API я не делю.

Я делю стейты луа, для движка вся важная инфа будет в сингелтоне и из него же будет вызывать любой API не связанный с конкретной частью игры.
Если меню, ему не доступна физика. и.т.д и.т.п

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

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

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

Враперы есть, но как работать со стеком без стека?
Я не понимаю.. Но я и так юзаю mlua.

Хаос потому что таблицы луа неограниченны ничем , это буквально бесконечная пропасть.
Что бы это все валидировать, нужно тратить лишние ресурсы? Зачем. Я не видел чего то такого в игровых объектах. А в бизнес логике , там уже как юзеру удобнее.

Почему я усложняю? Наверное потому что архитектура самая важная вещь.
В большинстве Lua движков ее нет и работать не приятно.
Я хочу писать кор вещи на расте, а на луа писать игру.

3 ответов

32 просмотра

> создание компонентов в Lua > Хаос потому что таблицы луа неограниченны ничем у вас ECS чтоль? я не понимаю... Никто не запрещает использовать комплексный подход, когда компоненты обрабатываемые растом (корневые) хранятся как userdata, а кастомные из луашки - как таблицы этой самой луашки. Т.е некоторые имена компонентов рарезервированы и им соответствует определённый тип в расте и из луа он не может быть переопределён. Создавать компоненты на основе встроенных - звучит супер непонятно. > Отдельный файлик для меню, для настройки и уровня. зачем? Я понимаю отдельный стейт луа для аудио, может быть потенциально отдельных потоков, но зачем на уровне движка делать такие колоссальные различия и определять такие специфичные вещи как меню? А если завтра нужно будет добавить маркетплейс? На расте будешь новые компоненты и отдельные стейты под это выделять?

Про хаос без ограничений. Можно же сделать ограничения. Перегрузить __newindex чтобы контролировать создание новых полей, их значения и типы. Использовать прокси-таблицу, чтобы контролировать доступ. Порядок сначала наводится в логической структуре. А потом (при желании) реализуется методами языка :)

Vi- Автор вопроса
Max Brain
Про хаос без ограничений. Можно же сделать ограни...

Зачем делать ограничения на стороне Lua? Которые будут еще и менее производительнее. Если можно создать четкую структуру на Rust? и контролировать ее из Lua?

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
Всем доброго дня! Подскажите может кто использовал связку Pagebuilder + Clientsetting. Сами параметры с типом pagebuilder в модуле Clientsetting работают нормально, можно такж...
Александр Добриков
12
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Good afternoon, I just started learning php in conjunction with mysql. I am registering a system on a local Mamp server using phpMyAdmin. It seems to be stored normally in the...
ManGo
1
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Добрый день! Такая проблема возникла, написал код на Python, который компилирует, собирает и запускает файлы .s А в случае работы нужно то же самое делать для .asm Чем эти фа...
A Mori
5
Всем привет! procedure TForm1.FormCreate(Sender: TObject); type TStartEnd = record S: Byte; E: Byte; end; var a, b: TStartEnd; begin {1} a.S := 1; {2} a.E := 2; ...
Руслан Михайлович
10
Карта сайта