Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
I stopped when I saw that the sims have a defined "pursuit" where they decide where they're going, and just go there no matter what. So now I just place things where they minimize travel time and maximize environment.
If being within a certain distance of certain games or items had a small chance of "attracting" the sims, making them change their pursuit goal while on route, then psychology could be rewarded. I know the slot machine games have different "attraction" scores, but I don't know if they cause the sims to change their minds about what they were already going to do, or just make it more likely that they will choose that activity in the first place.
I *think* i witnessed a sim change his mind after waiting in line for several hours for an elevator (thanks to a bug), but I may have accidentally clicked off of him and onto a different sim. The screenshot I took said he was on his way to the bar, but when I tried to follow him, he actually went to the bathroom instead, and then left the casino. If it was the same sim, then apparently they can change their minds.
A work around for the elevator bug that i do is find the elevator with the bottleneck. Then only have that one elevator go up 1 floor. for example the bottleneck is on floor G. what I do is only have the elevator go to floor 2 and delete all the other stops. Then leave all the others alone. 2 things happen. The bottleneck elevator moves between 2 floors quicker. Also all the guest who use different floors will use different elevators and it makes it seem like everything is balanced out
Right now, the agents use "heuristics" to decide what to do -- distance/location, current needs, what the agent believes the object will do to their needs (utility scoring with attenuated need deltas), waiting time, cost, etc -- are all factored in. There are some flaws here, and it needs improved further for sure; we're aware (and have read some white papers on, even stumbled on some patents, etc) that there is quite a bit of psychology & planning/strategy that goes into casino floor layouts, game placement, etc.
It's not perfectly simulated yet, but it should do a decent job at approximating it right now -- very similar to SimAirport. The AI runs continually, depending on the need levels of the agent, and the agent can/will change their mind often -- my "go-to example" (adapted from SA, but same concept applies -- they're opportunistic/emergent):
It is something we do want to improve though, and long-term I'd ideally like to see it be a relatively high level of simulated perfection (it won't ever be *perfect* but it can objectively be quite close to fully "memory/knowledge/spatial-awareness -driven" AI).
@walter_nyc -- Yeah, we definitely want to improve it. The agents should be similarly opportunistic, like they are in SimAirport, though because they generally don't have a "lifecycle goal/target" it means they are more prone to meandering and/or locking-on to a more distant target.
They do prefer things near them, as in SimAirport, but it lacks the lifecycle weighting aspect that (IMO at least) does a ton to really "tie together" the AI and provide a good, realistic, and opportunistic experience from the agent AI.
A long time ago we did explore and try some "wander and find things" style AI but we had mixed results (was years ago, and was specifically for SA) -- it's something that probably would make a lot more sense in SC, though. That said, I do wonder if simply attenuating distance much more aggressively would yield similar outcomes; really would have to try it to know for sure though; one thing we've definitely learned is that theorizing about the AI is one thing, and seeing how it actually behaves in practice is commonly quite another! =D
We'll do some research on the AI paradigm that Parkitect uses -- if you have any links or good reading on the topic, we'd love to get them from you. Theory often varies a lot from the implementation, especially with AI [and pathfinding, to an extent], but much of this stuff does begin with academic/white-papers & general theory first, then implementation. Any link to background of Parkitect's conceptual implementation, or white-papers on "simulated-memory AI", or even written info/observations on Parkitect's AI, etc -- anything you might have handy and that might be relevant, we're always up for learning & trying other ways to see how they perform.
Hope you're enjoying so far! Ty for the feedback and thank you in advance for any additional thoughts / ideas / links on the AI topic -- it's something we definitely want to continue to refine/improve. I'd like to see the agents be *super* "smart" [read: wholly logical & 'believable'], really. =D
I found that the elevator jam is partially caused by the staffers, the current setting only can assign staff only elevator but not guest only, so many staffs just compete with the guests.. to solve that i put an elevator inside the store room on the ground floor and placed the upper floor elevators inside a laundry room in each floor, it makes 99% staffs (I observed) to take the staff only elevator inside the store/laundry rooms (and it makes more sense and realistic). It helps to ease the jam but it still can't fix the problem of too many guests waiting for 1 particular elevator even I placed 6 elevators in the same area and leave the other 5 idle
Definitely enjoying it so far! And thanks for the detailed response. I have not read white papers on Parkitect, my experience comes from many hours of gameplay.
Another thing that I wonder if you guys gave some thought -or am I completely wrong here- is the computational power assigned to the sleeping guests. It seems that the simulation makes calculations on the sleeping guests with the same frequency than to those that are awake. It is cool to see how everybody seem to have problems to holding it and they go to the bathroom in the middle of the night (all the drinks at the bar !) But seems like an overkill when half the guests in a large casino are sleeping and with a total of 3000 guests the awake agents lag in their decision making (in my gaming laptop), many times in the same coordinates. I wonder if an algorithm that put the guests to sleep for a period depending on, for example, how tired they are and the quality of the bedding and then "wake" them up would be more efficient.