Estoy haciendo un poco de investigación antes de escribir mi propio motor de juego en 2D (y tal vez en 3D). He hecho un motor antes de usar C# y XNA pero quiero ir a la plataforma cruzada esta vez haciendo mi nuevo motor en C++ usando opengl etc.¿Escribir en C++ y exponer a C# o escribir directamente en C#?
Pero ... Todavía quiero los tiempos de iteración rápidos de C# y tengo acceso al motor del juego allí.
Así que tengo algunas opciones aquí.
- Escribir el motor y un envoltorio de CLI en C++
- Escribir todo el asunto directamente en C#, sin C++
- Escribir en C++ y utiliza Mono para cargar código de C#/ensamblajes en el motor.
- no C#
- ... Probablemente algo no me pareció el momento
creo que sí necesita la velocidad de sacrificio, cosas scenegraph, los cálculos con matrices, sistemas de partículas, etc.
Wat son ¿los pros y los contras? ¿Qué sugieres?
Posiblemente una pregunta estúpida ya que no sé mucho sobre C#: ¿Es factible escribir algo como esto en un lenguaje de GC como C# o las pausas de GC te comerían vivo? – dsimcha
Es factible y el rendimiento es aceptable. C++ es y siempre será (¡no lo dije!) Más rápido. Ya hay varios motores de juegos C# flotando. Flat Red Ball por ejemplo. – WoutervD