Red Letter Day: ASCIIPortal Out

As assorted bods has been rushing to tell us, ASCIIportal is out. It’s Portal in ASCII, which we’ve previously talked about. I just had a quick crack now, but stopped almost immediately because it involved thinking and I need to save all my puny brainpower today for working out novel ways for one superchap to hit another superchap. It’s a living. AN AWESOME LIVING. Anyway – you can get the game here and the most recent update video about development can be found below…

Now everyone debate whether it’s actually ASCII or it’s ANSI. You know you want to. Yeah, you. I mean, you.

(John Walker)


  1. RiptoR says:

    “It’s ASCII in portal” >>> Shouldn’t this be “It’s portal in ASCII”? :)

  2. Kieron Gillen says:

    No. I like it how it is.


  3. damien says:

    no debate. that's ANSI.

  4. Five says:

    “Superchap” is an awesome word btw

  5. Jazmeister says:

    FYI: You’ve reached a new height of writerly prowess, where typos are now bold statements or entirely deliberate gags.

  6. RiptoR says:

    Was just wondering, that’s all.

  7. JB says:

    That freaked me out. The typo changed as I was reading the comments. WooooOOOooOOO.

    So, superchaps. Are they what Clark Kent wears when he dresses as a cowboy?

  8. Bhazor says:

    Ok I don’t think I’ve ever been made motion sick by ansi until now. Splendind.

    Also props for the Erin Robinson mention.
    I’d do her.

  9. Zeh says:

    It’s not ANSI just because it’s colored. It’s not using the ANSI codes (the ESC codes). It’s colored chars from the extended ASCII table. Joe Larson got it right.

    And this comes from a former “ANSI artist”.

  10. damien says:

    i grew up using the term “extended ASCII” / cp437 and the term “ANSI” interchangeably.


  11. Mike says:

    I’m not sure Kieron meant for the debate line to be taken as a direct order.

  12. Poindexter says:

    ASCII stupid question, get a stupid ANSI.

  13. Gutter says:


    Peanut style voices in a game… yay!

  14. orta says:

    the voice over rules

  15. MedO says:

    ASCII doesn’t have the Å-Character. There you go :D

  16. solipsistnation says:

    Well, I’m glad I’m not the only person thinking ASCII vs ANSI. HELLO FELLOW NERDS!

  17. LionsPhil says:

    Am I right in thinking that, like Dwarf Fortress, this isn’t even a proper console application, though, but faked with blitting sprites (in DF’s case, via OpenGL and full-screen refreshes) that just happen to look like old DOS codepages?

    Because heating up the 3D hardware to render this makes Baby Jesus cry.

    • LionsPhil says:

      …whoa, OK, open source and cross-platform, so I can answer that myself.

      Perversely, he’s using a curses library (i.e. proper text console library), the SDL backend thereof. Looks like there’s a compile-time option to not do this, however, tinker-fans.

  18. MedO says:

    So you’d be able to tell us then which charset it really uses? Is it UTF-8Portal perhaps?

    • LionsPhil says:

      Doesn’t appear to be—I’m not familiar with non-ASCII in curses, but the giveaway line is probably:
      return (CharData[o][1] | color_pair(o) | A_ALTCHARSET);
      I would take a guess that the ‘A_ALTCHARSET’ flag means the “OEM” code page, 437, as mentioned above. CharData[][1] are 8-bit values that look like they’d map to sensible CP437 glyphs. There’s also a field in the CharData array (I’m not sure why he didn’t use structs) for ‘File’, which appears to be normal ASCII characters used for map loading, at a glance. Looks like he’s written quite a lot about the development here if you’re interested (and have more time to spend on this than I ;) ).

  19. LionsPhil says:

    Aha, an authorative answer for this case:

    The principal limitation of [the SDL port, which is what this game uses] is that input is currently restricted to ASCII (i.e., 0-127), plus the special keys like KEY_LEFT. (You could have Unicode input, but then the input wouldn’t match the output, which is in Code Page 437.)

    Otherwise, because he hasn’t used the (limited) alternate character set constants, it seems to actually be undefined what non-ASCII values mean AFAICS (it’s left to the terminal to interpret).

    • LionsPhil says:

      (And it’s at this point that I recognize the avatar and realise we’ve already had an authorative source. Can haz post editing back plz?)