2
\$\begingroup\$

I'm wanting to make a text-based game, it'll be about managing families like the sims games.

I'm running into innumerable problems with such. One is how to make it turn-based. I know its technically possible to make a real-time text-based games (MUDs do it all the time), but I think that wouldn't work well here due to the sheer number of possible and elaborate commands. On a side note, I'm thinking I'm going to need a text parser for this to give you an idea.

Anyway, in sims-like games the characters have needs that perpetually decay. These have to be re-filled by using furniture items such as beds and fridges and whatnot. Problem is having something like turns last a second would create FAR too many turns for a single in-game day. I was thinking 15-minute turns would be better, though even that's a bit much. Yeah, its silly that it would take 15 minutes to use the toilet, but what can you do? Really the only reason I'm accepting that is because the characters will either be at work/school or sleeping for 2/3 of the day, so that's only at most about 30 commands you'd have to issue per character per in-game day.

The biggest problem really though is differentiating items. In sims games, items come in different tiers, with each restoring your needs at different rates proportional to how much they cost. With 15 minute turns though, it would seem strange for any items to take more than a turn or two to fully fill a need.

I sort of have the same problem with clothing. Yeah, they don't restore stats, but simply ignoring it didn't really feel quite right. The reason I'm bringing this up is that I solved this by having clothing serve different functions. They're distinguished by expense, which affects how easy it is to build relationship scores (higher normally being better of course). They can also be differentiated by function. Do you want to stay warm or cool? How do you want people to perceive this npc? This actually gives a surprising number of options.

With furniture though, the only thing I could think of is to improve environment score (basically, characters are happier the higher this score is, which is based on the items in the room, along with how clean it is). Skill-building items can be distinguished by their effectiveness, but what about items that just restore needs like chairs, stoves, beds, tubs, etc... What, do I need to make it so they have to take a shower for a full 2 hours if they buy the cheapest one? A really big problem is beds, since spending at least 6 or 7 hours in them should all restore your energy to full. Really, I don't recall that number actually mattering in the real game (I haven't been able to play the sims 2 in over 10 years now though, so I can't remember much of that game's mechanics).

How can I do this? Should I just go with the environment score thing? Should I make it so characters don't have a cap on their needs, so more expensive items can push them well above what cheaper items could? Or maybe just make it hard for characters to full max their needs using 'junk' items? Honestly, that could come in handy for certain things, but that could make it hard to play the game when all your characters can only get their needs up to half full.

I really don't know what to do...

edit: Thinking about things I could apply, maybe there is a few things. I could make objects break more often depending on how cheap they are. In light of that, I could also give items a finite lifespan, so they have to be replaced after a while. That could have the added benefit of fixing the issue these games have where there's not much else to do once you have everything. Items that require skills to use could have a cap to what they can do. In the Sims 2 for example, microwaves and toaster ovens could only cook a small portion of the available meals. If you had a high cooking skill, you needed a proper stove to get the most out of it. There's also skill-building items that I already mentioned. This doesn't help with everything though; what about things like chairs and countertops? Countertops in particular in the Sims 2 only really differed in their aesthetic and environment score. Chairs could have different comfort ratings I guess, maybe?

In line with that, I thought maybe it would be fine for some needs to take literal hours to re-fill. If you're 'fun' is bottomed out, maybe you do need to just spend the entire weekend goofing off to refill it before you have to go to work again Monday.

So this leaves me with items that either don't require a skill, don't build a skill, or recover a skill that shouldn't take long to re-fill. Everything else would only have to differ in environment score unless I implemented a breaking mechanic of some sort. Guess that would be fine for countertops and tables and other such things (though tables I guess could differ in how many people can sit at them, but if you can do that why then buy a table with seating for 8 when you can just buy two small tables with seating for 4 each?).

This is getting annoying...

\$\endgroup\$
2
  • \$\begingroup\$ Good work reframing the question as a how-to design question, but I think you could still tighten this further. The section on clothing and furniture doesn't directly relate to discretizing time / regen. If you want help with those aspects, you can post another question focused on them, informed by the answers you get to this question. \$\endgroup\$
    – DMGregory
    Oct 30, 2023 at 16:10
  • \$\begingroup\$ Honestly, this question is mostly about furniture. I wasn't sure how to exactly name it. I know the name is sorta misleading, but I couldn't think of a better one. \$\endgroup\$
    – user8600
    Oct 30, 2023 at 17:20

1 Answer 1

2
\$\begingroup\$

Maybe the best solution is to break the game down into actions, not turns. Whenever a character is not doing something, the clock would pause and wait for you to enter a command. Then time would pass based on the commands you entered.

For example, let's say your household consists of Joe and Sally. At noon, both of them are inactive. You tell Joe to take a shower; with the particular shower and accessories he has, this will take 30 minutes. However, Sally isn't active, so after giving Joe the "shower" command, the time remains at noon until you give Sally a command.

You tell Sally to check the mail, which takes 7 minutes. Since all members of the household are now busy, time advances forward 7 minutes. Now it's 12:07, Sally is done checking the mail, and Joe has 23 minutes left on his shower.

You tell Sally to make lunch, which will take 25 minutes. Then time advances 23 minutes until Joe is done with his shower; now it's 12:30, and Sally has 2 minutes left until she finishes cooking.

Meters would be updated as actions take place. Let's say that you have a smart speaker to play music in the bathroom. Then Joe would have accrued 30 minutes of entertainment while in the shower. At the same time, his food meter would have depleted by 30 minutes. Luckily, Sally's just about done with lunch, so he'll be able to eat soon.

You tell Joe to get dressed, which will take 5 minutes. The clock advances by 2 minutes, to 12:32, then pauses for you to give Sally a new command (since she just finished cooking). There isn't anything important she can do in the three minutes until Joe's ready, so you tell her to wait for 3 minutes. Now it's 12:35, both characters are ready, and you can tell them to eat lunch.

\$\endgroup\$
1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .