Skip to main content
3 of 7
added coloured pic
Jo King
  • 47.5k
  • 5
  • 125
  • 186

Hexagony, 30 bytes

H;e;r;0Pld;P_1;l;;o;Q\;W\;$2@\

Try it online!

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.

###Explanation:

Here's a coloured Hexagony grid to show the non-branching path that the pointer takes:

enter image description here

The executing code, ignoring mirrors, is:

H;e;l;;o;Q2;P0;W;d$;o;$2r;0Pl;Wd;P1;@

Filtering out the skipped instructions and the literals that are overwritten by other literals, we are left with:

H;e;l;;o;Q2;P0;W;o;r;l;d;P1;@

Which prints "Hello, World!"

After a few attempts, I gave up on a size 3 Hexagony answer. Given you need a minimum of 12 instructions out of 19 reserved for string literals, along with two ;s for printing and one @ for ending the program. This leaves only 4 spaces for IP management and memory management, provided you find the optimal path that reuses both the o and the l and only uses two ;s (a reminder that you can only pass through two ;s in 12 different ways). From all this, I'll rule that a size 3 answer is impossible.

Jo King
  • 47.5k
  • 5
  • 125
  • 186