El nuevo lenguaje Go de Google todavía está en pañales, y aún no ha encontrado un uso o soporte generalizado en el mundo real. Aun así, parece un experimento prometedor, y me pregunto si podría tener un futuro en el desarrollo de juegos. No he podido encontrar mucha discusión específica sobre el juego de Ir a otra parte, y pensé que una discusión de CW podría ser apropiada.
Algunos pensamientos:
- Según golang.org , los programas Go "se ejecutan casi tan rápido como un código C o C ++ comparable", ¿lo suficientemente rápido?
- ¿La recolección de basura de Go es adecuada para juegos?
- ¿Cuántas herramientas mentales son necesarias para crear juegos en la tierra de goroutines concurrentes?
- Con frecuencia, Go se denomina lenguaje de "sistemas", con el software del servidor como ejemplo. Es difícil no pensar en servidores de juegos multijugador al escuchar esto.
¿Tus pensamientos?
Respuestas:
Mi opinión sobre sus preguntas:
En mi opinión, si tienes un impulso lo suficientemente fuerte como para intentar escribir juegos con un idioma, hazlo. Obviamente, si lo estás considerando, entonces tienes pasión por hacerlo, y ¿por qué no seguir esa pasión en lugar de obligarte a cumplir con la norma? Podría decir mucho más, pero ya dije mucho en mi respuesta a la pregunta: "¿Es Ruby un lenguaje adecuado para el desarrollo de juegos?"
fuente
He escrito un pequeño motor en Go para OSX (usando OpenGl para la ventana de gráficos). Tengo algo de experiencia con los motores de juegos C ++ ( http://morganjeff.weebly.com/ ) y decidí probar Go después de leer sobre algunas de las características que ofrece.
A partir de la versión Go 1.1, go tiene soporte para la mayoría de las características que necesitaba para escribir un motor de juego (realmente un núcleo del juego como motor sugiere editores y qué no) incluyendo:
Algunos de los beneficios de usar Go (para un proyecto grande):
Algunos beneficios de usar Go en general:
Algunas desventajas de usar Go:
Hay formas de obtener memoria sin procesar en go (importación "insegura") y vincularé un artículo que muestra cómo se puede perfilar un programa go para memoria y velocidad. En general, la afirmación de Go de que es una C moderna parece muy cierta. Creo que está diseñado "inteligentemente" (por muchas más razones de las que mencioné) y, lo que es más importante, está bien documentado. Un motor diseñado en Go será un poco diferente a un motor diseñado en C ++ (algo a lo que todavía me estoy acostumbrando), pero el motor Go resuelve muchos problemas que no se resuelven realmente en C ++ (es decir, paralelismo, la complejidad del lenguaje de C ++ y el mal uso de la herencia).
Aquí está el artículo que prometí: http://blog.golang.org/2011/06/profiling-go-programs.html
-Jeff
fuente
Algo más en lo que pensar es que, dado que Go todavía es relativamente nuevo, es posible que todavía no haya enlaces para muchas de las bibliotecas comunes utilizadas en el desarrollo de juegos.
fuente
No uses Go para desarrollar un juego, solo será un albatros alrededor de tu cuello. La cadena de herramientas para el desarrollo de juegos se extiende mucho más allá del lenguaje en el que escribes cosas en las que encontrarás obstáculos a cada paso que simplemente no estarán allí si solo vas con algo establecido.
No me malinterpretes, me encanta jugar con nuevos idiomas, pero si estás tratando de hacer que los juegos elijan un idioma que tenga comunidad y apoyo, estarás mucho mejor.
fuente