- Поместите весь ваш код в базу данных
- Удалите весь существующий код из файлов кода
- Добавьте код, который может запускать код из базы данных (читаетit in и eval () s it)
Мой вопрос: почему это не было сделано?
Именно так работает каждая игра.
Каждый раз, когда вы запускаете игру, исполняемый двоичный игровой движок (который вы описываете на шаге 3) уже читает остальную часть вашего кода (часто некоторый встроенный язык, такой как LUA) из «базы данных» (файловой системы) и «evals "(интерпретирует) его для запуска игры, а также ресурсы, такие как геометрия уровней, текстуры, звуки и музыка.
Вы говорите о введении слоя абстракции (реальной базы данных) между движком иего данные скрывают некоторые ваши активы, но база данных хранит свои данные в файловой системе , так что вы действительно ничего не получили, вы просто изменили способ кодирования данных в состоянии покоя и запросиливо время выполнения иВ обоих случаях вводите тонну накладных расходов.
С другой стороны, вы намеренно обманываете свой путь через процесс обзора приложения, и любые реальные технические проблемы, которые у вас возникнут,вопрос, потому что ваше приложение не будет разрешено в магазине приложений.Весь смысл процесса проверки приложения состоит в том, чтобы запретить пользователям отправлять непроверенный непроверенный код пользователям, и если ваша программа явно предназначена для обхода этого, ваше приложение будет отклонено.
Fortnite (настоящийигра) часто имеет LTM (режимы ограниченного времени), которые доступны в течение нескольких недель, а затем удаляются.Как правило, обновления программного обеспечения составляют ~ 5 ГБ и занимают много времени, если ваша широкополосная сеть не работает быстро.
Fotenite будет иметь небольшой двоичный исполняемый файл, который является игровым движком.Обновления этого двоичного файла будут составлять долю процента от этих 5 ГБ.Остальная часть будет представлять собой некоторый интерпретируемый / встроенный язык, описывающий уровни игры (также незначительную часть), а затем ресурсы, которые составляют остальную часть (геометрия, текстуры, звук, музыка).
Есликод был извлечен из базы данных и затем выполнен, эти обновления не понадобятся, и изменения могут быть мгновенными
Это не имеет смысла.Если вы переместите все 5 ГБ из файловой системы в базу данных, вам все равно придется перенести около 5 ГБ обновлений базы данных.5 ГБ данных в базе данных по-прежнему живут как 5 ГБ данных в файловой системе, просто вы больше не можете получить к ней доступ напрямую.Вы должны передавать примерно точно такой же объем данных , независимо от того, как вы его храните.