I have been led to believe that the map save data and server communication depend on block ID's between 0 and 255, hence an 8bit data type. I am interested in what kind of performance we would get if this were changed to a 16bit data type. (With 16bit we could have 65536 block types straight up, and one could manipulate sub portions of the 16bits for even more possibilities. I have come up with a scheme that can represent rotation/specialized variation per block as well as block shape and material using just 16bits. The possibilities are astounding.) The only limiting factor I can see is that a 16bit datatype might cause too much cache thrashing to produce viable performance. Notch has already mentioned performance issues which he solved by breaking the world into the chunks we are all familiar with.
I think the only solution is for someone to just try it and see what kind of performance they get. I am not the one to do this. I have almost zero knowledge of Minecraft modding and where the datatypes would be defined. I imagine that the relevant information would be very pervasive however, ranging from texture lookups to packet sending, so this would be a HUGE mod. However, I think that the benefits could definitely outweigh the effort! Think about a level of complexity in materials and building options to rival Dwarf Fortress for one thing.
So yeah, someone should do this thing. Get excited about 65K block types, people!
P.S. While we're at it, how would worlds of height 256 instead of 128 perform?
Rollback Post to RevisionRollBack
Quote from Eylk »
Someone's a tad strong in their use of anti-feminine derogatory metaphors today.
Ah, I see. I didn't really understand how Notch had implemented that. Apparently he just decided arbitrarily that ID's 255+ would be used for items rather than placed blocks? I was envisioning the whole 16bits for placeable blocks - which would be amazing. So if I'm getting this right, we can define a block type of ID say 9999 and have it placed in our map data as long as the client knows how to handle that block?
Rollback Post to RevisionRollBack
Quote from Eylk »
Someone's a tad strong in their use of anti-feminine derogatory metaphors today.
I have been led to believe that the map save data and server communication depend on block ID's between 0 and 255, hence an 8bit data type. I am interested in what kind of performance we would get if this were changed to a 16bit data type. (With 16bit we could have 65536 block types straight up, and one could manipulate sub portions of the 16bits for even more possibilities. I have come up with a scheme that can represent rotation/specialized variation per block as well as block shape and material using just 16bits. The possibilities are astounding.) The only limiting factor I can see is that a 16bit datatype might cause too much cache thrashing to produce viable performance. Notch has already mentioned performance issues which he solved by breaking the world into the chunks we are all familiar with.
I think the only solution is for someone to just try it and see what kind of performance they get. I am not the one to do this. I have almost zero knowledge of Minecraft modding and where the datatypes would be defined. I imagine that the relevant information would be very pervasive however, ranging from texture lookups to packet sending, so this would be a HUGE mod. However, I think that the benefits could definitely outweigh the effort! Think about a level of complexity in materials and building options to rival Dwarf Fortress for one thing.
So yeah, someone should do this thing. Get excited about 65K block types, people!
P.S. While we're at it, how would worlds of height 256 instead of 128 perform?
I think the only solution is for someone to just try it and see what kind of performance they get. I am not the one to do this. I have almost zero knowledge of Minecraft modding and where the datatypes would be defined. I imagine that the relevant information would be very pervasive however, ranging from texture lookups to packet sending, so this would be a HUGE mod. However, I think that the benefits could definitely outweigh the effort! Think about a level of complexity in materials and building options to rival Dwarf Fortress for one thing.
So yeah, someone should do this thing. Get excited about 65K block types, people!
P.S. While we're at it, how would worlds of height 256 instead of 128 perform?
Example Block Information
["id"] = 4; // (Short)
["Damage"] = 0; // (Short)
["Count"] = 1; // (Byte)
["Slot"] = 1; // (Byte)
Now I just need some time to learn some modding.
Seeing how the ids already extend past 300, oopsies :smile.gif:
This is readily apparent.