If you want me to knee jerk, I would probably eliminate most "decorative" crates from the game.
Crates are a video game trope we can live without, and I don't think they're at all required for believable environments.
Even if said environment is docks or warehouse?
Besides, as much as they are overused (though mostly in fps games) crates serve useful gameplay purposes:
- If movable they can be used to construct makeshift staircases or barricades.
- They can be used to break line of sight and facilitate stealth.
- If mechanics allows you can put stuff in them rather than just taking it out - stuff might be contraband or dead/unconscious bodies.
- If movable they can be dropped, thrown or used to weigh something down.
Besides looking for gameplay purposes of stuff is ass backwards approach when it comes to RPGs and leads to CYOA at best if applied.
You are lucky if you are able to tell if something cannot serve a purpose in your game (for example you probably don't need a shitting system), otherwise it's a "here is world, here is mechanics, here are goals" kind of affair.
So yeah, I would trim it down to just a couple container types that were always interactive, and they would generally contain things relevant to the intended experience of being a cool treasure hunter/adventurer.
Also only put in vents that do contain headcrabs.
The steps do indeed make perfect logical sense from premise to conclusion. The problem is that the conclusion, the design you end up with, is crap. It turns out that the initial premise isn't a great idea, because when implemented you get a cluttered game which sends the player boring or conflicting messages.
It only sends conflicting messages when you break the contract of your universe making sense.
For example if you face massive stack of barrels filled with pickled fucking fish, you can be reasonably assured that every single one of those contains pickled fucking fish and you shouldn't really inspect the contents of any single one of them unless you are specifically looking for pickled fucking fish.
It's only when the game randomly puts gauntlets of fucking awesome or greater wand of even greater fireballs in one of those barrels for no adequate reason (or any unconditionally worthwhile loot at all) where you start sifting through those barrel and mashing that button like well trained lever-rat.
Player should always have a plausible reason to expect that particular container will contain something valuable if they are to expect that. If one of you pickled fucking fish barrels actually contains those gauntlets of fucking awesome and aforementioned greater
wang wand of greater fireballs, it should be because someone put them inside there and it should be possible for player to actually find the information that this happened and which barrel it was before they roll up their sleeves and start pickled fucking fish barrel diving. Anything else is degenerate design only a rung above abysmal "wave your cursor over the entire screen for epic items" of Baldur's Gate.
Well. "Too predictable" for what? As the designer, it's my intention that when a player sees a container, they will want to get past any obstacles to reach it and get the loot inside.
Why?
It's only because they are conditioned that every container might have loot inside.
Why not let player *parse* their environment and make a decision whether or not it is reasonable to expect that container to contain phat lewt? Of course for that to work the environment needs to make sense rather than phat lewt being there just because lucky charm ability procced on one of the PCs.
Fucking dirty wirehead rats and their skinner boxes.
First, I've already established that boxes are easy to recognize and will almost always have good stuff in them. So this is very readable. My game will certainly have a lot of noninteractive items, but this runs the risk of a player seeing something they don't recognize and assuming it's decorative. If it's in a box, they know to click on it.
But you know, let me take that back. If the game is sufficiently de-cluttered, the player will naturally want to click on everything lying around that looks the slightest bit cool. OK, I changed my mind. A dagger lying loose on the table is fine.
Shit design is shit design is shit design. Let's declutter our games to the point where no parsing is needed on part of the player - everything is neatly tokenized and all you ever do is following the colorful pizza slice to phat lewt.
Maybe put giant, glowing exclamation marks over your boxes too just so that player won't accidentally miss them?
I'd also add invisible walls to prevent them from proceeding until they have clicked the box just to be on the safe side.