One of downsides of writing own game engine from scratch is amount of work that needs to be done before the actual gameplay may be implemented. Recently I've thought that I can finally start working on it when I've realized that my game doesn't have any sort of user interface apart from 'level' editor ;) writing all the button controls is not something I would gladly spent time on so I just took advantage of IDE in which game is written and made some temporary menu's using standard and a bit modified components. As a result I got sort of retro looking ASCI-windows gui. Each window can be moved and scaled. It's not drawn on OpenGL context like rest of the game but rather like normal 'OS' windows. I like the result so maybe it's not gonna be temporary after all.
After that I could finally implement some means to build things, on both user end (marking 'build' and 'dig' areas) and AI that carries out the tasks.
Speaking of AI; before this project I always used state machines for controlling actors which worked well at beginning but as logic gained in complexity it was hard to keep code clear and even harder- bugless.
So this time after some research I've decided to use behavior tree approach which so far looks like a good choice. Wrote my self a nice little editor for it and even got a way to visualize the logic on the fly, sending node states from game to logic editor via udp. All that stuff can be seen in the video: