Recently, we introduced Behavioural State Machines (BSM ), a novel programming framework for development of cognitive agents with Jazzyk, its associated programming language and interpreter. The Jazzyk BSM framework draws a strict distinction between knowledge representation and behavioural aspects of an agent program. Jazzyk BSM thus enables synergistic exploitation of heterogeneous knowledge representation technologies in a single agent, as well as offers a transparent way for embedding cognitive agents in various simulated or physical environments. This makes it a particularly suitable platform for development of simulated, as well as physically embodied cognitive agents, such as virtual agents, or non-player characters for computer games. In this paper we report on Jazzbot and Urbibot projects, two case-studies we developed using the Jazzyk BSM framework in simulated environments provided by a first person shooter computer game and a physical reality simulator for mobile robotics...