hhh 5 years ago

REXPaint is a great tool, and the only reason I know it exists is from playing the game it was used heavily for, Cogmind. It's a great roguelike game, and if you enjoy them I would suggest you give it a try.

The dev is active in the Roguelike Discord server as well. Any interaction I've had with them has always been positive and kind. Cogmind was great to see grow into what it is today.

  • setr 5 years ago

    Dunno if its actually good as a roguelike, but thats gotta be by far the neatest UI I’ve ever seen. Guy has a good blog as well about cogmind’s development

    • zzxc 5 years ago

      Can confirm it's great as a roguelike. This page is a nice summary of some of the new features it brings to the genre: https://www.gridsagegames.com/cogmind/innovation.html

      • setr 5 years ago

        That page is actually what draws my concern -- it's got a lot of cool UI/UX improvements over other roguelikes, and there's a lot other games could/should learn from this guy... but other than the "A living ecosystem" section, there's nothing at all about the gameplay itself

        Even his articles don't mention much about how it all plays out; it seems like he's far more interested in building a roguelike than making a good one (he talks a lot about how it impacts development, but not how it impacts play). But tbf, thats pretty much the starting story of any roguelike's development. I'd definitely start with this guy's resources if I was interested in making one

        • Kyzrati 5 years ago

          Ah, this was mainly because it's easiest to show UI/UX innovation in images :P

          The gameplay is unique, and much has been written about it, but it's not all in one centralized location like that page, which was easier to put together as simply images for demonstration.

          For the other side of things there are many many articles on the blog detailing systems and mechanics and design considerations. Plus there are Steam reviews, which give a pretty clear picture of what people think. This one, and many others, are telling: https://steamcommunity.com/profiles/76561198035898628/recomm...

          Also hi :)

          (Edit: Oh, and I stopped writing a lot of Cogmind-specific design the articles for the blog in recent years, and some of the writing you might be looking for has gone towards FAQs here: https://www.reddit.com/r/roguelikedev/wiki/faq_friday)

          • setr 5 years ago

            Oh damn, thats a lot of material

            When I finish reading through, you’ve probably got a buy-in out of me; that much thinking has gotta produce something interesting, good or bad ;)

            • Kyzrati 5 years ago

              Hahaha, thanks. It's funny when I sometimes get notices from new players who've said they got into it after having read all my blog and FAQs. I'm like "you just read... ALL of that?!"

              (I'm happy to have started the FAQ series beyond the blog, because it's about so many other devs' RL projects as well, and we can share and learn so much more!)

  • RealDinosaur 5 years ago

    He's a proper bro. He also posts regularly on reddit with tips on making roguelikes, and posts cool things on Twitter.

ArtWomb 5 years ago

Anything that would preclude one from making a similarly-robust HTML5 (Canvas2D) ASCII editor?

Font rendering wouldn't even be required. Static bitmap sprite data in a predefined grid cell layout would suffice. With fore and background color altered via fast pixel manipulation using pre-allocated array buffers. Memory usage, on large canvas areas, might be the only prohibitive issue ;)

I use the wonderful Piskel 2D sprite drawing tool. And it can handle sizable frame counts at 1024x1024 resolution.

https://www.piskelapp.com/

booleanbetrayal 5 years ago

you can still download ACiDDraw here - http://www.acid.org/apps/apps.html

  • pan69 5 years ago

    Ah. That reminds me, I used to use TheDraw on DOS back in the day.

    https://en.wikipedia.org/wiki/TheDraw

    • nineteen999 5 years ago

      I have a WIP renderer for the TDF font format for UNIX that I'm working on, which can output the fonts in CP437 or UTF-8 format on the terminal, or with the help of another tool, to a PNG.

      Example output:

      https://i.imgur.com/bkwSCEU.png

      That looks like a 4 at the end, but it's a 9. A lot of the TDF fonts are a bit crazy.

      Better image showing the different colored versions that are stored inside some TDF's:

      https://i.imgur.com/6cyjZGi.png

      Another example rendered to terminal rather than PNG using Unicode:

      https://i.imgur.com/L45U347.png

      Although for some bizarre reason, gnome screenshot tool completed changed the colors around.

      • pan69 5 years ago

        That's pretty cool!

merlincorey 5 years ago

Like the ever popular and powerful Pablodraw[0], this is a .Net application.

I tried a few CLI ANSI and ASCII editors on Linux recently, and it was not a great experience. Most are fairly inscrutable with limited documentation, and at least on my OS, some were just plain broken.

Ah, bitrot.

[0] http://picoe.ca/products/pablodraw/

  • Kyzrati 5 years ago

    REXPaint is not based on .Net, and works flawlessly under Wine on Linux. Although there's no native build, there are a bunch of users on both Linux and OSX (especially since a sizeable portion of the roguelike dev community uses non-Windows platforms).

    REXPaint also comes with a lengthy manual covering all of its features in detail: https://www.gridsagegames.com/rexpaint/manual.txt

  • jaytaylor 5 years ago

    I fixed a networking bug in PabloDraw about 7 years ago and recall encountering only Visual C++. Are you sure PD is a .NET app?

    Or is my definition of .NET wrong?

g5095 5 years ago

It's about time we had terminal emulators that took font/size commands the same way they understand colour changes. There's nothing (today) stopping us from making terminals that support outputting a font-code before dumping out some art like this produces, then setting it back afterward.. Suddenly TUIs could make use of tools like this ..

  • Someone 5 years ago

    Don’t they already do for fonts (sort-of)? http://www.ecma-international.org/publications/files/ECMA-ST..., section 8.3.53:

    FNT - FONT SELECTION

      Notation: (Ps1;Ps2)
      Representation: CSI Ps1;Ps2 02/00 04/04
      Parameter default values: Ps1 = 0; Ps2 =0
    
    FNT is used to identify the character font to be selected as primary or alternative font by subsequent occurrences of SELECT GRAPHIC RENDITION (SGR) in the data stream. Ps1 specifies the primary or alternative font concerned:

      0 primary font
      1 first alternative font
      2 second alternative font
      3 third alternative font
      4 fourth alternative font
      5 fifth alternative font
      6 sixth alternative font
      7 seventh alternative font
      8 eighth alternative font
      9 ninth alternative font
    
    Ps2 identifies the character font according to a register which is to be established.

    Also, section 8.3.55 and 8.3.56:

    8.3.55 GSM - GRAPHIC SIZE MODIFICATION

      Notation: (Pn1;Pn2)
      Representation: CSI Pn1;Pn2 02/00 04/02
      Parameter default values: Pn1 = 100; Pn2 = 100
    
    GSM is used to modify for subsequent text the height and/or the width of all primary and alternative fonts identified by FONT SELECTION (FNT) and established by GRAPHIC SIZE SELECTION (GSS). The established values remain in effect until the next occurrence of GSM or GSS in the data steam.

    Pn1 specifies the height as a percentage of the height established by GSS

    Pn2 specifies the width as a percentage of the width established by GSS

    8.3.56 GSS - GRAPHIC SIZE SELECTION

      Notation: (Pn)
      Representation: CSI Pn 02/00 04/03
      No parameter default value.
    
    GSS is used to establish for subsequent text the height and the width of all primary and alternative fonts identified by FONT SELECTION (FNT). The established values remain in effect until the next occurrence of GSS in the data stream. Pn specifies the height, the width is implicitly defined by the height.

    The unit in which the parameter value is expressed is that established by the parameter value of SELECT SIZE UNIT (SSU).

mathnode 5 years ago

It looks very impressive, in my moment of ignorance however, I got excited that maybe the REX was referring to REXX. That would have been quite a feat.

jaytaylor 5 years ago

Looks like a contender for an alternative to PabloDraw [0], my go-to for drawing ASCII art.

Does REXPaint support real-time shared sessions? That's PD's killer feature, watching a skilled artist work from halfway around the world is an amazing experience!

[0] http://picoe.ca/products/pablodraw/