  In this paper, we study grid-obstacle representations of graphs where we
assign grid-points to vertices and define obstacles such that an edge exists if
and only if an $xy$-monotone grid path connects the two endpoints without
hitting an obstacle or another vertex. It was previously argued that all planar
graphs have a grid-obstacle representation in 2D, and all graphs have a
grid-obstacle representation in 3D. In this paper, we show that such
constructions are possible with significantly smaller grid-size than previously
achieved. Then we study the variant where vertices are not blocking, and show
that then grid-obstacle representations exist for bipartite graphs. The latter
has applications in so-called staircase guarding of orthogonal polygons; using
our grid-obstacle representations, we show that staircase guarding is
\textsc{NP}-hard in 2D.
