I've seen a lot of people asking which engine they should use for their new shiny game project. For me If I choose to make another mobile game I'll be using cocos2d-x http://www.cocos2d-x.org/ as a base. It's a free, open source C++ engine with a thriving community, and currently runs on iOS, Android, Windows, Linux, Marmalade, Blackberry and Bada (whatever that is).
The Windows and Linux versions are more intended for tools development though, as opposed to building full games. It doesn't have a Mac version.
So if I choose to make a PC/Mac/Linux desktop game things are bit less clear-cut. I'm starting to lean towards Unity http://unity3d.com/ for it's much hyped cross-platform capabilities and "new" way of working, but the coder in me thinks that SDL http://www.libsdl.org/ might be a better bet. Mainly because I still like poking around at a low-level, and more importantly, change scares me.
It still amazes me how many great tools are available to indie developers now, it's easier than ever to pick and choose from a whole banquet of high-quality products for free or as good as free. You kids better appreciate how lucky you have it.