Pasé el último año desarrollando un motor de juego comercial en Haskell, y para nosotros, la experiencia ha sido abrumadoramente positiva. Nuestro mundo de juegos es complejo, y Haskell ha facilitado modelar el proceso de conversión de un formato de editor a un formato de motor de juego. Odiaría pensar cómo se vería ese código en un lenguaje imperativo.
En ocasiones, han surgido pérdidas de espacio, y aunque han causado un poco de problemas, en el esquema general ha sido una pequeña cantidad (por ejemplo, en comparación con encontrar puntos muertos en proyectos Java de tamaño similar), y una vez que se repararon , se quedaron fijos.
Estamos usando FRP similar a Yampa, y ciertamente hay una curva de aprendizaje asociada con él, pero una vez que termina, la experiencia es muy positiva. Las bibliotecas no han sido un problema para nosotros: todo lo que hemos necesitado ha estado disponible. Los retrasos en la recolección de basura fueron un problema particular ya que es para una plataforma integrada. Hemos usado algunos C ++ para administrar la animación. El rendimiento también ha sido un problema, ya que se trata de una plataforma integrada (= procesador lento). Hemos hecho algo de C y también estamos buscando tecnologías emergentes de Haskell como acelerar. El animador de C ++ fue una decisión de diseño desde el principio y los lugares donde el código es demasiado lento son solo áreas muy pequeñas. A la larga, queremos traducir toda nuestra C a Haskell.
Haskell ha hecho un trabajo difícil fácil, y todas las dificultades que acabo de mencionar han sido pequeñas en comparación con la gran cantidad de código complejo que hemos producido que es limpio, mantenible y prácticamente irrompible. El paralelismo será un problema en el desarrollo del juego muy pronto, y estamos muy bien posicionados para enfrentarlo. Es posible que parte de lo que he dicho no se aplique a proyectos pequeños, porque estamos en esto a largo plazo, por lo que los costos iniciales como las curvas de aprendizaje, el soporte de la biblioteca, etc., son mucho menos problemáticos.