In this paper we present CodeCraft, an educational video game we are developing to teach the fundamentals of computer programming. Similar to other educational tools such as Scratch, Alice, Project Spark, and Code Spells; CodeCraft provides users with an intuitive graphical interface for writing programs. However, CodeCraft is a video game that uses a problem-based learning approach in which players learn programming concepts by solving individual puzzles in an immersive 3D environment. Moreover, CodeCraft is intended to be an autonomous learning game that can be played without teacher support, thereby potentially reaching students in all economic, ethnic, and gender groups. Using an iterative development process and evidence-centered design, this work proposes to further develop CodeCraft and evaluate how it can improve performance in acquiring programming skills.