1) input-output *finished*?
2) main architecture; the main classes for various things, some examples: objects, tiles, places, creatures, "factions".
Also big UI stuff, menus, announcement system, and so on.
This is just skeletal, crate the classes but put very little in them. (examples: for objects maybe x,y and z coordinates, some type reference, and pointer to the tile containing them. for tiles maybe ASCII char, passable y/n, and a list of objects in it.)
3) return of the @-walking-around-an-empty-screen!
But this time using the proper architecture, being a object/creature (depending on how you chose to handle it, I think it would be cool if creatures were made from several objects for bodyparts) and checking for passability.
4) simple world gen, UI mostly outlined, some objects and creatures except the player, fleshing out the various classes to contain much more data (flow for tile class maybe), creatures can preform actions and hit etch other, and talk even if the AI cant react to it.
5) add content as you wish! Flesh everything out!
Note that this is just an idea if you don't know what to do an that i know absolutely nothing about this.