I'd have to recommend Unity, I started on GameMaker, but if you want to do 2d that's not flash, use Unity, it uses C#, Java and Boo. Can export to Xbox,Ps3, Wii, Pc, Mac, Web and Flash without changing code. Can use all 3 languages at once, is very graphical not much mass coding to be done, has alot of precoded parts for games and a mass of tutorials. nuff said.
Also check out Torque 3D Looks the way to go for a rich 3d interactive game. However with the shift to mobile and now 3d is possible on the web you may want to consider that avenue. Web based 3D powered games is where I see the future going. There are some neat game engines that take advantage of Flash stage 3 3d acceleration, a (or codename Molehill) and JS/WebGL with HTML5. I was really impressed with the elegance and simplicity of the former. The JS executes so fast, and on a modern workstation the output is quite snappy. Performance wise both Flash and WebGL are on par in a web page however I would look into how IE implements 3d in the near future. WebGL works great in Firefox and Chrome, not in IE.
Edited by Dream Cutter, 24 June 2012 - 05:27 PM.
3DSkyDome.com animated sky boxes and instant 3d Android & WebGL publishing.