¡Bienvenido a Stratos!
para poder contestarte tendrias que hacer una pequeña introducción del engine...habrá que licenciar monotouch o monodroid ? pensáis distribuir vosotros las apps o lo harán directamente los desarrolladores?
Para mi lo mejor de Unity3D es:- Multiplataforma (ya veo que estais en ello )
- Sistema de Game Object Components (en C# es muy fácil de hacer con herencia).
- Poder "editar de manera visual" los componentes de los GameObject.
- Crear nuevos componentes, es tan facil como derivar un objeto. Las "miembros" públicos se serializan siempre, lo que sirve para cargar/guardar automaticamente y se muestran en el inspector para su edición. (Esto también es fácil y sencillo, solo hay que tirar de reflexion al cargar/salvar y al "seleccionar" un gameObject, lo que muestra en el "inspector" su "contenido en componentes").Como contrapartida se puede hacer con "Propiedades" en vez de con "Miembros Públicos" que es lo "típico" que inspecciona el "PropertyGrid".
- Scripts para modifcar la "Pipeline de Importación" de manera "relativamente sencilla" (bastante más que los importadores de XNA).
- Ampliación del "Editor". Crear nuevos menus, poder interaccionar con la mayoria de las interfaces de acceso del editor, etc.
- Provee "Abstracción de plataforma", para la mayoria de "requerimientos" de TRC/Lotcheck, y "classes especificas" para las "features" especificas de plataforma ("Acelerometro", "Wii Balance Board", etc).
- Mono en consolas NO MOLA. El gc es una *****, he visto un artículo interesante sobre hacer un gc incremental para Mono http://static.usenix.org/event/vm04/wips/goh.pdf, pero tampoco me lo he mirado mucho, y no sé si te puede valer de algo, pero en fin ...
- La implementación del "Dynamic Game Object Component System" es "extradamente" OOP, cosa "reforzada" por el echo de los compoenetes MonoBehaivour, que "exportan" una interfaz puramente OOP. Esto no seria malo, si no fuese por dos razones: dispositivos con caches pequeñas, y/o con PowerPC. Las cache misses van a ser un problema en todos los dispositivos con cache pequeñas, pero el "polimorfismo" da mayores signos de "ineficiencia" en PowerPCs, que en x86 o ARM.Hay una implementación "muy curiosa", que utiliza Insomniac a partir para el "Resistance 1" y que se "establece" en el "Resistance 2". Es tremendamente más efectivo, DOD (aunque la interfaz puede parefcer OOP), cache friendly, multi-processor scalable, y permite offloads a SPUs. http://www.insomniacgames.com/wp-content/uploads/2011/06/6-1-2010.pdfEstà en C++, y yo he probado implementar alguna cosa, aunque ahora tengo un sistema de GameObjects "light monolithic / static defined components" como el de Uncharted 2.De todas formas, una de las cosas más interesantes, es el uso de las "Roster Pool", que yo he incluido en varios sistemas de nuestro engine (aunque en nuestro está en C++, la idea es muy parecida en C#).
- Dificil integración en algunos casos de un Sistema de Control de versiones para el manejo del "Content". El suyo propio no está mal, pero no es la panacea.
No sé si añadiria algo más, de todas formas es solo mi opinión.Un saludo, y suerte!
PS: En cuanto a precios, no sé que decirte, pero varia bastante dependiendo de lo "cerrado" que puedas entregar el SDK o engine, cuando más código fuente tengas que pasar, más deberia de valer la licencia (por obvias razones).
¿Va a ser enfocado a 2D o 3D (supongo)?La verdad es que si es 3D tenéis una competencia bastante feroz, teniendo Unity bastante barato y también UDK y demás es muy complicado destacar. Si es 2D si que sería más interesante porque lo único "grande" es Corona y a mi personalmente no me agrada mucho...
Es dificil decir que tendria que tener para ser interesante. Si lo enfocas a los indies el precio es un punto importante. Pero sobre todo la imagen de marca, si voy a comprar algo con codigo cerrado como el unity. ¿Que me garantiza que el año que viene no chapais el negocio?, ¿si se chapa el negocio liberais los fuentes para que la gente no se quede colgada?. Yo empeze usando el motor SIO2 para IOS, cuando salio la version de pago decidi dar el salto a unity, pues prefiero pagar la pasta en algo mas "profesional" y serio de lo que era SIO2.
Lo malo de cualquier engine cerrado es el hecho de tener que aprender a manejarlo, como de rapido los autores arreglen los bugs que puedan salir, como de facil es acceder a cosas nativas del device en cuestion, por ejemplo en mi caso como podria acceder al acelerometro, iads, icloud,gamecenter,etc,etc.
Una de las cosas buenas de unity es la cantidad de middleware que existe que a la hora de hacer un juego, te ahorra mucho curro el comprar una solucion de IA, o pathfinding o alguna otra cosa del estilo. En el lado malo esta el precio, 4500$ (mas aparte IVA) no son moco de pavo, yo en mi caso no tengo la licencia pro y me las apaño con la basica, lo cual es una mierda porque no tengo acceso al profiler y otros goodies de la version pro.
Mira, yo estoy más o menos en tu situación. MonoGame es 100% 2D, aunque están pegando el salto a 3D y es gratis.Pero piensa que la gente ya ha tenido que pagar el monotouch, así que tienes que enfocarlo a profesionales. Pero eso sí, yo quiero que funcione y tener soporte. Si es así...¡bienvenido!
Soporte directo!!!! Eso es lo que más valoro. Porqué yo me estoy pegando con monotouch y aunque tiene un buen soporte, no es una persona que está al otro lado del teléfono.¿Porqué no lo enfocas así? Producto gratis, lo que cuesta es el soporte. Software as a service!!!
Eso sí...¿Cómo das a conocer tu producto? Sólo se me ocurre a base de muchos productos que estén en el mercado.
También está lo que hacen los de Corona y los de Delta Engine. Me enfocaré en los de Delta. Ellos te compilan el código!! Eso es, sencillamente lo mejor con diferencia. Porqué tu te olvidas completamente de configuraciones y rollos raros. Sin embargo...¿y el debug en el device?
Ya te digo que los que están dispuestos a pagar SABEN que el tiempo es dinero. Si tu producto FUNCIONA sin rollos raros, pagarán!!