basic extendable classes that can be used to create a graphical roguelike