OOP RPG project