cpp roguelike