Leafwing-Studios / Emergence

An organic factory builder about adapting to a changing world.
https://leafwing-studios.github.io/Emergence/
Apache License 2.0
265 stars 37 forks source link

Add genre analysis of control schemes to design book #174

Closed TimJentzsch closed 1 year ago

TimJentzsch commented 1 year ago

The control scheme is a very important factor for the user experience and should be taken into consideration when designing features. It's often challenging for complex games like factory builders and RTS games, as they have many actions to execute which should have shortcuts available.

I think it makes sense to look at both factory builders and RTS games to take inspiration. The schemes could be divided into "character-based control schemes", where the player is controlling a main character (usually with an inventory system), e.g. Factorio, Satisfactory, Dyson Sphere Program and "god-mode-based control schemes" where there is no player character, e.g. Age of Empires 4, Settlers 3, etc.

We should look at both mouse & keyboard based controls as well as controller controls. Stellar controller support could be a nice selling feature for our game, as it is usually an afterthought for this genre and not a great experience. With the Steam Deck, controller support for PC games has become even more important.

alice-i-cecile commented 1 year ago

Agreed, I think this is a great lens to look at a critical problem.

alice-i-cecile commented 1 year ago

Camera movement in traditional RTS

How mouse + camera interaction works in Civ 6 (thanks @wallamide)

How mouse interaction works in Civ 6 (thanks @wallamide)

Factorio: camera controls

bzm3r commented 1 year ago

Some reasons to prefer drag-to-pan over pan-when-cursor-at-screen-edge:

1) slow UX: in many RTS games where it is a control option, it ends up being a "noob-trap" compared to learning hotkeys to jump to important/recent events

2) UI unintentional side-effects (which can be annoying): if you are trying to interact with something close to the edge of your screen, you might instead trigger panning. Or, if you are in windowed mode, you might scroll to an edge that might trigger some sort of task-bar.

Note that Factorio does not have drag-to-pan or pan-at-edge. It has keyboard pan (WASD) through the concept of the player avatar.

3) In contrast drag-to-pan is intentional. While there might be some issues around clicking on things you don't mean to interact with, these can be designed out of by adding further modifiers to click-to-drag, rather than having it only be a LMB click to drag, make it a CTRL + LMB click to drag.

But note that one could (arguably profitably) choose to stick to keyboard-to-pan and not include drag-to-pan at all. However, users might expect drag-to-pan functionality to exist because it is something intuitive based on what they might have learned from other programs.

TimJentzsch commented 1 year ago
alice-i-cecile commented 1 year ago

Closing, as I don't think that this analysis is a useful enough use of time at this stage :)