Not everything lasts forever in its current state. Time and the environment are always playing their role. I suggest that items should change with time, which can have both good and bad effects depending on what the player is going for. For example: Alien Meat that is held onto too long will turn into Rotten Alien Meat (yuk!) Avesmingo Juice if left out will turn into Hard Avesmingo Cider (yum!) Hard Avesmingo Cider if left out will turn into Avesmingo Vinegar (potentially useful?) Boiling Water (water cooked in a campfire) turns into Warm Water which turns into Room-temperature Water Historically, spices were used not just for flavor, but also for their antiseptic properties that slowed down spoilage. The player should be able to add Ingredients to slow down or speed up the process. For example, salt (salt mining anyone??) can be added to raw meat to make it last longer, or fruits can be sugared (and dried) to prevent them from spoiling. In addition to added ingredients, the container should have an effect. For example, an airtight bottle might prevent/slow down the conversion of wine into vinegar. This brings up a technical question. How do you stack items that are at different stages of expiration? I propose that each stack gets one expiration timer, representing the average for that set. For example, let’s say an apple goes rotten in 4 hours and the current player has 50 apples, all at 1 hour into the 4. The player then picks up one fresh apple and adds it to his/her stack. All 51 apples should be set to the same expiration, i.e., (1 hour * 50 apples + 0 hours * 1 apple) / 51 apples => 0.98 hours into the 4 hours. This allows the entire stack to convert at the same time and without taking up a new slot, which would be a big problem if the player has a full inventory. It may seem like the player can cheat by continually adding new apples, but this is not the case. The player would have to add apples at an ever increasing rate as the stack size gets larger, to the point where it would be impossible to keep up. Intermediate conversions can help limit the sudden conversion of a large stack. For example, Alien Meat might turn into Old Alien Meat before it turns into Rotten Alien Meat. Once the Alien Meat becomes "old", fresh meat that is picked up will form a new stack. If the player's inventory is full because of the old meat, new meat cannot be picked up, similar to what already happens.
Seems to complex, but it is cool. I think this would work better in a hard/hardcore mode instead of normal.
As a developer myself, I doubt it's much harder than what's implemented for growing plants. Similar the the farming mechanic, it's an item that relies on a timer to trigger a change in state.
Well, if it was balanced and worked I think it would be a good idea. Then you might need to use certain items for storage, like using a fridge to keep foods instead of a chest.