Hexagony, 30 bytes
H;e;r;0Pld;P_1;l;;o;Q\;W\;$2@\
Source laid out:
H ; e ;
r ; 0 P l
d ; P _ 1 ;
l ; ; o ; Q \
; W \ ; $ 2
@ \ . . .
. . . .
Reuses the same tricks as Martin Ender's answer, i.e Q2
printed is the comma, P0 is the space, P1
is the bang, but manages to be 2 bytes shorter through clever mirroring to reuse several ;
s and the o
.