¿Qué tipo de programas se puede hacer con Ruby? y con Ruby, no me refiero a Ruby on Rails.
El compañero @Gus Garsaky te ha respondido de forma clara y precisa,
un usuario con necesidades generales de programación, no tendrá dificultades para el desarrollo de cualquier tipo de aplicación/script en Ruby.
Por ponerte un ejemplo de limitación,
si tuvieses pensado desarrollar un driver para un dispositivo de Hardware pues, Ruby, que es un lenguaje alejado del código máquina, no podría llevar a cabo dicha tarea, al menos hablando en terminología "güindous" no se podría desarrollar un driver en modo Kernel (para acceder al espacio del Kernel), para un driver en modo Usuario sí, pero desde luego un lenguaje que tenga que ser interpretado cómo Ruby no sería una solución óptima para esa tarea.
¿podría crear un mini-juego con este programa?
Depende de tus necesidades... cómo todo,
¿un juego simple y básico por ocio o aprendizaje?: Sí.
¿un juego serio y avanzado de ámbito comercial?: Sí, pero mejor No.
Para crear un juego, resumidamente, es necesario que el lenguaje permita dibujar en la superficie de la pantalla ...es decir manejar gráficos 2D/3D, interceptar/procesar la entrada de datos del teclado/mouse, y opcionalmente reproducir audio, Ruby está capacitado para hacer todo eso.
No hay problema en poder desarrollar un juego simple (o no tan simple) en Ruby o Python, y menciono a Python por que según otros comentarios tuyos me parece que es otro lenguaje que te interesa aprender.
Pero, el rendimiento es un factor muy importante cuando hablamos de juegos comerciales, y Ruby (cómo Python) en ese sentido es lento, ya que es un lenguaje interpretado al fin y al cabo,
recuerda que Ruby y Python son lenguajes de Scripting (al menos sus implementaciones oficiales), no son lenguajes compilados cómo por ejemplo C++, C#, Java, VB.Net, o las implementaciones Ruby.Net, IronRuby y IronPython para el CIL de .Net, o XRuby y JRuvy para el entorno de la JVM,
la mayoría de juegos comerciales que integran código de Ruby o Python suelen ser juegos PARCIALMENTE desarrollados en dichos lenguajes, aunque no soy ningún experto en el game-development, creo que en muchos casos (sino todos) es debido a limitiaciones de rendimiento en dichos lenguajes, o limitaciones en la integración con algunos dispositivos.
Otro factor importantisimo es que el lenguaje disponga de librerías propias o de terceros para el desarrollo de juegos, ya que de lo contrario te puedes volver loco ...literalmente hablando,
en Ruby por ejemplo tienes varias opciones, ruby-opengl, Chingu, G3DRuby, Rubygame, Ruby/SDL, RUDL, o SFML, cada uno está orientado y optimizado a ciertas características en concreto en lo referente a gráficos 2D o 3D, en Open-Gl o DirectX.
Saludos.