Have you thought about using Unreal? It's free, exports to multiple platforms, you can script, too, but you also have Blueprints, which is a way to "program" schematically.