How do game makers/engines like Buildbox, GameSalad, Construct, GameMaker, etc work in principle? I  am not interested in getting a list of technologies (programming languages, APIs, etc), since I know this kind of question would be immediately closed here on this site as too broad, but how - from a software engineering perspective - do these programs convert the user's interactions into exportable code?To avoid this getting too broad, what I'm looking for is only a rough outline how the software creates code/source files from the user interactions with the software. While details would be awesome, a high level overview would be sufficient.I'm a second year CS major and have some experience with Java/C/C++ as well as some web languages and framework. It's hard to find information on how a game creation software works because there's more content on how to make games in general.EDIT: In case you don't know, Buildbox, GameSalad, Construct, GameMaker are popular drag and drop game builders. While Buildbox is exclusively drag and drop, the others have optional scripting languages as a feature.
General architecture of game makers (without coding)?
game development;code generation
The earliest of this kind of system I encountered was an engine called HURG.  They've become at lot more advanced since then, but basically they all work the same way: they have an embedded pre-programmed engine (or a few different engines for different genres of games) that have a very large number of options for customizing them, a simple way of programming behaviour for game objects graphically (and in most cases also ways of linking those objects to externally-written programs in some kind of scripting language), and a graphic asset pipeline for importing your artwork. They then have a method that packages up everything except the editor into an installable module with an executable that simply loads the engine with your options and assets and starts it.In other words, they're really not very much different from a highly customizable game that supports full conversion mods (e.g. the Half Life series, which supports mods that are almost as well known as the game itself, e.g. Counterstrike), except that they're supplied with the development tools you'll need rather than having to obtain those separately.