>>28848
One of the biggest hurdles for me is designing my classes. I keep getting caught up between thinking "I should just make these variables bytes and reduce the memory footprint, especially for saving/loading" and "it doesn't fucking matter, just use floats and references for everything, it doesn't matter how cute the storage is" and ultimately getting nothing done.
I want it to be "fairly realistic" but it won't go into the level of depth that DF does. Merchandising would be the biggest thing to be aware of. I want to have several different variants of the same product... So for example, you have one brand with apple, orange, and grape flavor snacks, you have another brand with only apple flavor, but it comes in small and large sizes. So then, you decide if you want to stock your shelves with a bunch of different flavors to hit the "likes orange" group of shoppers, or if you want to limit the flavor appeal but emphasize the bigger boxes (which sell less)
Shoppers would have a variety of preferences as well, such as favorite color, flavor, etc., as well as an race, ethnicity, and religion. All of these are factors that would affect whether they take a product from the shelf while walking past it. For example, if someone was shopping for school supplies and they saw an apple and an orange, and red is their favorite color, they might grab the apple if they are hungry enough. Likewise, if someone is food shopping and they are Jewish, they would never take non-kosher food. As part of the simulation, I can fake population demographics of the town you're in, so a scenario might be 90% Jewish shoppers, meaning some kinds of meat are completely no-go (but then other non-Jewish shoppers would complain about the lack of variety, so you'd have to balance merchandising, variety, profit, and meeting scenario objectives).
The shopper behavior would be pretty simple, too. They spawn with a loose objective like "weekly grocery shop" or "school supplies" and it would generate 3 or 5 or 7 items related to that category. If they can find everything, great. If not, they'll complain, but still buy some things unless you manage to really piss them off. The key here is that every time they enter a tile, they'll look at the products in an adjacent display, as described above. So even while they're wandering, you want to appeal to impulse to get them to put more things in their carts.
I haven't reached visual merchandising a lot yet, but high-traffic areas such as the modular endcaps on aisles, as well as the shelves at eye level would receive the most attention. Even at work, people can't fucking find things if they're on the top or bottom shelf because they didn't look there and walked right past it.
I have only some of this shit written down, so if you have more questions, I'd be happy to answer them so I can ramble on