In my travels, I've found that the python folks have a really nifty binding to the cross-platform SDL library. Since both python and SDL are free, it's a great platform for those wanting to learn game design (like myself).
See the pygames web site for more details, examples and links to free and commercial apps using python.
Python is a dynamic scripting language like Perl. That allows for a rapid development of ideas. Python also has a way to compile .EXE files, for those that don't want to ship an entire python development suite to end users.
Python is a great tool for building puzzle games like tetris or freecell, but it can also handle retro-arcade shooters (think PacMan, spacer invaders, etc). It's not a great platform for say, rewritting Doom. You could rewrite Dink in it though (although one might want to precompile the dink scripts rather than compile them at runtime...)
Anyway, I thought I mention this here for those looking for a simple, but robust free game dev platform.