C++ vs Lua vs Flowgraph
Ой, нашёл чего сравнивать. Противопоставлять эти вещи нимкак нельзя, они все идут за одно. Более того, их даже сравнивать нальзя, потому как есть следующая схема:
C++ -> LUA
|
Flowgraph
Как видишь, всё прочее вытекает из С++.
На С++ написана сама игра, все её функции. В LUA есть набор ScriptBind-функций, которые вызывают функции из С++. LUA используется как средство для операций с этими функциями, ради возможности моментального изменения структуры кода и внесения изменений на лету. Система поведения и характеров ИИ, игровые правила и некоторые другие незначительные вещи, написаны на LUA. Сделать что-либо принципиально новое на LUA, без С++, нельзя.
FlowGraph это визуальный язык игровых событий, который также использует вызовы функций С++, но уже иначе. Этот инструмент используется для внутриигрового программирования: миссии, кат-сцены, эффекты. Но на FlowGraph также можно делать некоторые новые фичи, в зависимости от мастерства, т.к. инструмент содержит весьма большое количество возможностей для манипуляции с игроком, объектами, физикой, инвентарём, интерактивными сущностями и т.д. В CryENGINE 3 также появилась система UI Nodes и UI Actions\Events, которая позволяет создавать интерактивные элементы HUD прямо через FlowGraph. Но как бы там ни было, для реализации серьёзных вещей, нужен С++.
А вообще, опять же, каждый инструмент хорош для своих задач.