Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Personal Homestead" mod idea #628

Open
dennisjenkins75 opened this issue Mar 5, 2021 · 11 comments
Open

"Personal Homestead" mod idea #628

dennisjenkins75 opened this issue Mar 5, 2021 · 11 comments

Comments

@dennisjenkins75
Copy link

dennisjenkins75 commented Mar 5, 2021

As discussed in #main today, an idea was proposed that the spawn should have a "magic teleporter" that teleports the player to a random, unclaimed, area on the map. ideally, the player would get to choose a biome. This is one idea on how it would work:

  • A mod keeps a queue / cache of coords (near Y=0) and its biome in its data file.
  • If the count of areas runs low, the mod calls mapgen on a few random coords to repopulate it.
  • In the same cycle, the mod checks if any area protections are within some distance of the coords in its cache, and if so, removes those coords from the cache.
  • A special teleport node near spawn allows the user to select a biome and "whoosh", they teleport there.

Hedgehog mentioned that he is aware of another server with similar functionality (minus the biome selection) and he can contact the admin over there to let us know which mod / infrastructure they use to accomplish this.

@TechDudie
Copy link

I agree, this is a nice idea for randomized open areas.

@Klaranth
Copy link

Klaranth commented Mar 7, 2021

What would work best for Pandorabox? A command or a mod? According to the server owner, it is halfway between both ....

@dennisjenkins75
Copy link
Author

I am not an admin/owner of Pandora box, so this is just the opinion of a regular player.

No matter what, there will be a mod to implement the functionality. The question is, how would a player invoke it? A command "/new_home" (for example), or by interacting with an in-game node (punch it) (or both mechanisms).

IMHO, the most user-friendly was would to punch a node (that looks like a 3d earth), receive a formspec popup that lists a few biomes, maybe with a "difficulty level" listed next to each (eg, forest: easy, desert: medium, arctic: hard) and they click on which biome to teleport to.

In the background, the mod keeps a cache of suitable x,y,z coords for each biome. When the cache for any biome gets low, the mod randomly probes the world (forcing mapgen) to refill the cache.

Some of our players are a bit younger, and have difficulty with "/commands" that take lots of arguments, so I thought that a clickable UI would be best. However, that's likely a lot more work to code.

@S-S-X
Copy link
Member

S-S-X commented Mar 7, 2021

No matter what, there will be a mod to implement the functionality.

Depends if this is actually good idea in the end, I'm not exactly sure about that. Actually I have not really thought about it well enough but can see that it clearly is not silver bullet which is often the case.
Question is does it have more upsides and less downsides than current methods.

the most user-friendly was would to punch a node

Not exactly, that's tested method and most don't really understand it and those who punch probably do it by accident.
However, all other tested ways I know have about equal downsides in practice.
Probably only clear way would be formspec displayed when player joins server first time but that also has other downsides.

For punching your interface needs some way to make thing look like it should be punched, I don't think 3d earth is exactly like that.

Some of our players are a bit younger, and have difficulty with "/commands" that take lots of arguments

It also seems that those players do not want to go far from others, they want to play with other players and usually need direct help from other players. So, it might be that you do not want to send player away if he cannot solve simple puzzle.

@dennisjenkins75
Copy link
Author

I did not envisioning forcing new players to immediately warp to a random map location. The idea was in response to seeing many new players (myself included) asking "where can I go to be away from others to set up a my first base?"

The idea could also be terrible, or not worth the effort. I thought that I post it though, for debate.

As for the "3d earth shaped node" - that was just a thought. I assume that the node would have a sign near it that tells players what it is.

@Klaranth
Copy link

Klaranth commented Mar 8, 2021

As for the "3d earth shaped node" - that was just a thought. I assume that the node would have a sign near it that tells players what it is.

Then you will get players asking around what that node is for. IMO easier to have a command they can use, than a node to press. If a new player asks : "Where can I go to? they can be informed what to type.

@Klaranth
Copy link

Klaranth commented Mar 8, 2021

On second thought, a telemosaic to step on at Earth section of Spawn, that starts their teleport journey might be usable, too.

@dennisjenkins75
Copy link
Author

The hope was to reduce the amount of time that a seasoned player spends trying to get a new player to a new homestead.

"/spawn -> punch the $thingy" or "/newhome help" are both minimal responses.

btw, I've played Minetest for a year, but not on a public server, before starting on pandorabox. I had no idea what the black tiles w/ blue trim ("telemosaic") was when I first saw them. Why would a newbie know either? They are not common when playing singleplayer or just on a private server on a LAN.

@BuckarooBanzay
Copy link
Contributor

the idea is good.... but: with a system like this available for every new player this can get out of hands pretty fast.

For example: the auth-cleanup in #528 removed about 103'000 entries of players that just joined, looked around a few minutes and vanished without ever been seen again. (to be fair: those amounted from the 0.4.x times where those name123-like players still could join, but still..)
If all of those would be teleported to a remote spot of their own then we would have lots of newly generated map parts all over the place without anyone ever using them 😖

If someone would make a mod/mesecons-contraption for that just keep things like that in mind please 😉

@dennisjenkins75
Copy link
Author

dennisjenkins75 commented Mar 9, 2021

I think that you missed a critical part of the idea: The queue of coords to teleport people to would only REMOVE old coords if someone claims it with an area protection, so the queue would only find new areas if the existing ones got claimed. I assumed that periodic mapcleaner runs would still occur.

So assume that the mod randomly probes locations such that distance to origin (0,0,0) is > 8000, and stops after it finds 20 suitable locations for each biome. Some biomes will have more, some less. A fair number of probed places will be over water and immediately discarded, or under ground (also discarded). Lets assume that the mod then ends up probing 10x spots for each of the 20 biome samples, of which 95% result in mapgen creating at least one new block (so we'll round that to 100%).

Mapgen creates a 5x5x5 chunk of blocks, or 125 blocks. IDR how many biome types there are. Maybe we would omit some. Let's just say that there are 10 biome types that we'll allow, but since we don't know ahead of time which biome would be at any one point (or do we?) before we mapgen it, we'll end up probing all biome types anyway. IDR if they are equally distributed by surface area node frequency, but assume that they are, and that there are 20 biomes (this is all back of the envelope guesses anyway). So we'll have (5^3) * 20 * 20 * 10 total map blocks generated, or 500k map blocks.

That's actually a lot, but I don't know how it compares to your mapcleaner run (I need to go read that bug to find out). We could reduce the count of locations per biome to cache to compensate. Anyway..

Now a player uses the mod to find a new home, and they teleport to one of the coords. This coord is still in the queue, and other players could get teleported here too. However, once ANY player places a protection node here, the coord will be removed on the next processing cycle of the mod. During this cycle, the mod rechecks each coord that is in its cache, and removes any coords that are now covered by some sort of area protection. The mod then starts probing again to generate new spots.

Maybe the mod would probe very systematically instead of randomly. It could perform a rectangular or circular sweep, starting a some distance (R) from the origin, and keep track of the last node (or angle + distance) that it probed, and when it needs more coords, it resumes from where it left off.

Then other periodic maintenance would (in this order):

  1. Remove player accounts that have not been logged into in the past N months and have < some XP.
  2. Remove all "owned" nodes for players that no longer exist.
  3. Remove all map chunks not held in protection by an extant player.

Thoughts?

@SwissalpS
Copy link
Contributor

I have tried smth similar in the past. It was fun as long as there were only few players.
For pandorabox I do not see it or I would have suggested already :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants