Most tech people who aren't business-savvy plan too far ahead. In my experience, there's a certain type of smart tech person who is willfully uninterested in practical matters that they feel shouldn't exist, but do. These people tend to plan to minimize the total long-term work for themselves. That's an extremely bad way to plan. I've been thinking about cross-platform recently. It's not secret that Oddworld is currently Xbox- exclusive, but of course we won't stay that way forever. Maybe we'll just go to Xbox2 when the time comes, or who knows what other platform we'll wind up on. So, how do we prepare for that? Our imaginary techie would make the entire engine cross-platform, abstracted, data-driven. That's huge mistake. My approach - completely ignore the future (for now). Make an Xbox-only engine, make it damn good. When the time comes to deal with another platform, deal with it then. Of course the time frame is important, I'm not considering going cross-platform any time very soon. All your great plans for the future will come to nothing unless your current game is damn good. I see all these startup game companies that are building the "coolest 3d engine ever" which they'll use in "all their future titles". Of course, they don't even finish one, or if they do, it's a bad game. Guess what, that "cool 3d engine" (which was probably crap anyway) goes in the garbage. Better to make your current game good.