Map zooming once more! Though I completed off the remaining bits of the core map zooming function, that sequence went quiet once I turned my consideration to planning and preparation for the upscaled UI, basically as a result of my perception that after the latter is carried out, map zooming wouldn’t be as crucial within the first place.
However it will nonetheless little doubt be utilized by some, and extra urgently I additionally realized that it wouldn’t make sense to place out map zoom check builds with out together with the extra QoL required to make a zoomed view truly playable in a standard sense. Though I rightly assumed few present gamers are very fascinated with zooming, a few of them may a minimum of check it out, and for correct suggestions the QoL must be in place, in any other case any suggestions will basically quantity to “wants QoL” 😛
Good QoL is a make or break a part of map zooming, the place the true magic occurs, and I like me some QoL design, so let’s see what we are able to do to facilitate zoomed play!
Initially, not precisely stunning or superb, however one piece of the puzzle did out of the blue fall into place right here: scroll wheel zoom toggling. Again within the sprucing stage I coated the reasoning for utilizing strategies apart from the scroll wheel to zoom, however when placing collectively the QoL options I spotted that zooming out and in may typically be finished together with map panning, which amongst a number of different strategies will be achieved by holding Shift and shifting the mouse. Properly if you happen to’re panning with the Shift key held, utilizing the mouse wheel wouldn’t do something since that’s not a command but (Shift-Wheel), so we are able to conveniently assign it to zooming!
That’s low-hanging fruit, although. We’re going to wish rather more highly effective QoL…
Relative Centering
A typical theme all through map zooming QoL growth is enabling the participant to get details about, and react to, issues which are exterior the present map view. As defined in my article on the historical past and concept behind Cogmind’s interface and plans for different layouts, in a roguelike it’s essential to have quick access to information that impacts near-term decision-making, and by shrinking the map view to extend the scale of its content material we’re giving up a variety of that quick access!
We have to discover methods to retain it the place doable, or a minimum of create options.
Probably the most direct methods to perform that is to offset the participant’s place from the middle of the map. Usually Cogmind is proven on the middle of the view, permitting the participant to see equally in all instructions, however technically we are able to assume that what’s most vital whereas exploring the world is what’s in entrance of the participant in no matter normal path they’d wish to deal with. Thus one new optionally available function is the power to manually set a brand new relative centerpoint.
The above recording exhibits how setting such a degree is accompanied by a fading cardinal crosshair animation akin to the drone centering/following animation, however right here is gray as a substitute of inexperienced. This retains our visible theming constant for the thought of interface-controlled “centering.” Whereas a guide centerpoint is about, you may as well see the intermittent flash of the present centerpoint, which is optionally available and will be adjusted or disabled. Restoring the default centering is so simple as setting your present place because the centerpoint.
How do you set that time, anyway? Oh no, it’s time to go… again to the engine! (are you counting? that is the fifth time :P)
I made a decision for this function we’re lastly, after ten years, going to have RMB detection based mostly on releasing the button. Cogmind has at all times responded to mouse down occasions for enter, which I want because it’s that rather more responsive, however the distinction isn’t big, and by forgoing that method we acquire entry to a brand new realm of mouse enter: holding the button for a special impact!
Now this alone doesn’t require any further engine work, it’s only a totally different occasion we may at all times detect, however if you happen to’re going to have enter based mostly on holding a key you in all probability have to know the way lengthy it’s been held, and for that we’re going to wish extra engine performance. Paging the REX testing atmosphere!
RMB has at all times been one of many different strategies for panning the map in Cogmind, by simply right-clicking on some location exterior FOV, however now if you happen to maintain down the button for a bit longer (the default is 350ms, however it’s adjustable) it won’t solely pan the map over there but additionally set it as the brand new relative centerpoint, as seen within the demo.
So far as implementation goes, though somewhat harder to implement, it made extra sense to trigger the centering impact to happen instantly after a set time had handed, reasonably than merely ready for the participant to depress the mouse button after a minimal period of time, as a result of in any other case the participant has to guess whether or not they’ve held down the mouse lengthy sufficient to depend for one enter over one other.
Dynamic Centering
Pure keyboard customers want entry to this recentering idea as effectively, although not like with a mouse the place it’s pretty fast to pick a brand new ahead level to focus on, this isn’t so handy to do by way of keyboard… We’d like an automatic different!
By default at any time when zoomed in keyboard mode, easy common motion will routinely try to regulate the map view so {that a} extra helpful or pertinent space is seen always. Precisely how one can obtain it is a large query, nevertheless 🙂
I’m positive no single algorithm might be excellent for everybody, however I experimented with 5 totally different potentialities earlier than selecting a default. Most of those are included with the sport as optionally available options, and may also be utterly disabled or additional adjusted by specifying a most distance out to which they’re allowed to offset the view. A lot of them really feel fairly unusual at first, however with some precise play expertise I received increasingly used to the default as a useful function.
The conduct I truly selected for the default was a mix of the final two, progressively shifting the centerpoint with every transfer, and utilizing a second cross to strive to make sure that FOV edges are seen the place it’s doable to shift the view with out obscuring already-visible FOV cells. It is a fairly efficient approach to remedy the nook downside, or at any time when a big batch of recent cells turns into seen, for instance on passing via a door, or terrain destruction. It may possibly additionally even hold the FOV shifted backwards if the present path of motion doesn’t but actually include a lot to see.
As with the mouse, keyboard customers may manually designate a relative centerpoint. That is finished with the ‘s’ key in look at mode with the cursor over your required goal cell. Assigning a guide centerpoint deactivates the automation function till designating Cogmind’s personal place to reset it, at which level the automated system will once more take over. This function can be helpful for shortly recentering the map to reset the automated system, by merely urgent ‘x’ to enter look at mode adopted by an instantaneous ‘s’.
Whereas playtesting keyboard mode, zoomed in for nearly everything of play, I began to reasonably like the mixture of default autocentering sprinkled with occasional setting of a guide offset for sure conditions!
Discover that whereas in keyboard mode, the centerpoint spotlight is not shown–that’s a mouse-only factor as a result of it’s computerized, and in addition at instances fairly close to Cogmind’s personal place.
Internally, the automated centering function is carried out by merely adjusting the identical offset variable used for guide centering, simply doing it on the fly. In order that they’re the identical mechanism. Automating this conduct throughout mouse-based play doesn’t actually work as a result of you’ve to have the ability to click on on areas, together with most significantly your subsequent transfer vacation spot, however that’s arduous to drag off when every thing is shifting round in a semi-unpredictable method.
And even for keyboard mode, the automation conduct is solely utilized whereas the map is zoomed in, however it’s at all times being calculated and up to date whereas not zoomed, in order that zooming in once more can proceed to take the most recent navigation data under consideration.
After all I added new contextual tutorial content material for these options, together with Cogmind’s first tutorial messages that can finally repeat themselves if you happen to haven’t truly tried a given function but, as a result of these are fairly vital 🙂
Offscreen Object Data
Thus far now we have methods to attempt to hold vital objects in view, however when you’re zoomed in on solely 1 / 4 of the conventional map space it’s actually unimaginable to at all times see every thing you may have to see in each scenario. We’d like new indicators for vital objects exterior the present map view, particularly these that are nonetheless inside FOV (and possibly even assault vary!).
Whereas manually panning the map or designating a centerpoint to control a specific path is helpful, and briefly zooming out to get a normal concept of the environment is another choice, to avoid wasting time there are a number of recent markers that may seem on the edges of the map view to indicate objects in that path. You’ll see markers for offscreen hostiles, non-hostiles (each impartial and pleasant), new objects, and sensor knowledge. Every marker class makes use of its personal distinctive background coloration, and within the case of sensor knowledge can be darker and blinks out and in to mirror the truth that it isn’t a immediately seen object just like the others. Gadgets are solely marked till routinely labeled for the primary time after coming into view.
We’ve seen such map edge markers earlier than, for map intel (for instance recognized interactive machine areas) and in addition Cogmind or drones presently out of view. The latter seem a pair rows away from the map edge, so there aren’t any points with overlap, although intel would technically have the ability to overlap these markers, additionally being up in opposition to the view edge. I’ve up to date these to not solely reposition to keep away from any offscreen object markers, however in addition they keep away from masking seen robots presently on the edge.
Equally, the brand new offscreen object markers will even keep away from masking seen robots.
Offscreen Object Responses
Indicators are nice, however not fairly sufficient. In any case, what do you typically need to do when a brand new risk comes into view? A fast visible test! What precisely are they, what’s their standing, have they got firm, what’s the encompassing atmosphere like… These will be vital inquiries to reply earlier than making your subsequent choice, and by default Cogmind already pauses for a second in these conditions in an effort to let the participant have a second to take it in (and keep away from by chance losing precious turns), so why not additionally use that chance to routinely shift the view over to identify the risk?
This function is optionally available, however lively by default.
Discover that the shift leaves one area of padding to the sting reasonably than placing the hostile proper on the edge, which is more durable to see and there may additionally be different markers current, plus it’s good to know somewhat of what’s across the goal.
There are additionally a pair different vital threats that don’t contain direct sighting of enemies, however that almost all gamers would in all probability discover value routinely shifting to see for higher situational consciousness.
We are able to use this shifting conduct for extra than simply enemies, too!
Different Options
As a part of this replace I even added a totally new kind of indicator, one that may come in useful even when not zoomed in. Generally these pesky Operators spot you and instantly zip out of FOV, a lot much less out of view, on their approach to their Terminal. Not less than there’s a log message reflecting that truth, although it might not be apparent the place they have been on the time. Now will probably be.
Though accessible even whereas not zoomed, a brand new
I even have notes on much more QoL concepts for map zooming, in addition to methods to additional lengthen these new options, however this appears fairly ok for now and we’ll must see how extra playtesting pans out.
Shortly earlier than the primary testing construct went out I did my very own playtest run, making an attempt out each mouse and keyboard play whereas zoomed… it went effectively!
We’ve arrived on the finish of our five-part journey via the method of placing all this collectively: