improved GameCharacter and GameObject class structure