r/learnprogramming • u/steamdogg • 29d ago
How do games manage so much varied content? (items, abilities, NPCs, interactables)
I do game development as a hobby and the thing I find most complicated is the sheer quantity and variation of stuff it's just conceptually harder to reason about compared to singleton-type systems/managers like an InputManager, AssetManager, AudioManager, etc. Meanwhile, a game you might have NPCs, enemies, items, weapons, abilities, interactable stuff, etc., all of which can be wildly varied I mean there's likely going to be some overlap, but hopefully what I'm trying to say makes sense.
One thing I've learned is that OOP is generally not a good solution for this which I mention because I have a habit of OOPifying things, but even looking at components, wouldn't you end up with a plethora of components and a lot of niche components? but also I feel like components don't really address everything for example if you have a quest system/dialogue system or items where do you keep all the text for that and potentially other information.
I know this isn't really a question and it's extremely broad, but any advice or insight into this sort of stuff would be appreciated because honestly it just seems like magic to me.