On improving Hex's usability
object-Object opened this issue ยท 7 comments
Hex Casting has a bit of a usability problem. Here's what I think needs to be fixed. (sorry for the wall of text)
This issue is an aggregation of things recently discussed on Discord related to making Hex easier to use. As I see it, there are three mostly separate "things" that happen when you're using this mod:
(1) Designing hexes
This is basically the actual "programming" part.
- I think the main difficulty here is the challenge of keeping everything in your head while you're designing/writing the hex.
- For power users, imo this is completely solved already with the VSCode extension and/or Hex Studio.
- For everyone else, I think improvements to (2) and (3) will also improve this, because you'll need to hold less things in your head while creating hexes.
(2) Drawing hexes
This is the process of taking a list of patterns (maybe in your head, maybe written down) and actually drawing them on the grid. May or may not happen simultaneously with (1).
- This is the core feature of Hex, it's a big part of the charm of the mod, and I personally think it's mostly fine the way it is.
- Several people want or are working on a way to skip this step entirely by making a way to import hexes from outside the game.
- In my opinion, this is bad. It's the Psi and Computercraft problem: why make your own hex when you can just copy and paste someone else's? I think it stifles creativity.
- There's basically no way to allow importing your own hexes, but not other people's.
- Limiting it to creative-only doesn't work, because Hexal's Everbook makes it trivial to move hexes from creative worlds to survival ones.
- Things that could improve this part:
- An "undo last pattern" pattern that only works within intro/retro. This would make mouse-slips much less punishing while not requiring time travel.
- Improvements to (3).
(3) Editing/debugging pattern lists
This is everything after initially drawing the hex: finding mistakes, fixing mistakes, changing functionality, embedding iotas, etc.
- In my opinion, this is the part that needs the most work. Editing hexes is incredibly clunky. The best workflow I've come up with is as follows:
- Reveal and hexdecode the pattern list so you can see what's in it, as well as the indices of the patterns.
- If you wrote the hex outside of the game, use tools like diff to compare it to the decoded list to see where your "typos" are.
- Use list manipulation patterns or any one of several community-made list manipulation hexes/macros to painstakingly modify the pattern list.
- Repeat until it works.
- Things that could improve this part:
- A better stack display (eg. toggles to show list indices and pattern names).
- Better debugging tools and output (eg. an actual debugger, more detailed info when mishaps happen).
- From PoisonNettle on Discord: a block (sort of like Psi's spell programmer) that lets you edit a list entry-by-entry, including inserting and removing patterns.
In my opinion, this is bad. It's the Psi and Computercraft problem: why make your own hex when you can just copy and paste someone else's? I think it stifles creativity.
Neither psi nor computercraft has a problem with import/export. Computer craft is a mod about mostly real programming, without import/export it would simply die (barely any player would want to learn how to code in order to make the use out of this mod, so they copy from players, who are creative and can make new code), this is one of a few main problems with hex, especially when its so long to make spells. TL;DR creative players make new code and share with them, while other players (neither if they're good or bad at programming) copy them. Not all of the players can code.
From PoisonNettle on Discord: a block (sort of like Psi's spell programmer) that lets you edit a list entry-by-entry, including inserting and removing patterns.
This fixed a lot of problems with hex, as trying to edit your spell is so painful, that its better to rework it again, and again, until you get it right. It's really tiring to constantly rework/edit the spell for now, so most of the players decide to not interact with this mod at all after they see how bad it is.
Neither psi nor computercraft has a problem with import/export.
This is a personal anecdote, but maybe it'll help me explain my point. I've used both Psi and Hex extensively. Hex is the the one where I really thrived. Why? Because I couldn't just copy and paste someone else's hexes. In Psi, someone else has already solved Rainbow Road, so why should I? In Hex, to copy someone else's hex you at the very least have to write it. In my opinion, this (subtly) encourages people to actually think about the hexes they're using. I think the same would be true for Psi if they didn't have one-click import/export. If you had to place all the blocks yourself, you would get a better understanding of how the mod and the spell works, which would encourage creativity, not get in the way of it.
Yeah, I strongly prefer to have no method of spell import/export.
I don't think the stack should display pattern names, I think the obvious step is for it to display patterns themselves. But either way, yeah, showing unreadable debug text is not good and needs to be fixed ASAP.
note: you can now import .hexpattern files using Ducky Periphs and a node.js script i whipped up parsehex.js
And as I think I made clear above, I don't consider that to be a good thing.