I think the more you code the better picture you have of what you can do and cant do, and with that, what is required.
Just quickly thinking of base building from oxygen not included, the player queues up objectives which the AI then carries out where and when possible, I think sims is a bit easier since the actions are literally just queued for one character, oxygen not included allows you to prioritize tasks, while having certain characters perform tasks according to criteria such as a character with higher level cooking will perform that duty instead.. in game maker you've already got a primary loop unlike say Python where your code runs from start till end and closes. In game maker studio your code will continue to run until your user exists the game, it crashes etc.
So for ai, they'll do their current task if any, if not then scan through a list of tasks given to them by the player, before doing the next task first prioritize etc then start on the task,which is usually literally just moving to a point, performing an animation for x seconds while say the water within the square clears up, since the task is cleaning water it means bottling water so after the animation a bottle o water is created at x/y location of the character.the character then checks to see if there's a designated area for dumping clean water and if not drop the bottle there, task is then completed unless you've added more code and in the next step the character will once again go back to checking for a new task.. one step before checkingfor a new task may be to check if it's daytime still, if not then sleep instead, think they're called nested if statements or nested loops..
Ooh random level generation, it could be as simple as looping through a 2D array of items that populate the world, where items have properties that theplayer sees like the durability of a tree, and properties that doesn't have meaning to the player like during level gen, can this tree spawn in this biome, no well then skip to next item in the array, can this plant spawn, yes, okay how many say between 1& 10, alright find a spotwhere it can spawn on..
More experienced devs can tell I'm missing inbetweens and important concepts here in my example of what kind of thought goes into considering functions that you'd like to and need to implement.
In any case if it seems daunting it's cause it is, I'd like to add though that it's better to get started and not finish than not start at all. ;P
I haven't finished a game either, I'm currently working on sprites, eventually I imagine creating rooms and adding dud objects with the new sprites into the rooms, then coding it afterwards. Alternatively people also use place holders before hand and just code it out and do the art afterwards. Many ways to make progress.