La analogía con flash es bastante correcta, pero realmente no entiendo tu analogía con los títeres.
Las cosas buenas de la unidad son:
- multiplataforma: Esa es una gran ventaja, diría que la razón más grande.
- Motor e implementación de alta calidad, me refiero a usar los objetos de juego de Unity, etc.
- Es muy fácil hacer un juego simple desde cero, por lo que es una ventaja para hacer prototipos.
Las cosas malas:
- No se puede vincular con C ++ o C, por lo que su proyecto solo podría funcionar en Unity. Con C # one podría argumentarse que funcionará en XNA, pero C ++ hubiera sido bueno. Con este comentario quiero decir que no es una herramienta que usarían profesionales veteranos o autodidactas, ya que no tienes un control total sobre tu aplicación, pero esto no significa que hay algo que no puedes hacer con Unity. Por otro lado, un equipo con una gran idea y artistas talentosos puede hacer cosas increíbles sin necesidad de programadores experimentados.
- Es bastante nuevo, por lo que obviamente nadie sabe a dónde llevará esta herramienta.
Lo que no me gusta de Unity es que parece que todo el trabajo duro está hecho, por lo que los programadores son mucho menos valiosos. Por otro lado, es excelente para enseñar rápidamente a las personas cómo construir cosas rápidamente.
Para concluir: Unity (o una herramienta como Unity) es más para artistas que no pueden llegar a grandes programadores, pero aún pueden saber hacer un pequeño script de juego. Por supuesto, puedes hacer un juego con todas las funciones, agregar IA realista, hacer un código de red mmo y lo que no, pero las grandes empresas no usarían Unity.
La programación de modelos le permite a uno proponer una solución que se adapte a 3/4 de las herramientas de desarrollo para que se ajuste a los creadores de juegos "independientes". Valora una herramienta en particular y también valora a los artistas, pero no a los programadores (excepto los del equipo de la unidad, por supuesto).
La unidad es un buen acceso directo para los no programadores, pero deben entender que los videojuegos provienen de líneas de código y que no se puede hacer todo con una herramienta increíble. En algún momento requiere saber algo sobre programación de bajo nivel.
Teniendo un proyecto personal en mente, no usaría Unity, porque no me gusta C # o Boo (Panda es bueno con python, entonces ¿por qué molestarse con un software comercial?), Y porque si muestro mi proyecto y está hecho con unidad, será mucho menos impresionante.