this post was submitted on 13 Mar 2025
157 points (94.4% liked)

Games

38046 readers
866 users here now

Welcome to the largest gaming community on Lemmy! Discussion for all kinds of games. Video games, tabletop games, card games etc.

Weekly Threads:

What Are You Playing?

The Weekly Discussion Topic

Rules:

  1. Submissions have to be related to games

  2. No bigotry or harassment, be civil

  3. No excessive self-promotion

  4. Stay on-topic; no memes, funny videos, giveaways, reposts, or low-effort posts

  5. Mark Spoilers and NSFW

  6. No linking to piracy

More information about the community rules can be found here and here.

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] allo 70 points 1 month ago* (last edited 1 month ago) (24 children)

"Now, I understand why so few companies have attempted to develop a life simulation game. The challenge isn't just additive the more you try to build—it's exponential. At a certain point, finding bugs in this vast world we've created feels like playing tag with invisible ghosts."

He's not bragging; it's honesty. I'm thankful he is sharing the experience. I know totally what he's talking about. I remember trying to make a simulation of reality in the wc3 map editor in elementary school. Add the weather so the plants grow. Tie growth variables also in to deer eating them. wolves eat the deer. So everything needs hunger variables. But already we start having the 'exponential growth' he is talking about: because what about the Weather and the Deer? And the Weather and Wolves? Add aspect of the world for one type of object (weather for plants), and suddenly you have to figure out how or whether it relates to everything else you have (Deer and Wolves). Now let's say we add villagers and Structures. Every time we add something, we have more nodes to consider the interrelations of.

It's easy when there are few systems and few types of things (like a cardgame of creatures with atk and def), but it escalates quick and does exactly what he's saying the more systems you try to accurately include and farther toward 'full life sim'.

So im just a noob, but I see clearly this is what he is conveying to us. (probably cuz i tried a similar path in elementary school. if i remember correctly i ran in to this same issue, scale was too big too big project and i switched to something else. it exponentialed quick; just like he says)

edit: i bet he wasnt brave as much as did not forsee the exponentialness aspect and wanting to aim high caused him to fall in to it

[–] [email protected] 19 points 1 month ago (4 children)

I've read from a few people who've done similar sorts of things that the solution to this problem is to just have everything track everything to begin with. Hunger level, heart rate, mood, everything you can possibly think of to track, and then just have everything else inherit from that global class. A lot of the values will be zero for some objects, but that's okay, after all a storage crate doesn't need a mood, both at some point in the future maybe you want to add an emotional box, and your code will definitely handle it now. Otherwise you have to go back in and alter everything every time you make a slight change.

[–] rhombus 12 points 1 month ago

A more complicated but ultimately faster approach is using a structure like an Entity Component System. You build an entity (deer, person, plant) out of components that are just data (health, hunger, mood), and then each type of component has a corresponding system that updates all the components at once based on other values. It’s somewhat similar, but you save space on unnecessary components not being added, and it packs the data together in way that is faster for the computer to iterate through.

load more comments (3 replies)
load more comments (22 replies)