Nobody should start to undertake a large project. You start with a small trivial project, and you should never expect it to get large. If you do, you'll just overdesign and generally think it is more important than it likely is at that stage. Or, worse, you might be scared away by the sheer size of the work you envision. So start small and think about the details. Don't think about some big picture and fancy design. If it doesn't solve some fairly immediate need, it's almost certainly overdesigned.
I worry that this describes us far too much. We've tried to ground things in real games whenever possible, but I still have this feeling that we're developing too much based on an idea and not enough based on real needs. Game creation sounds great in theory, but we have no idea whether it'll be appealing when people sit down at a computer and choose what site to visit.
The big problem at my last employer was that they were building this huge all-encompassing platform, and then only later using it to build applications. Of course, when we built the applications, we found that all our design assumptions of the platform were wrong, and it was just holding us back. We never had the will to rewrite the whole platform, so we just dragged around all this code that slowed us down.