Si solo te interesa experimentar, te sugiero que elijas un marco 3D con encuadernaciones para un lenguaje dinámico con el que ya estás familiarizado.
Empecé a hacer experimentos con Ruby/OpenGL hace un año o tres y eso fue bastante fácil de jugar.
Si realmente quiere construir un proyecto (por cualquier razón), sugeriría recoger un marco basado en una combinación de
- La lengua materna se implementa en (o tiempo de ejecución que se ejecuta en)
- los enlaces de lenguaje dinámicos disponibles para el motor de tiempo de ejecución o
- la licencia del marco
si desea que su proyecto sea bastante facilidad corriendo por diferen t OS, es probable que desee elegir un marco escrito en Java (porque la JVM se ejecuta en todas partes) con enlaces en Ruby (jRuby) o JavaScript (porque estos lenguajes están bien soportados allí). Sin embargo, esto limitaría los marcos disponibles para usted. (Este es mi sesgo OSS + linux mostrando).
Wikipedia tiene un list of game engines. Basado en varios criterios, comencé un proyecto con jMonkeyEngine (v2) y me resultó fácil trabajar con Rhino y controlarlo (una implementación de JVM JavaScript).
Recientemente vi una presentación de otro framework basado en Java con enlaces para varios idiomas que parecían realmente geniales (inspirados en el motor Ogre), pero olvidé el nombre y no puedo encontrarlo en la lista.
Realizando C# en ese momento, observé proyectos/frameworks dirigidos tanto a dotNet como a Mono para ejecutar plataformas pero era demasiado complicado conseguir las compilaciones de desarrollo del framework (Tao?) Y los enlaces Mono Lua en ejecución. Tal vez las cosas han cambiado.
Para resumir, elija un marco que pueda ejecutarse en los entornos que desee con enlaces para el lenguaje dinámico que desee utilizar. Incluso si el código de la biblioteca de marcos disponible para el lenguaje dinámico que desea utilizar es bastante mínimo, puede ampliarlo fácilmente si puede trabajar con el idioma subyacente. Si dominas C++, Java y C# no deberían ser demasiado exagerados.
+1 para el enlace de raqueta (antiguo esquema PLT). –