Main Menu

News:

LINKS: Website | Steam | Wiki

Suggestions for Full Keyboard Mode - Swapping Items

Started by razorbladeetc62, January 07, 2025, 08:28:12 PM

Previous topic - Next topic

razorbladeetc62

Hello,

I am a new Cogmind player and have been playing in full keyboard mode. I have hundreds of hours in games like DCSS and Jupiter Hell and enjoy the speed and efficiency of playing entirely with a keyboard for decision-making.

After over 15 hours in Cogmind, I've found inventory management and swapping items (power, propulsion, utility, or weapon units) between the inventory and equipped slots somewhat frustrating with the keyboard. This has made it challenging to fully enjoy the game. I've searched to see if this issue has already been addressed but haven't found a solution, so I'd like to offer a few suggestions here.

Note: I am using DCSS as a reference below, but I do not mean to conflate its mechanics with those of Cogmind. I fully understand they are distinct games.


*** Example from DCSS ***
In DCSS, swapping a currently wielded weapon is straightforward:
- Press 'w' to open the inventory for weapons.
- Use the arrow keys or numpad to select the desired weapon.
- Press Enter to confirm the swap.
For armor, you press 'W' instead of 'w', and then the reamining steps are the same.
For rings (which have two slots), you press 'P', do the remaining steps and additionally specify the left or right slot with '<' or '>'.


*** Challenges in Cogmind ***
Currently, swapping items in Cogmind can feel cumbersome, as I have to identify the letter assigned to the equipped item I want to swap (e.g., for a weapon in slot 'G', press '/' then 'G'). As my build changes (e.g., after leveling up), the assigned letters for slots also change, requiring repeated effort to locate the correct item. This process interrupts the flow of gameplay TMO.


*** Suggestions for Improvement ***
To streamline this process, I suggest an optional system for swapping items, category-based selection: assign keys to item categories (e.g., 'q', 'w', 'e', 'r') a consistent numbering system (e.g., '1', '2', '3', ... or again 'q', 'w', 'e', ...) to each item in the category.

Swap Workflow Example:
If I want to swap my 3rd weapon, I press 'r' (the 4th category), then '3' to select the item.
This brings up a list of available weapons in my inventory, numbered the same way. The desired target is the fourth item, so I press '4' to choose the replacement.
This sequence - 'r', '3', '4' - avoids the need to check slot letters or inventory mappings repeatedly.

An additional suggestion is floor item integration. Treat the item on the floor as part of a "virtual inventory" accessible via a key (e.g., 'd' or another key). To swap a weapon with the one on the floor: press 'r' (the weapon category), then '3' (to select the 3rd weapon), and finally 'd'.
Alternatively, pressing 'd' first could toggle the floor item and automatically focus on the appropriate category.

Lastly, allow direct comparison between equipped items and the item on the floor, the latter being the target. I could select the item on the floor, and then one currently wielded to check the comparison, but not the other way around, but I often feel more important to give the focus on the item on the floor.


*** Final Notes ***
I'm not entirely sure if some of these features are already implemented or conflict with existing mechanics. If so, I apologize for any oversight. Regardless, I appreciate the incredible work that has gone into Cogmind over the years and understand that these are just suggestions from my perspective as a new player.

Thank you for considering my feedback, and I look forward to exploring more of the game!

Kyzrati

#1
Hi razorbladeetc62, welcome and thanks!

Yeah I'm quite familiar with the consistent lettering systems of other roguelikes, having played so many and generally using keyboard myself (by far the longest period playing DCSS!).

There's definitely an advantage there, for sure, although Cogmind is far more dynamic than most roguelikes in terms of item upgrading and slot changes... in general I feel the suggestions may not be able to handle having a growing or excessive number of slots? Or massive inventories? Like some builds have 20 slots of the same type... or nothing but utilities in their huge inventory :P (one build even loses slots)

It's nice to have a system that consistently handles all the dynamism.

As usual, if there is enough demand I'll more strongly consider such an optional approach (which I do find interesting and have considered similar options before!), though I think this is the first such request in over 10 years, and a sizeable chunk of Cogmind players use keyboard mode (myself among them, and many of the existing related features have come out of suggestions or frequent needs, to be sure!). It'd be quite a lot of work to implement in a satisfactory manner.

One area for better managing the existing system, if you haven't already (I'm guessing you have?), is to turn off autosorting. This will at least keep lettering consistent except between evolutions, when it will naturally shift somewhat.

Note that selective floor swapping is sort of possible now if you have a full inventory and there is no autoswap condition, by repeating the 'a' attach command, though this is different from absolute manual swapping regardless of conditions (i.e. even with empty slots) which requires going through your inventory. I don't have any plans to change this at present--the real inventory is your primary nexus for attaching/detaching parts, and required in a number of instances that could theoretically otherwise use dedicated methods. (I recall a few of Cogmind's best players in the past have actually tended to leave a small amount of free inventory space purely for rapid part manipulation!) That said, are you familiar with/do you use the 'p' menu, by any chance? That's another option that simplifies some operations for some people, though the same operations are available through other means as well.

For specifically ground-inventory swapping, on the other hand, if there is not suitable autoswap selection you will indeed need to drop a part(s) to make space first, which is unlikely to change. This actually has some important tactical implications.

Quote from: razorbladeetc62 on January 07, 2025, 08:28:12 PMLastly, allow direct comparison between equipped items and the item on the floor, the latter being the target. I could select the item on the floor, and then one currently wielded to check the comparison, but not the other way around, but I often feel more important to give the focus on the item on the floor.
This is solved by reverse comparisons, coming to Beta 15. There's a demo of this in action here. The main problem with doing it any other way is that often ground items are covered by other windows (not to mention you're in a different input context), so it's rather cumbersome to try to allow ground selection after having already picked another item. (It's technically possible with the mouse in visible areas of the map view, but that's not ideal and just a band-aid "because they can see it and it's relevant okay fine they can click on it" sort of thing :P)
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

razorbladeetc62

Thanks a lot for your prompt and detailed reply! I really appreciate the time and thought you've put into addressing my suggestions and providing insights into the design choices.

Quote from: Kyzrati on January 07, 2025, 09:07:33 PMThere's definitely an advantage there, for sure, although Cogmind is far more dynamic than most roguelikes in terms of item upgrading and slot changes... in general I feel the suggestions may not be able to handle having a growing or excessive number of slots? Or massive inventories? Like some builds have 20 slots of the same type... or nothing but utilities in their huge inventory :P (one build even loses slots)

It's nice to have a system that consistently handles all the dynamism.

As usual, if there is enough demand I'll more strongly consider such an optional approach (which I do find interesting and have considered similar options before!), though I think this is the first such request in over 10 years, and a sizeable chunk of Cogmind players use keyboard mode (myself among them, and many of the existing related features have come out of suggestions or frequent needs, to be sure!). It'd be quite a lot of work to implement in a satisfactory manner.

One area for better managing the existing system, if you haven't already (I'm guessing you have?), is to turn off autosorting. This will at least keep lettering consistent except between evolutions, when it will naturally shift somewhat.

Turning off autosorting is a good idea indeed, thanks for the suggestion!

Even if there are 20+ slots of the same type, I don't see it as a big design issue: once a category is selected, the full keyboard could be used to bijectively assign keys to slots, especially with autosorting turned off. In Jupiter Hell, I dedicate each slot ID to a specific kind of weapon depending on the context (even though I understand the slot count is much lower, typically three). For instance, in a fully ranged run, I would typically use 1 for pistols/auto, 2 for rifles, and 3 for shotguns/grenade launchers. In a melee build, I would typically use 1 and 2 for melee weapons, and 3 for a unique side weapon. This setup lets me switch weapons seamlessly, without needing to check my inventory.

For more extensive slot systems, the same concept could apply. Utility slots, for example, could be mapped to specific subtypes in the player's mind, e.g., 1 for storage-increasing utilities, 2–4 for armor, and so on. Similarly, I could assign a slot (e.g., 7) as the go-to slot for swapping a grenade launcher, ensuring that I always know which key to press (r, then 7, then select the grenade launcher in the inventory). Doing so, I would know 7 is the slot ID in which I would place a weapon that is will be replaced by a grenade launcher.

This consistency would also allow for mental shortcuts during gameplay, even with larger inventories or slot counts. Nevertheless, I fully understand that implementing such a system would be challenging and that it may not align with current priorities.

Quote from: Kyzrati on January 07, 2025, 09:07:33 PMNote that selective floor swapping is sort of possible now if you have a full inventory and there is no autoswap condition, by repeating the 'a' attach command.

Nice! I wasn't aware of this, very useful, thanks for pointing it out!

Quote from: Kyzrati on January 07, 2025, 09:07:33 PMThat said, are you familiar with/do you use the 'p' menu, by any chance? That's another option that simplifies some operations for some people, though the same operations are available through other means as well.

Yes, I am familiar with the p menu, but it doesn't fully address the need for consistent assignment.

Quote from: Kyzrati on January 07, 2025, 09:07:33 PMThis is solved by reverse comparisons, coming to Beta 15.

That's a fantastic addition!

Thanks again for the consideration, time and efforts.

Kyzrati

Quote from: razorbladeetc62 on January 07, 2025, 10:41:26 PMEven if there are 20+ slots of the same type, I don't see it as a big design issue
Yeah was just an initial reaction without actually going into design mode and thinking through the entirety of such a design, which could take a while on its own to analyze feasibility and all.

'p' menu was just an extra mention that's related to inventory management in case it might facilitate some interactions (different type of consecutive-key muscle memory), not meant to be a direct solution here, right. The other suggestions, however, will hopefully be rather helpful. Thought you might've already had autosorting off at this point, but anything not in the regular options menu does have that extra barrier to discovery. You'll find in the manual explanations for a wide range of advanced optional features, many of which are geared towards either customizing or especially streamlining play but that would otherwise confuse or distract newer players so they're off by default. As an experienced roguelike player I'm sure you'll find a lot to like among those!

We'll see what else happens, still lots more on my list and I'm always adding new QoL features for each version... right now more on a content streak now that Beta 15 QoL is done.
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

Kyzrati

Another feature which I feel compelled to mention even if you may already know about it (but probably wouldn't have been using yet, or realized it was usable due to default autosort behavior): letter rebinding. You can switch the slot placement of individual parts in keyboard mode as well (not just mouse mode via dragging), and this will pair nicely with a disabled autosort.
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon