A analogia com o flash está certa, mas eu realmente não entendo sua analogia com os fantoches.
As coisas boas da unidade são:
- plataforma cruzada: essa é uma vantagem muito grande, eu diria o motivo maior.
- Mecanismo e implementação de alta qualidade, quero dizer, usando objetos de jogo do Unity etc.
- Muito fácil de fazer um jogo simples do zero, então isso é uma vantagem para a criação de protótipos.
As coisas ruins:
- Não é possível vincular com C ++ ou C, portanto, seu projeto pode funcionar apenas no Unity. Com o C #, pode-se argumentar que funcionará no XNA, mas o C ++ teria sido bom. Com esta observação, quero dizer que não é uma ferramenta que profissionais veteranos ou autodidatos usariam, já que você não tem controle total sobre sua aplicação, mas isso não significa que há algo que você não pode fazer com o Unity. Por outro lado, uma equipe com uma ótima idéia e artistas talentosos pode fazer coisas incríveis sem precisar de programadores experientes.
- É muito novo, então, obviamente, ninguém sabe aonde essa ferramenta levará.
O que não gosto no Unity é que parece que todo o trabalho é feito, então os programadores são muito menos valiosos. Por outro lado, é ótimo para ensinar rapidamente às pessoas como construir coisas rapidamente.
Então, para concluir: o Unity (ou uma ferramenta como o Unity) é mais para artistas que não conseguem alcançar grandes programadores, mas ainda sabem fazer um pouco de script de jogo. É claro que você pode criar um jogo completo, adicionar IA realista, fazer um código de rede mmo e o que não, mas as grandes empresas não usariam o Unity.
Os modelos de programação permitem propor uma solução que se adapte a 3/4 das ferramentas de desenvolvimento, para que ela se ajuste aos fabricantes de jogos "independentes". Ele valoriza uma ferramenta específica e também valoriza artistas, mas não programadores (exceto os da equipe da unidade, é claro).
O Unity é um bom atalho para os não programadores, mas eles precisam entender que os videogames vêm de linhas de código e que você não pode fazer tudo apenas com uma ferramenta incrível. Em algum momento, é necessário saber algo sobre programação de baixo nível.
Tendo em mente um projeto pessoal, eu não usaria o Unity, porque não gosto de C # ou Boo (o Panda é bom com python, então por que se preocupar com um software comercial?) E porque se eu mostrar meu projeto e pronto, unidade, será muito menos impressionante.