Construct is a free powerful and easy to use development software for both DirectX 9-based games and applications,in a WYSIWYG environment. It includes an event based system for defining how the game or application will behave, in a visual, human-readable way - easy enough for complete beginners to get results quickly. Optionally, advanced users can also use Python scripting to code your creations.
Construct for me was love at first sight, I loved how it was simple to use, yet the downfalls were minimal.