2013-03-24 4 views
3

Новый Unreal Engine 4 способен изменять логику игры во время выполнения. Например, вы можете прыгать в игру, менять логику игры и после ее перекомпиляции она будет обновляться в самой игре.Логика изменений во время выполнения

Мне было интересно, как они это сделали?

Моя первая идея заключалась в том, что они отделяют свою логику игры от .dll, а затем просто перезагружают/вводят ее во время выполнения. Но я также знаю, что. DLL - это специальные окна. Я думаю, что эквивалент в linux называется .elf.

Какие альтернативы?

Я также знаю, что есть интерпретатор C++, но я думаю, что более новая версия использует jit-компилятор. Это поможет мне в любом случае?

Надеюсь, вы сможете все выяснить для меня.

+0

Логика игры, как правило, написана сценарием, поэтому не требует компиляции в том смысле, что вы представляете; если ничего другого, это не требует _linking_ в игровой процесс. –

+0

Ok согласно Wikipedia UE4 поддерживает «прямое редактирование кода C++». Да, тогда я не знаю. –

+0

Да, я знаю, что я мог бы использовать что-то вроде Lua или Python для достижения того же, но мне любопытно, как они это делают в C++. –

ответ

0

Unreal Engine делает это с помощью Hot Reload, который в основном (пере) компилирует исходный код, который был изменен и перезагружает его обратно в игру. Игра будет в состоянии паузы во время компиляции.

This presentation Подробнее об этой технике.

+0

Unreal Engine 4, вероятно, использует только C++. –

+0

Способ прочитать вопрос! –

Смежные вопросы