This video explores a bit of utility based AI for tile based position selection by applying re-usable considerations to the decision making mechanism.
It is probably an oversimplification of the term Utility AI, but should be a reasonable introduction to the theme.
I recently picked up Elixir and Phoenix as development tools and i'm loving them. The Erlang virtual machine (BEAM) where code runs is an amazingly simple, yet powerful, system that allows for some really hard things like inter-process communication to become simple.
Phoenix's PubSub makes this process even simpler. The only problem is that the documentation at times is not that simple to follow, and i have to admit i lost more time than i wanted getting it to work properly.