You need Windows 8 in order to develop for Windows Phone 8. Windows 7 won’t work.
But avoid Windows 8, it is confusing. Use Windows 8.1 instead. And boot directly into the “Desktop”. Avoid the annoying “Start” thing. Good news: the upgrade from 8 to 8.1 is free.
You should know that there are many “flavors” of Windows: “RT”, “Regular”, “Pro”, “Enterprise”… just get the “Pro”. RT (Runtime) is the new name for Metro.
Windows 8 (Regular, Pro,Enterprise) has both shells: the desktop shell (win32 API); plus the new RT shell… but you should not confuse Windows RT with Windows Phone. They have the same shell (Metro), they have very similar APIs, but they are slightly different Operating Systems. Remember: You are going to develop games for Windows Phone (using the C++ API), and not for Windows RT.
Was that confusing? Don’t worry, it is still confusing for me. As a summary:
- Your host operating system will be Windows 8.1 Pro (and not Windows RT)
- Your target operating system will be Windows Phone 8 (and not Windows RT)