TheGameCreators / GameGuruRepo

The GameGuru Repository For Community Collaboration
http://www.game-guru.com
137 stars 56 forks source link

MAX - Option(s) for limited inventory styles #4334

Open fearlesswee opened 1 year ago

fearlesswee commented 1 year ago

At the moment, the player's inventory is a grid of single-square items that can hold an infinite number of things. This of course might work for some peoples' game ideas, but has a number of limitations otherwise, particularly due to being infinite and not really having any kind of "management" aspect. (Ex: even if the inventory was limited to just that initial page/grid, you could hold say 50 medkits, or 50 rocket launchers, or 25 of each since they all take up the same exact inventory space, meaning there isn't really much thinking to it. A player has no reason to not pick up and carry every single tiny little thing they come across.)

It would be nice to not only have an out-of-the-box option for a "weight" system, where collectible items can have a specified "weight" value and the player has a limited carry weight (based on strength) for Fallout/Elder-Scrolls type games, but for more survival-horror type experiences, it would be better to have something along the lines of Resident Evil 4; where the player's inventory is a set grid (that can be expanded with upgrades), and items have varying sizes, meaning a player must move, rotate, and sort items to pack the space as efficiently as possible; almost making inventory management it's own sort of "minigame".

re4_inv

System Shock 2 is another example of a similar inventory style being used in a survival-horror setting, in particular this also shows how the expandability of the inventory is teased, with several grid squares being "greyed out" with a crossed-out icon, showing the player that they can upgrade/expand their inventory size in the future to fit more items. On the far right side of the inventory screen is the player's equipped armor, weapon, and upgrade slots.

ss2_inv

The easiest way I think such a feature could be implemented is by first having an option somewhere to specify "single inventory page" limiting the player's inventory to the physical confines of a single grid/page, and then in an object's "collectible" settings you can specify a "grid size" value, which is 1x1 by default, but could be specified as anything the developer desires; like 9x1, 2x2, 2x5, etc. When a player tries to pick up an item, it will automatically try to find room for it, but if there's no appropriately-sized space to fill, it will reject the pickup with a message the developer can define, such as "No space!" or "Inventory full!", or maybe even something that gives a hint like "Move items to make room!".

This approach means a developer can mix/match different elements to get their own inventory style; maybe they want a physically limited inventory, but everything still has a 1x1 size. Maybe they want a combination where it's limited with differently-sized items, but they also want a carrying weight limit ontop of it. Or they could go for a physically infinite inventory with a carry weight limit, but different-sized items just for the purpose of making particular items (like weapons) stand out and therefore be easier to find.

MonkeyFrogStudio commented 1 year ago

Yep. I'd opened a similar request (though not as detailed) some time back here:

https://github.com/TheGameCreators/GameGuruRepo/issues/4091

fearlesswee commented 1 year ago

Gah! I swear I search to make sure there's not a duplicate post and somehow miss it completely lol

At least like you said I'm a bit more detailed here so I am adding to the conversation at least đŸ˜‚

MonkeyFrogStudio commented 1 year ago

Hah! No worries. I find it difficult to find stuff here sometimes, myself. And, yeah, you add some good thoughts to the discussion. So, hopefully TGC will listen. :)

Lemuripest93 commented 1 year ago

I 100% back this all the way, the game i'm making is an immersive sim and i pretty much require this type of inventory system.

davetgc commented 1 year ago

I think this would be a good addition for the future, it might not make V1.