1. Implement Logger class
  2. Implement basic WinMain that creates a window and exits
  3. Test the SimpleArray class
  4. Implement Game class so that it inits ddraw and shows a blanks screen
  5. Implement ScreenImage and ImageFileReader (and subclasses)
  6. Get program to init ddraw and display background and exit
  7. Implement Game Loop
  8. Implement GameObject, Room, and Wall and use them to display background
  9. Implement dinput for keyboard
  10. Implement Holder and Player and allow player to move around room
  11. Implement collisions and allow player to hit walls and bounce off or stop moving.
  12. Implement sword and allow player to pick it up and move it around
  13. Implement RoomConnector and subclasses and allow player to move from one room to the next
  14. Implement key and castle gate to allow player to move "inside" a castle
  15. Implement remaining objects except dragons. Program bat to pick up objects and fly around.
  16. Add some rules: Allow player to find chalice and bring it to a specific room, where the game ends.
  17. Add sound
  18. Implement darkness
  19. Implement a dragon that stays in a room and attacks player if there
  20. Allow player to kill dragon with sword.
  21. Implement better bat and dragon AI
  22. Build out actual rooms for game 1
  23. Build out actual rooms for game 2
  24. Build out actual rooms for game 3
  25. Build Game select screen
  26. Implement soft reset vs. hard reset in world
  27. Add dinput for joystick
  28. Add non dinput input module for NT (implies re-design of input)
  29. Add music
  30. Build out additional games