Lo programé en C++ y usé DirectX para renderizar en un bitmap de RPG, luego simplemente creé un script que cargaba el dll y le daba el bitmap que se utilizaría para renderizar encima.
Hice algo parecido con esto: PokémonFanGames
En un principio empecé a hacer el script en Ruby pero luego me di cuenta de lo lento que era y tuve que hacer una librería externa, el cambio fue brutal ya que las mismas funciones me daban 10fps mientras que con la librería no me llegaba a bajar ni un solo FPS