Implemented correctly, they can be a great addition to SMP as well as SSP. Hopefully the respawn code will be intelligent enough not to place the player in the bed it there is lava or blocks around it, or any other type of hazard.
Implemented correctly, they can be a great addition to SMP as well as SSP. Hopefully the respawn code will be intelligent enough not to place the player in the bed it there is lava or blocks around it, or any other type of hazard.
Edit: Damnit! Screwed my 42 reference.
I'm not sure what you're suggesting here. You said that the respawn code should not "place the player in the bed [if] there [are] ... blocks around it." What does that mean? There will almost certainly be blocks around the bed, unless you build it in the middle of the sky (for the sake of this discussion, let's assume that air blocks do not count). If you mean blocks that will suffocate the player upon respawning, then that is a reasonable suggestion. I'm not sure what you mean by "lava around it," though. Would I be able to make and use a bed in a room with lava-lit floors, following your model? I'm assuming that the game will run a short simulation of the world, like it does each time you respawn, but if you're surrounded by walls of lava placed by a griefer, the game won't know that Steve is in danger. If this happened, you would literally have no way of escaping (even if breaking the bed did drop at least one placeable block, an intelligent griefer would destroy the blocks below the bed to allow the lava to flow underneath as well; this would mean that when the player destroyed the bed, he would plummet into the lava and whatever the bed would drop would also be destroyed). Perhaps if the player destroyed the bed on which he spawned, the respawning code would not allow him to spawn on lava and move him to a safe location. Even so, this would be a very effective way to grief someone.
Another thought just came to me: How do you think the developers will handle broken beds? For example, if I craft a bed, use it, set my spawn, then destroy it, will I still spawn where the bed was, at wherever my previously set spawn was, or at the original spawn that was made when the map was generated? I can see reasonable arguments for each of these possibilities; which do y'all think is the most compelling?
Also, two quick and relevant questions about the game mechanics:
Is it possible to "pull" an item through lava? Sometimes when you get close to an item, it gets pulled to you and joins your inventory, but if there's lava in between you and the block that's getting pulled, it will be destroyed before it reaches you, right? Also, does anyone know the exact distance at which you can pull an item?
Will the current spawn mechanics allow you to spawn in lava? If you spawned a fresh world, then used invedit to get a lava source block, and replaced the sand block on which you spawned with the lava source block, would you die almost immediately upon respawning?
The server I play on uses a mod that makes Nether portals work as point-to-point portals, kinda like the "fast travel" the Nether was designed for, without the Nether being there. I can hop in the portal at my place, end up in what we call the "Nexus" where everyone's home portal goes to, and then go to someone else's place through their portal. Very efficient, without the need of teleporting codes or whatever. Anyway, I've been told the mod only uses the actual portal in the game as a player reference point, and that the teleporting thing is actually done as a command or something regardless of whether the portal is there or not.
If that's the case, I would assume something similar would happen with a bed you use but then destroy, where the bed only sets the spawn point area, but it's not physically needed to be there after that point. It's just a handy player reference to be able to see. A marker kinda thing.
Otherwise, the only viable option I could think of would be the spawn goes back to either the last bed before that you slept in, or the original spawn point.
Edit/Addition:
About the player dying upon spawning, I thought I should mention this: I've seen it happen where if you build a house on your spawn point, you end up respawning on top of your house instead of where your original spawn was. So I've seen that the game already adapts to blocks affecting the spawn and adjusts to put you in an open area. One time I died while a spider was standing on my spawn point, so I ended up a few blocks to the side.
So I would assume that even if you did put something in the way of a spawn point, the game would move the spawning player over to a safe area anyway.
But that said, something will have to be changed to allow for roofs over the spawn by a few blocks (if it's not allowed already), because won't most beds end up in homes?
GoodOldGamer, from your post it seems like you would prefer that your spawn point not be affected by the destruction of a bed. Why do you think that this would be the best solution? I can think of one obvious argument that the spawn should then revert to the previous chosen point - this would allow really fast one-way transportation. For example, say that you have two main establishments that are some distance apart. Neither is near your original spawn point. You go to the first city, build a bed, and set your spawn point. Then you do the same at the second city. Whenever you decide to return to the first city, you only have to destroy your bed and die. Perhaps this is not the best way to travel, given that it has obvious limitations (one-way only; cannot carry items), but it seems best to give the option to the player. Also, it seems like the player should have a way of removing a set spawn rather than having to create a new one.
... something similar would happen with a bed you use but then destroy, where the bed only sets the spawn point area, but it's not physically needed to be there after that point. It's just a handy player reference to be able to see. A marker kinda thing.
Otherwise, the only viable option I could think of would be the spawn goes back to either the last bed before that you slept in, or the original spawn point.
Edit/Addition:
About the player dying upon spawning, I thought I should mention this: I've seen it happen where if you build a house on your spawn point, you end up respawning on top of your house instead of where your original spawn was. So I've seen that the game already adapts to blocks affecting the spawn and adjusts to put you in an open area. One time I died while a spider was standing on my spawn point, so I ended up a few blocks to the side.
So I would assume that even if you did put something in the way of a spawn point, the game would move the spawning player over to a safe area anyway...
Good point. I think it would use the safe area algorithm like the current spawn system, and if there are no places in the spawn area left, it'll just ask the player if they want to spawn outside of that area or at their original spawn point. Also, what I mean is this:
Conditions around the bed:
[] []
[] []
Where you spawn:
[] []
[] []
You get the picture.
= Bed
= head
= lower body
=some sort of opaque block
Edit:
Quote from lefrisbee »
GoodOldGamer, from your post it seems like you would prefer that your spawn point not be affected by the destruction of a bed. Why do you think that this would be the best solution? I can think of one obvious argument that the spawn should then revert to the previous chosen point - this would allow really fast one-way transportation. For example, say that you have two main establishments that are some distance apart. Neither is near your original spawn point. You go to the first city, build a bed, and set your spawn point. Then you do the same at the second city. Whenever you decide to return to the first city, you only have to destroy your bed and die. Perhaps this is not the best way to travel, given that it has obvious limitations (one-way only; cannot carry items), but it seems best to give the option to the player. Also, it seems like the player should have a way of removing a set spawn rather than having to create a new one.
Maybe. Seems a bit strange, but i guess it could work. Remember that you can change the spawn back to another bed by using it.
I just realized that the bed thing is sort of like falling asleep and dreaming that you woke up and then died. And when you died, you woke up for real...
For me, personally, it wouldn't be an issue either way. I really only see myself making a bed that I intend to keep there. If it'd ever be destroyed, it'd be by accident (say, by being flammable and my house being made of wood and a fire gets started by accident). At which point, I'd just make another bed to use anyway.
I'm more likely to wander around during the day exploring, set up camp and sleep in a bed, then wander around the next day, set up another camp, and so on. I'd personally use the beds as something of a means to essentially "generate a new world every MC day" without losing items, or the current world creations, or all that.
From the developer's side of things though, the easiest thing I would assume would be to use the beds as just the marker for the player. It'd be the action of going to sleep that sets the respawn point, kinda like a well hidden command line or something. Like a "Do you wish to sleep now? [Yes] [No]" pop up, that when you click yes, the spawn point is set. Then you wouldn't need any extra coding involving redirecting the spawn to other points or whatever. It'd just be a new spawn point, not any different than the original one you have without a bed.
I mean, think about it. If you could just destroy a bed and kill yourself to jump to a different bed, what's the point of the Nether? Minecarts and tracks? Roads? Pillars for markers of location? A compass? Etc.
I'm not saying that can't or won't happen. Just saying it'll probably be the action of sleeping that sets the spawn, not the bed itself being there. The bed would only be the way to access that spawn setting interface (the Yes or No sleep question). Much like you have to have a sign to write on it, if you want to think about it that way.
Good point. I think it would use the safe area algorithm like the current spawn system, and if there are no places in the spawn area left, it'll just ask the player if they want to spawn outside of that area or at their original spawn point. Also, what I mean is this:
Conditions around the bed:
[] []
[] []
Where you spawn:
[] []
[] []
You get the picture.
= Bed
= head
= lower body
=some sort of opaque block
How does the safe area algorithm work? Does anyone know the specifics? Would the following be considered unsafe?
Where is the bed, is the player, and is lava. You could simulate this for any amount of time, and the player would be unharmed unless he moved. My question is whether or not a griefer could create an inescapable spawn trap around someone's bed.
I mean, think about it. If you could just destroy a bed and kill yourself to jump to a different bed, what's the point of the Nether? Minecarts and tracks? Roads? Pillars for markers of location? A compass? Etc
Your post was full of insightful comments, but I wanted to discuss this point specifically. If I'm missing out by not responding to part of your post that you think might lead to good discussion, let me know and I'll respond to it thoroughly.
I pointed out in my last message why using spawn changing mechanics under one of my proposed systems wouldn't be ideal because it's a one-way transport. Also, if beds are "expensive" and do not yield either a bed item or the components upon being broken, this method would be a potential resource pit. Finally, it is impossible to use this method to transfer items.
Each of the methods that you mentioned allow you to carry items, and they are equally effective both ways. I don't think that "bed travel" would eliminate the need for any competing method of transportation; rather, I was explaining one possible ramification of the decision to require a bed to spawn in a point other than the natural spawn.
How does the safe area algorithm work? Does anyone know the specifics? Would the following be considered unsafe?
Where is the bed, is the player, and is lava. You could simulate this for any amount of time, and the player would be unharmed unless he moved. My question is whether or not a griefer could create an inescapable spawn trap around someone's bed.
that is my question, too. The way the SMP safe area spawn algorithm works, as far as I can tell, it will respawn players on the highest block in an area around a set co-ordinate. It only prevents players from spawning underground if it is close enough to the surface and from spawning inside blocks. Although the game could show the player the area with a camera or something and let them decide if they should spawn there.
Perhaps a timelapse can be run, or maybe the bed is made of somewhat rare materials and breaking it returns nothing. the timelapse could either be instances that happen rapidly while the screen is black, or perhaps it could go to third person of you sleeping in the bed and have a super duper hyper speed thing.
This is exactly what I was thinking! You snooze on the bed in sped-up 3rd person, and time goes by at say between 10x to 30x normal, and you fill a status bar, and the farther you go along the bar, the more you benefit from the sleep. You could start with something like refreshing a few hearts and finish with you setting your spawn point. To fill the whole thing would take about 30 seconds to a minute to fill, with the whole span of real time covered being about the length of the night.
SMP could just sit in a bed for 15 seconds and set your spawn, maybe give you 2-6 hearts if you haven't rested in a few minutes.
i dont know if i completley believe this. Notch mentioned a couple times on the live stream that he doesn't like doing things that cant be done in SMP. i think he even specifically said that he wouldn't really like the idea of time skipping because you cant do it in multiplayer.
i dont know if i completley believe this. Notch mentioned a couple times on the live stream that he doesn't like doing things that cant be done in SMP. i think he even specifically said that he wouldn't really like the idea of time skipping because you cant do it in multiplayer.
Im just kind of confused.
This. Notch is a very intelligent game designer, and he understands the importance of parity between single player and multi-player. There has already been some disparity caused by lack of foresight - one particularly bad example is the Nether. I see posts almost daily about users complaining that they cannot acquire Nether-only blocks in SMP. The effect that this has is that the player either feels like he is playing an incomplete game (which, in this case, would be true) or that he is being punished for playing a certain mode. Either way, the player will not be happy.
I absolutely agree with you that this is the biggest mystery behind the implementation of the bed. I'm really exciting to see what solution Notch finds, since I'm positive that he understands the aforementioned dangers.
i dont know if i completley believe this. Notch mentioned a couple times on the live stream that he doesn't like doing things that cant be done in SMP. i think he even specifically said that he wouldn't really like the idea of time skipping because you cant do it in multiplayer.
i dont know if i completley believe this. Notch mentioned a couple times on the live stream that he doesn't like doing things that cant be done in SMP. i think he even specifically said that he wouldn't really like the idea of time skipping because you cant do it in multiplayer.
Maybe I misread his post, but I think he meant more of the sense of: "You got the job?? I can't believe it!" I'm sure he knew that they really are coming. He's just pointing out a potential inconsistency in Notch's communication with us. But it can't hurt to repeat the sources, so thanks. :smile.gif:
Edit: Damnit! Screwed my 42 reference.
- Mistakes were made.
AdvHud Mod @Jetstream395
I'm not sure what you're suggesting here. You said that the respawn code should not "place the player in the bed [if] there [are] ... blocks around it." What does that mean? There will almost certainly be blocks around the bed, unless you build it in the middle of the sky (for the sake of this discussion, let's assume that air blocks do not count). If you mean blocks that will suffocate the player upon respawning, then that is a reasonable suggestion. I'm not sure what you mean by "lava around it," though. Would I be able to make and use a bed in a room with lava-lit floors, following your model? I'm assuming that the game will run a short simulation of the world, like it does each time you respawn, but if you're surrounded by walls of lava placed by a griefer, the game won't know that Steve is in danger. If this happened, you would literally have no way of escaping (even if breaking the bed did drop at least one placeable block, an intelligent griefer would destroy the blocks below the bed to allow the lava to flow underneath as well; this would mean that when the player destroyed the bed, he would plummet into the lava and whatever the bed would drop would also be destroyed). Perhaps if the player destroyed the bed on which he spawned, the respawning code would not allow him to spawn on lava and move him to a safe location. Even so, this would be a very effective way to grief someone.
Another thought just came to me: How do you think the developers will handle broken beds? For example, if I craft a bed, use it, set my spawn, then destroy it, will I still spawn where the bed was, at wherever my previously set spawn was, or at the original spawn that was made when the map was generated? I can see reasonable arguments for each of these possibilities; which do y'all think is the most compelling?
Is it possible to "pull" an item through lava? Sometimes when you get close to an item, it gets pulled to you and joins your inventory, but if there's lava in between you and the block that's getting pulled, it will be destroyed before it reaches you, right? Also, does anyone know the exact distance at which you can pull an item?
Will the current spawn mechanics allow you to spawn in lava? If you spawned a fresh world, then used invedit to get a lava source block, and replaced the sand block on which you spawned with the lava source block, would you die almost immediately upon respawning?
If that's the case, I would assume something similar would happen with a bed you use but then destroy, where the bed only sets the spawn point area, but it's not physically needed to be there after that point. It's just a handy player reference to be able to see. A marker kinda thing.
Otherwise, the only viable option I could think of would be the spawn goes back to either the last bed before that you slept in, or the original spawn point.
Edit/Addition:
About the player dying upon spawning, I thought I should mention this: I've seen it happen where if you build a house on your spawn point, you end up respawning on top of your house instead of where your original spawn was. So I've seen that the game already adapts to blocks affecting the spawn and adjusts to put you in an open area. One time I died while a spider was standing on my spawn point, so I ended up a few blocks to the side.
So I would assume that even if you did put something in the way of a spawn point, the game would move the spawning player over to a safe area anyway.
But that said, something will have to be changed to allow for roofs over the spawn by a few blocks (if it's not allowed already), because won't most beds end up in homes?
My humble LPs can be found here.
Good point. I think it would use the safe area algorithm like the current spawn system, and if there are no places in the spawn area left, it'll just ask the player if they want to spawn outside of that area or at their original spawn point. Also, what I mean is this:
Conditions around the bed:
[] []
[] []
Where you spawn:
[] []
[] []
You get the picture.
= Bed
= head
= lower body
=some sort of opaque block
Edit:
Maybe. Seems a bit strange, but i guess it could work. Remember that you can change the spawn back to another bed by using it.
I just realized that the bed thing is sort of like falling asleep and dreaming that you woke up and then died. And when you died, you woke up for real...
- Mistakes were made.
AdvHud Mod @Jetstream395
I'm more likely to wander around during the day exploring, set up camp and sleep in a bed, then wander around the next day, set up another camp, and so on. I'd personally use the beds as something of a means to essentially "generate a new world every MC day" without losing items, or the current world creations, or all that.
From the developer's side of things though, the easiest thing I would assume would be to use the beds as just the marker for the player. It'd be the action of going to sleep that sets the respawn point, kinda like a well hidden command line or something. Like a "Do you wish to sleep now? [Yes] [No]" pop up, that when you click yes, the spawn point is set. Then you wouldn't need any extra coding involving redirecting the spawn to other points or whatever. It'd just be a new spawn point, not any different than the original one you have without a bed.
I mean, think about it. If you could just destroy a bed and kill yourself to jump to a different bed, what's the point of the Nether? Minecarts and tracks? Roads? Pillars for markers of location? A compass? Etc.
I'm not saying that can't or won't happen. Just saying it'll probably be the action of sleeping that sets the spawn, not the bed itself being there. The bed would only be the way to access that spawn setting interface (the Yes or No sleep question). Much like you have to have a sign to write on it, if you want to think about it that way.
My humble LPs can be found here.
How does the safe area algorithm work? Does anyone know the specifics? Would the following be considered unsafe?
Where is the bed, is the player, and is lava. You could simulate this for any amount of time, and the player would be unharmed unless he moved. My question is whether or not a griefer could create an inescapable spawn trap around someone's bed.
Your post was full of insightful comments, but I wanted to discuss this point specifically. If I'm missing out by not responding to part of your post that you think might lead to good discussion, let me know and I'll respond to it thoroughly.
I pointed out in my last message why using spawn changing mechanics under one of my proposed systems wouldn't be ideal because it's a one-way transport. Also, if beds are "expensive" and do not yield either a bed item or the components upon being broken, this method would be a potential resource pit. Finally, it is impossible to use this method to transfer items.
Each of the methods that you mentioned allow you to carry items, and they are equally effective both ways. I don't think that "bed travel" would eliminate the need for any competing method of transportation; rather, I was explaining one possible ramification of the decision to require a bed to spawn in a point other than the natural spawn.
that is my question, too. The way the SMP safe area spawn algorithm works, as far as I can tell, it will respawn players on the highest block in an area around a set co-ordinate. It only prevents players from spawning underground if it is close enough to the surface and from spawning inside blocks. Although the game could show the player the area with a camera or something and let them decide if they should spawn there.
- Mistakes were made.
AdvHud Mod @Jetstream395
This is exactly what I was thinking! You snooze on the bed in sped-up 3rd person, and time goes by at say between 10x to 30x normal, and you fill a status bar, and the farther you go along the bar, the more you benefit from the sleep. You could start with something like refreshing a few hearts and finish with you setting your spawn point. To fill the whole thing would take about 30 seconds to a minute to fill, with the whole span of real time covered being about the length of the night.
SMP could just sit in a bed for 15 seconds and set your spawn, maybe give you 2-6 hearts if you haven't rested in a few minutes.
Im just kind of confused.
This. Notch is a very intelligent game designer, and he understands the importance of parity between single player and multi-player. There has already been some disparity caused by lack of foresight - one particularly bad example is the Nether. I see posts almost daily about users complaining that they cannot acquire Nether-only blocks in SMP. The effect that this has is that the player either feels like he is playing an incomplete game (which, in this case, would be true) or that he is being punished for playing a certain mode. Either way, the player will not be happy.
I absolutely agree with you that this is the biggest mystery behind the implementation of the bed. I'm really exciting to see what solution Notch finds, since I'm positive that he understands the aforementioned dangers.
Notch, on his Twitter, has stated beds are going to be released. ( http://twitter.com/#!/notch/status/39004032936837120 )
There's also a PC Gamer article. ( http://www.pcgamer.com/2011/02/18/minec ... hts-sleep/ )
Maybe I misread his post, but I think he meant more of the sense of: "You got the job?? I can't believe it!" I'm sure he knew that they really are coming. He's just pointing out a potential inconsistency in Notch's communication with us. But it can't hurt to repeat the sources, so thanks. :smile.gif:
If you look right above your post, you'll find several well-intentioned posts discussing the exact same idea. :smile.gif: