Grid Actions, Toolbars & Making Them Actually Better Than SE1

Randolph Junior shared this feedback 16 hours ago
Not Enough Votes

Don't get me wrong. The UI and approach as to how actions for a grid are configured in SE1 - an approach that is now also largely adopted for SE2 it seems - works.

But it sucks. Big time.

Why?

Let's face it. The UI around configuring how a grid works and what it does when you press a button is convoluted beyond rhyme and reason. It is many things, but intuitive and easy to use it is definitely not.

Between finding blocks on the terminal, to then figuring out how to put them on the toolbar, to then figuring out what actions even exist for all of the block types... and how they interact... the player is basically playing trial and error for months before they even begin to get a reasonably good grasp on how the system works and what you can even do with it.

The main culprit here is the extreme amount of fragmentation of UI you encounter during setup of a specific action.

Sounds a little generic of a critique, I know, so let me explain with a simple example from SE1:

Configure a drill to turn on for 10 seconds:

  • First you figure out what a "timer block" is.
  • You build it.
  • You open the terminal.
  • You look for the timer block, somwhere in the list of dozens, if not hundreds of blocks.
  • You find the timer, thank god.
  • You look for the UI that allows you to setup actions for it.
  • Having found it, you go through another menu.
  • Damn, you forgot to name that one drill you want to activate.
  • Yuck! Escape the menus.
  • Find the drill.
  • Rename it.
  • Okay... back to the timer block.
  • Set up the actions.
  • Go to toolbar configuration.
  • Add the timer block.
  • Set up the start timer action.
  • Cool, now it works.
  • Bummer, the timer icon doesn't really tell you what it actually triggers.
  • You have 10 timer on the bar already.
  • Ugh.

Sound familiar? I'll bet it does.

Sound like a good UI experience? It absolutely does not.

Need more proof for just how bad it is? Find a new player, and explain to them exactly what they need to do in order to set up a sensor based activation for a set of drills and link activation of the drills to a gyro override.

Don't worry. I'll wait.

And mind you, this is just for one simple action of timed activation for a few blocks. Add nested actions and dependencies into the mix... now you have yourself a nice little soup of UI atrociousness that can take you hours of setup, debugging, iteration, testing, before you've got something that works.

Suddenly you're no longer playing a game. You're trying to navigate a maze of nested menus upon nested menus, at some point asking yourself what it even is you set out to do when you started the whole ordeal.

The UI, as it stands, makes it insanely difficult for a player (especially a new player) to find their way around what you can do in the game and actually having fun with it. It's a really big, really painful friction point in SE.

By tying UI for actions directly to the blocks and the the toolbar, you are forcing the player through an avalanche of nested menus that are pretty much scattered all over the place.

Every time something on the grid changes, the player has to go through the menu-maze again, reconfigure, adjust, possibly over dozens, if not hundreds of iterations, until they get the grid to function the way they want.

It's a hideously outdated approach to UI and, frankly, falls way short of what could actually be achieved with SE2 as a game if it wasn't so outdated in its approach.

So... how to make it better?

  1. You change the way actions are configured for your grid.
  2. To the terminal, you add a new section called "Grid Actions".
  3. Now, "Grid Actions" essentially functions very much like a node based orchestrator.

Every block on your grid can be added here as a node, and there is a range of events you can select as starting points for all kinds of actions. Such events include not only inputs like "Press button 1", but also pretty much everything SE1's range of "AI" blocks has. Everything you'd find on the event controller, AI blocks, timers... all of the things can be configured here in this one place, for the entire grid.

On the top of the Grid Actions menu, you find a combo-box that allows you to select subgrids (if they exist) and configure them the same way.

Here's a very quick and very dirty mockup for visualization, just to get the point across:

8b06bbf17084589ab8e23481b50a45e1

Why is this approach better?

Gone are the days of diving through dozens of different menus, scattered all over the place, to configure a simple set of actions for your grid to execute.

You configure it all on one screen, in a way that is intuitive, easy to understand, visual, performant - allowing the player to configure event flows and actions not just easy and fast, but with a level of complexity that'd take either hours of clicking through the current menus, or resorting to scripts and mods.

The process is very simple. Here's an example:

  • You add the "release button 1, toolbar 3" as an event node.
  • Now you add your drill block node.
  • On the drill block node you set properties "enabled: true"; "mode: dig"
  • Link the release button node to your drill node.
  • Boom, done.

Not only is this light-years faster to do and infinitely easier to understand... it is also a hell of a lot easier to maintain from a developer POV.

We all know and love node based orchestrators. It's why we use them so much. It's why we cry every time we can't.


But... this would make blocks like the event controller redundant, no?

Yes. At least as far as configuration goes. And that is a good thing. Because, again, clicking through dozens of menus and sub-menus and sub-sub-menus is how we used to do UI and UX decades ago.

With that said, of course, these blocks are quite an important part of SE, as they fulfill important roles in terms of gameplay, grid functionality and the way it ties into game mechanics like progression, combat (f.e.: enemy managed to nuke your event controllers, now your super duper custom missiles are dead in the water).

But the solution is both obvious and ridiculously easy to implement here, as all you have to do is tie certain events on the Grid Actions panel to the presence of certain blocks on the grid.

So, for example, if you wanted to have some autopilot routine for your grid, you'd have to have an AI autopilot block somewhere on it.

The huge... and I mean HUGE win here is that you have now decoupled the configuration of the action from the block itself. Which means you can now configure the autopilot for your ship before the relevant blocks are even welded. Then, trying to trigger said autopilot action would give you a "Can't execute. Grid does not have autopilot block installed and enabled." - and allow you to use your predefined action as soon as you build it.

And because we're doing it so damn well now, we can even have a nice little template function for the Grid Action panel, allowing us to save and restore actions we like to use often, with the click of a button.

It's time to bring SE2 to the modern age of UI and UX. Do it, Keen.

Seriously.

Just give yourselves one good afternoon of brainstorming the insane amount of potential you can leverage by building such a thing into the game.

Using it, players would very likely come up with contraptions complex and cool enough for your game to make headlines, and sell like hot cake.

One of the biggest, if not the biggest problem SE has when it comes to drawing in players and keeping them, is the downright atrociously convoluted mess that is its UI.

Fix that, and I guarantee smiles on many, many faces.

A proper orchestrator for grid action is the perfect starting point. Please do it before technical debt on SE2 accumulated beyond your ability to get it done.

And yes, this is me asking you to quite fundamentally rethink your approach to UI.

Because I'm seeing what you're doing with the terminal system right now... and yeah... it's not really headed in the right direction. To put it mildly.

Leave a Comment
 
Attach a file