Designing a Roguelike Game: Challenges and Solutions