Data structures and algorithms are important foundation topics in computer science education. However, they are considered to be hard to teach and learn because usually model complicated concepts, refer to abstract mathematical notions, or describe complex dynamic changes in data structures. Many students in programming courses have difficulties to master all required competencies and skills especially at introductory level. In the literature there are different ways to enhance learning programming and deal with the important dropout rate. Recently, games are increasingly being used for education in various fields. We hypothesize that games have the potential to be an important teaching tool for their interactive, engaging and immersive activities. So they can improve student engagement, motivation, and consequently learning. To this end, we are developing a game to teach basic algorithmic concepts and algorithms. We aim to initially investigate the educational games developed for and used in the computer programming domain and review to which level they address the aforementioned difficulties. Then, we propose a role playing game called AlgoGame based on existing solutions and incorporates new elements. A pre validation of the game with novice students was very encouraging and demonstrates that learning programming can be enhanced by playing with AlgoGame.