[help needed] Informative Inventory

#1
I would like to create a mod that modifies the inventory screen in such a way it makes it reminiscent of old horror games, along with giving it a more RPG feel by adding things like status effects and info on them.

Here's an example i threw up really quickly for an older thread. (yes i know the CO2 part makes no sense)
Image
Here's the text from the post:

Code: Select all

Here's a small mockup i did to give an idea of a possible GUI design.

This takes away the whole transparent-10-blocks-gui and makes it a whole new screen instead. This screen lets you see basic information about what has happened to you (nothing more than the average person could know), and implements a humanoid figure that represents 9341.

Different parts of 9341 will highlight in different colours depending on what has happened to him, for example, if he was shot in the leg, his leg will turn red, with a bullet decal being placed in the leg area. At first it will be a pale red and it will worsen as time passes/more hits are received.

Things like memetic effects can be represented too, by using a pale dark purple colour on the head, boosts in green, and diseases in yellow.

This GUI design also incorporates representing status effects, for example our Class D was shot a few minutes ago and had to go through a lockroom without a gas mask to escape the MTF, small squares will appear saying exactly what's wrong right now, bleeding (due to being shot), crippled (limping from the shot), coughing and low stamina (from staying too long in the gas), and quick blinking (due to staying in the gas.)

Also things like being able to read documents on the spot and equipping items is represented, equipping the radio on the left hand and keycard on the right would let you listen to whats going on while still being able to open keycard doors, or doing something like equipping a SCP-500 pill on the left hand would make 9341 be able to take the pill just by clicking the right click.

Healing must be done by dragging the first aid kid to an affected body part, after the process is done the red colour will slowly fade from the limb. (Depending if healing is succesful or not)

I can make a few more of these representing various situations like being hit by 106, being affected by a memetic effect, or having drunk a cup of life.
Of course, while i can do the artwork for various things i am aiming for in this, i have no knowledge in coding to use to wire it all up, so i'm requesting an experienced modder to help me out on how such things that i am aiming for with this can be done. (between what i guess would be the most complicated, would be making specific body parts highlight and do small fadein and outs, but part of this can be done, as said before, by using separate images to put in x or y position as an overlay to the part, pherpaps.)

Other things i'd like to aim for in such a mod:

- The inventory screen informing the player of his health status, not a specific bar, but simply a word somewhere. Pherpaps there could be a few more effects to be noticed from this, like a unstable camera when he's out of the inventory screen, red, bloodshot screen corners (like 008's effect), etc etc.
- The status effect icons appearing in the in-game view, in this way:

(The player takes damage that causes heavy bleeding, a small icon will appear somewhere on the screen and quickly fade out or zoom out + fade out of view.)

- Spreading 106 goo effect, if the player is hit by 106 or stands in a patch of 106goo he will receive the status effect "corroding", which makes the player slowly receive damage and slow down, along with messages appearing onscreen, the effects extend over time and the only way to take the goo off is by using cloths, bandages, or towels to clean it off. Or bathroom sinks.
- Item dropping mechanic changed, instead of dragging the item out of the inventory, it is changed with a trash bin icon (or a human figure running, with his hand throwing something away), if the player wants to drop an item away, he must drag the wanted item to this icon, once he gets out of the inventory screen, the items will be dropped.
- Yet to decide if i want to make this screen pause the game or not, in old horror games it used to pause the game (but not the music), a few rebalances would be needed with some items.
- Health kits work in the same loading bar way, making the player get out of the inventory screen instantly and leading to the usual healing action.
- Using any consumables (eyedrops for example) makes the player get out of the inventory screen.
- 513 being able to be used agaisn't the MTF (?)

I am also willing to write all the item descriptions and status effect descriptions.

EDIT: Oh, and this would be great too:
Omniary wrote:This also loosely has to do with the GUI but could you perhaps see to improving the computer screens, and making them somewhat interactable, like a mini menu? It'd be more interesting to be able to read and open multiple documents or emails on a computer.
sup

roger copy bravo tango mango

Re: [help needed] Informative Inventory

#2
Most of it is feasible. The person picture (reminiscent of Project Zomboid) would need to be "decompiled", so to speak. It'd need to be in pieces, so there's the regular person outline, let's say resolution 200x500, and each thing wrong with them (bleeding, unable to breathe, etc) is another 200x500 picture that is overlaid above the outline whenever that status happens. You could also hook in the icons to the same status-check code.

Furthermore, thanks to juanjpros code optimization with document displaying, it might be feasible to display the document on the top right as shown in your plan when the mouse hovers over the document. Additionally, if you were to hover over, say, the night vision goggles, it would display a 3D model where the document would usually be, and would again show the item information on the top-left like in your plan.

The two-handed bit would need a bit of thinking, so I'll omit that one for now.

As for the actual inventory, just shuffle it over to the corner.

I could do this, I enjoy doing the GUI stuff like the achievements menu. I am however busy until Tuesday. If you want to start:
  • Make 64x64 status icons for any statuses in-game, including Box of Horrors (red ice/crystal infection, 008 infection, 020 infestation, etc)
  • Decompile the person outline as I said, preferably make it as large as possible so it can be resized.
Everything else should be able to be handled by code.
SCP - Box of Horrors v0.8.0b
Twitter
Github Profile

Re: [help needed] Informative Inventory

#3
Maybe I'm just overestimating the number of status effects in this game, but I think it would be better to leave them as icons and display the descriptions on mouse-over.

That being said; unless you really need me for some fancy wrapper OO shenanigans, you'd probably get better results from Sam/juan (I swear Sam's a madman for writing GUIs so enthusiastically). I know I sound like a broken record by now, but they're much better than I am at graphical programming and writing procedural code in B3D.
M-x dingus-mode

Re: [help needed] Informative Inventory

#4
MonocleBios wrote:Maybe I'm just overestimating the number of status effects in this game, but I think it would be better to leave them as icons and display the descriptions on mouse-over.
I could easily edit function "AchievementTooltip()" in Achievements.bb to just be a catch-all for tooltips.
MonocleBios wrote:I know I sound like a broken record by now, but they're much better than I am at graphical programming and writing procedural code in B3D.
And juan's definitely better than I am :laugh:
SCP - Box of Horrors v0.8.0b
Twitter
Github Profile

Re: [help needed] Informative Inventory

#5
InnocentSam wrote:I could easily edit function "AchievementTooltip()" in Achievements.bb to just be a catch-all for tooltips.
Yea, I'll get to reading BOH's source eventually.... I've been getting too complacent with heavily documented programs lately.
And juan's definitely better than I am :laugh:
If anything, I'd assume his first language was procedural. The only time I can write 'efficient' procedural code is in C since I have complete control over memory management; otherwise I usually try to stay as OO as possible (mostly for school and future work purposes) with some exceptions to that in C++.

But yea, GUIs just aren't my thing, you could probably deduce that from the debugHUD that I have been so keen on further neglecting.
M-x dingus-mode

Re: [help needed] Informative Inventory

#10
Alright, i'm glad most of you agree on the idea and suggested ways it could be done.

First i'm going to write up all the necessary text for a mod like this, then do status effect icons, then draw the human-figure-related things.

Need a few opinions though, for the document descriptions, should it be just one for all the documents? ("a paper written by the SCP Foundation.") or a unique description for each one?

Also Sam, yeah, part of the human figure thing was based on Project Zomboid, along with the status effects. Wanted to combo it with old style hud like in old horror games.
Image
Can something like the small square with a display of what's happening ingame (like in the top left in the image above) be done?

Was also thinking that we could just fuse the whole pause menu + inventory into one.
sup

roger copy bravo tango mango