Age Verification

Devlog & Updates

What's in an Inventory?

What's in an Inventory?

What’s in an inventory? No, that isn’t a philosophical question—though it definitely started to feel like one once I began building the system. Inventories tend to be deceptively complex, and taking inspiration from what’s widely considered a classic is no small feat.

The inventory system in One Man’s Poison is inspired by the original Resident Evil 4. It’s grid-based: each item consumes a set number of slots, and the player has to manage space carefully. That limitation adds a layer of strategy—what do you keep, what do you toss, and what do you make room for when things get ugly?

Inspiration

From the start, I knew I wanted to replicate the “Tetris-like” inventory feeling people associate with RE4. I also wanted the system to be flexible enough to support lots of item types—either via multiple item classes, or one item class robust enough to represent everything.

Here’s where the kicker came in.

During early tests, I got hung up on defining shapes: how many slots an item occupies, how to represent that footprint, and how to determine which slots are “covered” by the item. These were Tetris-shaped items… right?

Or were they?

(don’t get ahead of me if you already know where this is going)

RE4 Inventory Inventory system in the original Resident Evil 4

Nope. Not even close.

I had apparently been gaslighting myself into believing RE4 used Tetris-style polyomino shapes. (When I started this project, the RE4 remake wasn’t fresh in everyone’s minds, so I was working off memory and personal delusions apparently.)

That realization was huge, because it simplified the entire problem: RE4 items are basically rectangles. Once you accept that, the system only needs to care about rows and columns.

So instead of storing an arbitrary shape, each item can be defined by:

  • Root slot (top-left anchor)
  • Width (columns)
  • Height (rows)
  • Orientation (if rotation is allowed)

Then, to determine what’s in a slot, you check whether that slot belongs to the footprint of an item whose root slot + dimensions overlap it. Simple, predictable, and way less “why is this one L-shaped?” pain.

Implementation

The next big decision was how to represent the inventory itself. The attaché case—while a very direct nod to RE4—felt like a good match because it gives the player an in-world reason for needing to organize their items.

I don’t have a finished case design yet, but I found a solid placeholder to work with. The real trick wasn’t the grid logic—it was making the case feel 3D inside a 2D UI.

In the original RE4, the inventory was rendered in a special setup: the case and items existed in 3D, and the game essentially displayed them in a dedicated scene outside the main map.

Inventory RE4 behind-the-scenes A behind-the-scenes view of the inventory in Resident Evil 4

That approach is extremely cool… and also extremely “this is going to spiral into a lot of extra work.” (Plus: quaternions. Hard pass.)

Instead, One Man’s Poison uses Render Targets and Scene Capture actors in Unreal Engine to grab a live view of the case and display it as a texture inside the UI.

But there’s one more illusion to sell: the inventory slots need to look like they’re inside the case.

To do that, the case is captured in two layers:

  1. A back layer render (interior/background of the case)
  2. A front layer render (lid/foreground elements)

Then the UI stacks them like this:

Back Case Render → Inventory Slots UI → Front Case Render

Inventory widgets The inventory slots positioned “inside” the case in the UMG Widget editor

Right now, inventory items are still represented as simple images (UI icons). It would be possible to render items via Scene Capture as well, but that introduces performance concerns—render targets generally require spawning/positioning actors in the world, which would mean creating a lot of extra actors every time the inventory opens.

There are ways to optimize that (pooling, caching, pre-rendering, etc.), but for now the image-based approach is doing exactly what I need.

In-game, the inventory is opened with the I key (remappable), and items can be moved around via drag-and-drop. There’s currently a bug where dragging an item with just the right timing leaves behind a “ghost” duplicate—thankfully it isn’t real, can’t be interacted with, and disappears once the inventory closes.

Since it doesn’t enable item duplication (and this is single-player), I’m comfortable leaving it alone for the moment while I focus on the next steps.

Inventory opening in-game Inventory opening in-game

Next up: item usage and consumption, plus tying everything into the weapon and ammo systems.


Developed by CrimsonStrife Games
Designed by Patrick Barnhardt (CrimsonStrife)
Official site: ompgame.com

Stay tuned for behind-the-scenes dev updates, concept art reveals, and gameplay insights right here on the blog. The nightmare is just beginning…

About

News and Updates around the game One Man's Poison and its development.

Soundtrack
Paused Click to start (browser autoplay rules)