Skip to main content
2 of 8
added 112 characters in body
Martin Ender
  • 198.5k
  • 67
  • 455
  • 1k

MarioLANG, 259 249 bytes

+>+>+>+>)++++++)++++++((-[!).)----.+++++++..+++.)).(-.((+++++++++++++++.).+++.------.--------.)+
+"+"+"+"==================#====================================================================.
+!+!+!+!((((++++)+++)+++))<
=#=#=#=#=================="

This has been tested in the Ruby implementation.

After obfuscating "Hello, World!" in MarioLANG I looked into golfing it a bit. The above is the shortest I have found so far.

As before I started from a Brainfuck solution which sets four cells to the nearest multiple of 10 to the characters He, and space and converted it to MarioLANG. You can then shorten the code a bit by making use of the auxiliary floor in the loop which almost halves the width of the loop. Note that the bottom is only executed one time less than the top, so you don't get exact multiples of the initial counter in all 4 cells any more.

Finally, I wanted to make use of the wasted space in front of the loop, so I added a bunch of elevators to make use of the vertical space there. Finally, I tested setting the counter to 9, 10, 11 and 12 and found that 12 gives the shortest overall code (I might try more, but the large gaps mean that it will cost more to reach the four characters initially).

Oh and then there's a little trick at the end of the main row which saves two bytes.

This is likely still far from perfect, but it's a decent improvement over the naive solution, I think.

Martin Ender
  • 198.5k
  • 67
  • 455
  • 1k