![]() ![]() Instead use a global lookup table for the entire database, with the name strings defined only one time in the entire database. Do not place node name strings inside each chunck of the database.Replace with minimal lighting info in the database and on-demand calculation of lighting by each client (or the server). Remove param1 data (lighting) from the database.However, it will basically require a NEW storage format. Reducing the amount of hard drive space involves a number of changes. Using something like lua lanes for the parallel threads would be my preference: (if the mapgen is LUA, that is)Ĩx as much hard drive space. Since I know for certain this can be done (I know how to write such a mapgen arleady), I will not go into the details. ⦁ utilizes all cores of a CPU in parallel ⦁ 100% determinstic (or close enough that it won't matter much) I have studied mapgens in great detail over the months and am almost certain that I could make a mapgen that is: The solution is rather easy: make the mapgen multithreaded. Of course, this does not solve many other issues, but it would keep networking usage closer to current levels under certain conditions. anytime a player digs or places an entire 1m cube, you could send one request instead of 8 separate ones. Since we have subdivided a 1m cube into 8 smaller cubes. As for the player sending data to the server, there is one simple technique that could help a little bit.The player receives it and decompresses the data in real-time.Before sending the group to a player, compress it in real-time using LZ4.Continue working with data on the server machine uncompressed in RAM.The goal here is that you want enough data that compression actually helps. Group 16x16x16 chuncks together into groups of maybe 8 or some other number.Instead of sending raw map chuncks to the players, compress the data on the fly using one of the many "real-time" compression libraries designed for high speed compression.Group block changes sent to the server (especially when a player digs or places an entire 1m cube.Use a compression algorithm specifically designed for "real-time" compression on servers to send compressed map data to players.I don't see a way to completely solve this, but there are a number of ways that might reduce networking traffic. up to 8x as much data transmitted to server when a player builds or digs.Smaller blocks sizes would be ideal, but I think maybe only half the current size is possible without major rewrites to some parts of minetest. The following is a proposal for block sizes that are half the current size (thus 8x more blocks). and also result in some really great things being built that are not currently possible. I do think this could bring in a number of more serious builders to the game as well. and to allow minetest to be used to make many things that are simply impossible with the current large block sizes. What I am proposing is that we "need" to make the block sizes smaller to make minetest have a much longer play value. (Although I think we will all admit that minetest can be enjoyed for much longer.) eventually you run out of things you can make/build with them and they become very boring very fast. However, they suffer from the same problem as Duplos. I like to compare minetest to Duplos it has the same type of oversized blocks. For this reason, they can be played with for many years. With them, you have many small blocks that you can build almost an infinite number of things. Think for a moment about another toy: Legos. However, if the minetest developers or a few competent programmers want to discuss and consider it, great! Sidenote: Don't bother asking me questions about it, as I won't be able to respond in the future. Maybe someone out there would be interested in it. Still I figured maybe it would be best to just post what I had so far instead of letting it get lost forever. However, I have kind of abandoned the project. I was hoping to get the interest of some irrlicht programmmers. A while back I worked on a proposal about how it might be possible to reduce the block sizes in minetest. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |