Für soetwas würde ich dir zuraten eine eigene separate Sprite-Klasse zu schreiben mit welcher du beliebigen Text auf dem Bildschirm darstellen kannst.

Eine Klasse könnte aussehen wie folgt: (ich habe schon seit langem nichtmehr mit Ruby gearbeitet daher könnte der Code nicht ganz korrekt sein.)
Code:
class Sprite_Damage_Pop_Up
  
  def initialize(viewport = nil)
    @sprite = Sprite.new(viewport)
  end
  
  def set(x,y,text)
    bitmap = Bitmap.new(text.size * 32, 32)
    @sprite.bitmap = bitmap
    bitmap.draw_text(0,0,bitmap.width,bitmap.height,text,1)
    @sprite.x = x
    @sprite.y = y
  end
  
  def dispose
    @sprite.bitmap.dispose
    @sprite.dispose
  end
  
end
Ein Objekt dieser Klasse kannst du dann so oft instanziieren wie du möchtest und über "set(x,y,text)" die Position und den Text des Popups sofort setzen.
Die Größe des Bitmaps auf welchem gezeichnet wird wäre:
Breite = text.size * 32
Höhe = 32
Einfach nur als Standardwerte gewählt von mir. Das kann man auch eleganter lösen, es dient nur zu Anschauungszwecken.

Du kannst dann natürlich alle möglichen Arten von Hilfsmethoden in der Klasse definieren wie du sie brauchen solltest.