daydream reports: Would anyone consider daytime ... #4103
Labels
No Label
1. kind/balancing
1. kind/breaking
1. kind/bug
1. kind/construction
1. kind/documentation
1. kind/enhancement
1. kind/griefing
1. kind/invalid
1. kind/meme
1. kind/node limit
1. kind/other
1. kind/protocol
2. prio/controversial
2. prio/critical
2. prio/elevated
2. prio/good first issue
2. prio/interesting
2. prio/low
3. source/art
3. source/client
3. source/engine
3. source/ingame
3. source/integration
3. source/lag
3. source/license
3. source/mod upstream
3. source/unknown
3. source/website
4. step/approved
4. step/at work
4. step/blocked
4. step/discussion
4. step/help wanted
4. step/needs confirmation
4. step/partially fixed
4. step/question
4. step/ready to deploy
4. step/ready to QA test
4. step/want approval
5. result/cannot reproduce
5. result/duplicate
5. result/fixed
5. result/maybe
5. result/wontfix
ugh/petz
ugh/QA main
ugh/QA NOK
ugh/QA OK
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: your-land/bugtracker#4103
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
daydream reports a bug:
Player position:
Player look:
Player information:
Player meta:
Log identifier
Profiler save:
Status:
Teleport command:
Compass command:
Since the night in YL serves a purpose, I'm not too happy to change that. Especially since MT doesn't allow changing day/nighttime without actually changing ingame time. This would then affect NPCs and their schedules
it's easy to control the length of "a day", but i don't think there's any simple way to control the day/night ratio.
NPC shedules are overly optimistic I'm afraid. I wanted mine (in mg_villages) to go to bed at night and work at day, but...even in a singleplayer game the paths may get too long for them, and it's also expensive and complex.
In a multiplayer game, having NPC behaving considerably diffrent at night is a problem. It...makes the game more annoying than anything else I'm afraid.
I do like to learn from past experiences, but "has never been achieved in a non-annoying way" is not good enough to have me not at least try.
The plan is to use the async environment to calculate schedule, then only send "commands" to the NPCs what they should be doing right now.
too bad
minetest.find_path
isn't in the async environment... i wonder if there's a reason for that, or if it was just forgotten.EDIT: dur. it needs access to the map, which you can't get in the async environment. though you can pass in voxelmanip regions. i wonder how fast a pathing algorithm written in lua over such a region might be.
Let's move mobs discussion into your-land/administration#144
The trouble isn't the implementation and its efficiency alone. Imagine our airship NPC following a sleep cycle. The player wants to travel somewhere? Bad luck. NPC is asleep. Wait until day. While there certainly could be exceptions for some important NPC, it'll be even odder if those never go to sleep while others do. And even a less important NPC may have a job where the player needs it outside sleep mode. Having to wait for them to wake up is just annoying I'm afraid.
Sadly it's pretty useless for NPC anyway. minetest.find_path is good for most mobs but failes for those 2 nodes high ones. The path at feet level may be free - but at eye level obstacles block the path. There's at least one more suitable pathfinder implemented in lua. That is also useful for finding paths through doors. NPC have other needs.
Feel free to play around with my mob_world_interaction mod. mob_world_interaction.find_path(pos, endpos, entity, data) is an implementation of a pathfinder by burli. data has the structure similar to voxelmanip:
My plan was to use the pathfinder for anything inside the house (i.e. walking to bed or workplace) on the already stored data of the schematic of a spawned house in mg_villages.
While things change due to player interaction, they usually don't change every second. If a player doesn't deliberately or by accident blocks the path of an NPC, not that much will change in the NPC's world.
Very impressive pathfinding: https://www.youtube.com/watch?v=agVkNMBBvaI
Now imagine Voices' Scouts beeing that intelligent. Hm. Disturbing thought. Perhaps better not :-) But the standard grid-based pathfinders may not be the solution for NPC either.
pretty much all ships/submarines, and even IRL airships like the hindenburg, operate on shifts - you work 8 or 12 hours, then a fresh crew takes over.
i'm gonna have to play w/ this, particularly when i get back to working on a mob API and not what i got distracted by (balanced diet/more involved stamina)