Точно не С++. Если уже знаете его, то ещё можно на нём, а с нуля учить точно не стоит, сейчас полно нормальных альтернатив, начиная от системных и быстрых, кончая скриптовыми. На чем сам движок написан не особо важно, если вы не будете его допиливать или переписывать.
А комбинация языков имеет смысл только в одном случае, когда требуется поддержка модов. И в этом случае выбор падает однозначно на Lua, т.к. это уже стандарт в этом направлении. Ну и ещё вариант комбинировать, чтобы не учить сложный язык, когда ядро движка на одном языке, а разработчику предлагается более простой язык, и здесь опять же выбор либо на Lua, либо на свой движковый скриптовой язык. В остальных случаях комбинировать языки не нужно.
Кстати, в Unity (где игра на C#) вполне можно добавить Lua, с этим проблем нет. Так что, как вариант, связка - C# + Lua.