Se sei solo interessato a sperimentare, ti suggerisco di scegliere un framework 3D con binding per un linguaggio dinamico con cui hai già familiarità.
Ho iniziato a fare esperimenti con Ruby/OpenGL un anno o tre fa ed è stato abbastanza facile da giocare.
Se si vuole seriamente costruire un progetto (per qualsiasi motivo), suggerirei di prendere un framework basato su una combinazione di
- La lingua madre è implementato in (o runtime che gira su)
- Gli attacchi linguaggio dinamico disponibili per il motore o runtime
- la licenza del quadro
Se volete che il vostro progetto sia abbastanza facilmente che attraversa differen t OS, probabilmente vorrai scegliere un framework scritto in Java (perché la JVM funziona ovunque) con i binding in Ruby (jRuby) o JavaScript (perché questi linguaggi sono ben supportati lì). Ciò, tuttavia, limiterà i quadri a tua disposizione. (Questo è il mio Bias OSS + che mostra).
Wikipedia ha un list of game engines. In base a diversi criteri, ho avviato un progetto con jMonkeyEngine (v2) e ho trovato facile lavorare con e controllare da Rhino (un'implementazione JavaScript JVM).
Recentemente ho visto una presentazione da un altro framework basato su Java con binding per diverse lingue che sembravano davvero interessanti (ispirato al motore Ogre), ma ho dimenticato il nome e non riesco a trovarlo nell'elenco.
Facendo C# al momento ho guardato progetti/framework che hanno come target sia dotNet sia Mono per l'esecuzione su piattaforme diverse, ma era troppo complicato ottenere le build di sviluppo del framework (Tao?) E dei binding Mono Lua in esecuzione. Forse le cose sono cambiate.
Per riassumere, selezionare un framework che può essere eseguito sull'ambiente (s) che si desidera con i collegamenti per la lingua dinamica che si desidera utilizzare. Anche se il codice della libreria di framework disponibile per il linguaggio dinamico che si desidera utilizzare è abbastanza ridotto, è possibile estenderlo facilmente se si può lavorare con la lingua sottostante. Se sei fluente con C++, Java e C# non dovrebbero essere eccessivi.
fonte
2009-12-15 01:06:00
+1 per il collegamento per Racket (precedente schema PLT). –