according to my calculations the digit at the start is ≈ 1300 * 100 (the entire scroll bar was 24 cm in total and the handle or whatever its called was 1.2 cm on my screen. every section was 65 times 100 and 24/1.2 = 20.... 65 * 20 = 1300) and that is the following number: 5942169568057011403095792883692661214545063638617044559201298818056420363412268531209438987336264838082068624310274252461877781777148413232577594529166601543475800187967365649388200600339354852289854909350188352728393724833906795141762821818915727695634207075742550358719548358002700671320135619591720585998152899410197943778212705792282234477865464416557994243763989768220269864257073917172010601058498587534322458407597764825565463121566252845203252770299250877400188571652119243476958675489271197707574847344324982589672873283793082396880458279866243397215416009640953166268226943403679395450018609221332638336615078510550954241511122201523828731961837611785158200221685703258309921390784150384326767816900933972296864187237402673008298497489971271667423416958774042468039185305916336190717684592608808341359492292530595773531075919510881989056843121076930757518058001105477077280752021703752945174428468821434007387916734267453964297460347128757728001737732639124800291267059470450507813540597366224474729749613162460997340429067794178595959425006135576178370893713689779116320139784861985669355786500119322895571862049754874682025574393444574698711998396672884897630500 (correct me if im wrong, i tried my best to explain it with my flawed english) also with handle i mean the thing you use to scroll from left to right idk man hope you understand
@AshRBX_dev6 ай бұрын
Hahahaha A for effort bro 😂
@xtremev136 ай бұрын
Not reading alldat.
@rato_yes6 ай бұрын
the real exam answer: me who answered 2 with no explanation whatsoever: Close enough
@AshRBX_dev6 ай бұрын
@@rato_yes 🤣🤣
@squigole6 ай бұрын
thats 6 x 10^10^3 or a 6 followed by 1000 0's
@ottoman.26 ай бұрын
i swear the best guide for roblox studio you just need to be little advanced to iderstand this btw welcome back
@AshRBX_dev6 ай бұрын
Appreciate it bro, definitely one of the more advanced tutorials on the channel but it’s definitely a valuable topic! Appreciate you watching 👍
@shadnatic3 ай бұрын
thanks ashrbx now I will be able to optimize 1 mb of memory to my game.
@gameroffire258722 сағат бұрын
I'm not sure if I will get a response, but I am trying to figure out how to save and load character unlocks and stuff. For example, you can purchase a character, and then whenever you join back into the game, it will still be unlocked. Also, you can purchase upgrades for every character, which also should save. Looking for answers for the game I'm working on.
@Charlie-mp1ch5 ай бұрын
Why do you have semicolons after your services? Specifically at 11:58
@AshRBX_dev5 ай бұрын
This is not something you need it is something syntactically that is accepted by the grammar that you do not need (force of habit from me 😅)
@tatilişte5 ай бұрын
Hello, I'm at 21:55 . Do i need to write cost of upgrade to saved? I have 5 things can be upgraded and price is increasing at every purchase. Can you answer pls?
@AshRBX_dev5 ай бұрын
Depends on how the cost increases, if the cost increases in a linear fashion, then you can store the starter cost only and use a linear function to get the value to the upgrade cost (eg default cost * level * 1.5) something like that, if you want random pricing for each upgrade, then you would assign an ID to each priced item and store it as a separate ID
@Marisol-Channel4 ай бұрын
Really don't use single-letter variables, they make it extreamly difficult to figure out what code does in the future and overall looks weird.
@AshRBX_dev4 ай бұрын
Appreciate the feedback, I should have not used them you’re correct on that will refrain from it in the future 👍👍
@sebcalvert65342 ай бұрын
I love your videos it's clear you put a lot of effort in to make it understandable and engaging - so thanks :) It's not really a programming suggestion but more of a suggestion for concept tutorials. I struggle with trying to think of elegant solutions for integrating multiple systems. For example if I were to create a CPR system, how I would make that work with a handcuff tool without bugs. Another example is if I wanted to have a movement system involving inertia synergise with a vaulting/ wall climbing system. I just have no idea what the best practice is to allow systems to work together. Another video suggestion is just coming up with game mechanics. I have lots of ideas but no idea of how to implement them. I'm sure you can think of games you have played where you have thought that their game mechanics are just brilliant and so creative. Do you have any methods or ideas on how to think of audience appropriate ways to bring a conceptual idea to life. An example of this could be if I wanted to create an in-depth yet easy to understand medic system. How could I allow 7 year olds to use it without it being too complex, whilst still challenging more adept players. Thanks for your time keep up the videos
@ropiano35086 ай бұрын
He's back with the exact stuff i was just struggling with!! Thanks alot man!
@AshRBX_dev6 ай бұрын
No problem appreciate you sticking around 🙏 glad I could help with this as there’s not a lot out there about it
@Fujui5 ай бұрын
Please go over general use of this pleeeeease
@scriptifyy6 ай бұрын
20:23 you don't really need that function since you could do #table which returns the number of indexes a table has..
@AshRBX_dev6 ай бұрын
I see where you’re coming from, however the system relies on the fact that you can delete indexes, which means that this count function is required as the # operator is only a sound operation on arrays 👍 I believe I explain it in a bit more detail after this timestamp if you’d like more reasoning, but appreciate the comment
@tatilişte5 ай бұрын
i got this error Module code did not return exactly one value - Server - Server:9 Stack Begin - Studio Script 'ServerScriptService.DataStore.Server', Line 9 - Studio - Server:9 Stack End - Studio
@AshRBX_dev5 ай бұрын
This error means that the module you are requiring on line 9 did not return only 1 table which is causing this error check the module you are requiring on line 9 in server and find all the return statements to make sure
@spoon11264 ай бұрын
what would you think is the best use for an inventory system with this method?
@khile55685 ай бұрын
Hi, Nothing seems to be saving. In my GetMemoryAddress function, when ID is equal to IDtoFind, returning the address and count, it returns multiple times. I think this may be something to do with it. I can provide more info if you could help!
@AshRBX_dev5 ай бұрын
The get memory address should only return once but will return 2 values as you say the count and the address. If it is returning 2 states I would say there’s an extra memory address call somewhere that may be causing it. If you join the discord server I may be able to look at your functions and help with a little more detail 👍
@khile55685 ай бұрын
@@AshRBX_dev will do, is it okay if i ping you for help?
@il1ekp1e46 ай бұрын
Although it's a powerful system, a more managable system would be to use tables, and then write all the table information into a buffer when saving (prefarably a function or something). Assuming I did not skip over anything, you did not write the length to the string so it will have more bytes then needed. I believe it would be more beneficial to just write the length using an unsigned 8 bit integer. It would be useful to keep it in a buffer state if you're managing large amounts of data though. Nice tutorial though
@AshRBX_dev6 ай бұрын
I do mention in the video that tables are definitely more readable, however which part are you referencing here? Are you talking about saving the cube string to the buffer? I do mention that when setting up the data sizes table, you should know what sizes your data will take and the system should probably not be used if you don’t know how large the data will be before running the game as the system relies on the data map having the correct sizes on compile time. There are definitely advantages and disadvantages of using both systems it’s just whatever fits your requirements is the more suitable in my opinion 👍 appreciate the analysis though
@ArrogantBuilder5 ай бұрын
hey Ash, remember your pirate game devlog? You said you'd make a buoyancy tutorial, could you please make it soon in the near future or tell me the script because I'm sure it's probably short, I've been trying for a while now and I can't figure it out.
@tikoko_6 ай бұрын
I am new to this channel and got sent the video by a friend. Great tutorial, I was able to understand everything well. But wouldnt it be easier to convert tables into buffers when saving? Because storing everything in a buffer might be complicated at some point. If I were to implement this, I would prefer dealing with tables, then doing conversions before saving.
@AshRBX_dev6 ай бұрын
This is definitely an option / alternative solution if you do not want to deal with buffers in your game. However, the reason we store everything in a buffer is so that we reduce the memory usage during runtime. This saves us from having to convert the buffer to a table and back each time and greatly reduces heap memory usage from the tables that would be saving the data if we were using that method. This can be greatly advantageous if you are using large amounts of data however if you are saving only a few attributes, then either solution is usually completely fine 👍 To answer your question, yes it would be easier to store into tables and convert, however it would take more memory to save and there are more advantages to buffers such as using less bandwidth than tables to send over the network and reading and writing to buffers will be faster. Hope this makes sense and glad you understand everything 👍👍
@tikoko_6 ай бұрын
@@AshRBX_dev Thanks for your reply. And keep on going. You are very underrated.
@engineser64704 ай бұрын
is it possible to transfer player data with this system to a new world? we have the situation that we have a game which has been published and some players already played and has their data there, so but now we have to transfer this world into a development group and there the world has to be published new, but what we do not know how to transfer the player data from the old world to the new publishing. is there a way to do this? or do we really have to this by hand each one of them
@Jaypiasco6 ай бұрын
my king !! welcome back!
@AshRBX_dev5 ай бұрын
Ayyy appreciate it thanks for coming back to watch 👍
@dizrods56095 ай бұрын
Hey im struggling a lot im trying to make a coins and kills also coins pick up but it wont save anything at all what can i do? pls help
@AshRBX_dev5 ай бұрын
First of all you need to check what sizes your data will max at and use that size in your datasizes table (for a test maybe set ID 1 to 4 bytes) so [1] = 4 in the datasizes table. Next you need to check how you’re writing the data. When you leave the game, you are going to want to use the writeData() function, you’re going to want to use the buffer.writef32 function and save your coins values. Finally you need to read the data in the join function. Once you have done this, you can finally set up the kills which to update your coins value you would just read the current kills value and then add 1 to that and save it to the buffer using the write data function
@mattemas26056 ай бұрын
Is it really worth it? Doesn't it make troubleshooting and data recovery/versioning harder? I mean, datastores allow you to read 4MB at once and write 1MB if i remember well, i never got any issues even when saving big dicts. The major problems of saving data is the trash round system of Roblox which rounds up floats to about its 10th cypher (as you can see at 51:37). The best compromise between performance and readability is to convert all the floating point numvers to save to integers and reconvert them to floating points once the player rejoins. Doing so you guarantee that a number like 10.23 is saved as 1023 and not as 10.29999999 and so on. Dicts are converted to strings once saved (JSON i think, not sure about it tho) and saving that whole lot of decimal cyphers increases a lot the byte size
@AshRBX_dev6 ай бұрын
The short answer here is that it depends on your scenario. What you say about balancing readability and performance is very important. You are correct when stating it would be more difficult to track byte data and recover lost data if you make changes to the wrong ID / byte allocation. However, this system becomes very useful in scenarios where you for example have to send very large frames of data over the network which i have had issues with whilst dealing with certain projects. Using buffers in these cases fix certain issues like this. However, If you are storing very small amounts of data and maximum performance is not for you, then using tables is no issue whatsoever and will most likely be the main use in datastores for a long time (until roblox either improves the buffer type or makes a new type that really acts like a byte array in java). Hope this helps explain some reasoning 👍
@krocker15986 ай бұрын
Using this type of data store to store higher values of the player data will result in setting it back to a small number
@AshRBX_dev6 ай бұрын
If you want to store higher values (say 1 million) you need to allocate the ID more bytes in the data sizes table for example saving a value like 1 million would need a 16 bit number so 4 bytes should be enough. Then when you go to write this data, you need to change the function in the write data function when you leave the game so for 4 bytes it would be buffer.writeu16 (or whatever function is in the table in the ReadFunction of the readwrite function module). This should store your larger data and if you need help with this be sure to join my discord and drop me a message 👍
@crazymisterfish96145 ай бұрын
i got a debugging problem whenever i launch it on local DM = {};
@AshRBX_dev5 ай бұрын
What kind of error? If you find out what error I can try help further 👍
@llebenlle_6 ай бұрын
Wow!! Tysm for explaining all this.
@llebenlle_6 ай бұрын
Also, what is the name of the background song?
@AshRBX_dev6 ай бұрын
No worries, I’m glad it could help! If you give me a timestamp for the song you want I can let you know, I use a couple of songs in the video!
@swordlegend32563 ай бұрын
buffers are amazing with then i reduced bandwidth in my td game by a huge amount. for 100 moving enemy's i get 1kb/s also according to my calculations with this system you coud save 160000 block changes in a infinite generating minecraft world also assuming you only save the changes that are made like block broken or placed instead of saving the entire chunk. for example instead of saving the chunk you coud sacrifice 1 of those blocks and save the seed and when player re-joins load the world from the seed and only change the blocks that were broken or placed.
@Jdbfjdbjej5 ай бұрын
i watched this video twice but i can't understand how to get the date to use in another script. Can you explain for me
@AshRBX_dev5 ай бұрын
Your datastore module script will contain all the data for every player in the game, to access the data from another script, you can require the datastore module script that we use as a “player class table” to access the buffer of the player. Then you can read the data using the data manager module
@dv.sv_g6 ай бұрын
Excellent video! However, I wondered this buffer method would still be effective if I use it with a ProfileService?
@AshRBX_dev6 ай бұрын
I will have a look at this, I definitely think this is possible and will post something in my discord server about it with an example on how to use so make sure to join that and I’ll get back to you on this 👍
@MagicalGames6 ай бұрын
Amazing video, not sure how I would save tables with this (like a data template thing from idk profile service) and like knowing the size but yeah.
@AshRBX_dev6 ай бұрын
Yeah this is definitely a system that would not be used along side profile service rather something that could replace it, each player will have a buffer which would act as the player “profile”. I would say if you wanted to save a table, when the player leaves, you can convert your table to this system by looping through all of the data in your table and saving each element. If you would like to try this I can help in more detail via my discord server 👍👍
@speedyg22956 ай бұрын
Lets lay you create a game with NPC that you have many times you visit him or them. And you get offered multiple choice questions. How do you recommend storying the data of the questions to minimize size of the game? Storing the questions in a table of them or just hard script each time visited. and create a counter basically this is visit 32 goto question 32. Not sure if that makes sense. But hopefully you see how the game size can get rather large with a lot of choices in the game which each answer can make a difference in the play.
@AshRBX_dev6 ай бұрын
If you are asking to choose between the 2 options suggested in your comment, definitely the table option rather than hard code. This will be more readable for yourself in the future if you need to add more questions if needed. The counter var is a good way to track the question you are on as you suggest as well. In terms of storing the questions in the buffer system for the video, you could allocate each question an ID with a further N Ids for the N answers to that question. These would have to be stored as strings which i cover in the video, however using the buffer method would be the most memory efficient way to store those strings (just not the most readable so if you're not 100% confident with it you can use tables) Hope this helps answer your question
@speedyg22956 ай бұрын
@@AshRBX_dev I was just thinking about the size problem. A multiple choice has about 4 choices. Plus you have the question. So take the this line times 5 with a thru d as choices. Thats pretty big. Think of lets say 100 questions and we will make levels to transport too. I was possibly thinking a table of correct answers and a table of incorrect answers. When the correct answer is selected it just gets removed from that table and put into the Answered table. For back up. Since we agree tables are the best way to go with this large endeavor. Would using your memory space allocator be the smart way to go. Because in saving the tables would have to be saved to keep track of the answered ones and the unanswered. Unless there was a way that Roblox could reach to a .csv file with that info that can be re-saved with the information. Starting to get confused with python sorry. Plus if you transport to a different Level would that mean that it has to bring the information from level 1 along with it becuase they have to be saved together. Wow think i bit off a big bite on this idea.
@DynoDeso6 ай бұрын
Haven't watched through it fully, but are you able to store tables?? Say I wanted to store all the items a player has: Weapons = { ['randomweaponsword'] = {level = 2, rarity = 'Legendary'} }
@AshRBX_dev6 ай бұрын
Yes, so in this system you could allocate a batch of IDs per weapon. This system discourages the use of storing large stings by replacing it with an ID system, so you’d store the level and rarity in the IDs 1 and 2 for example, but you could add a comment next to the data sizes table that tells you what ID relates to what sword. If you wanted to store the name, you could allocate an ID to the name and give it the size of the length of the name if you wanted. If you need help In practise with this idea, be sure to join my discord server and pop me a message and I’ll be sure to help out
@SadlekAski6 ай бұрын
Couldn't you always save tables in datastores?
@AshRBX_dev6 ай бұрын
@@SadlekAski You can, but the point of the system is that you save the data into a buffer rather than a table during runtime and into the datastore. As proved in the video, tables will take more memory in your database to store the data than buffers and when storing a large amount of data this can become an issue
@SadlekAski6 ай бұрын
@@AshRBX_dev oh
@scriptifyy6 ай бұрын
ahh yes finally a tutorial on buffers
@AshRBX_dev6 ай бұрын
Yes! I’ve not seen many tutorials on buffers and think they’re a very powerful data type
@jlboss_ps47515 ай бұрын
What should i try and do/make as a new scripter?
@AshRBX_dev5 ай бұрын
I would start with small projects like moving 3D objects, animating UI or making a simple round system or leaderboard 👍
@ArialSoftware6 ай бұрын
finally man thanks you for returning
@AshRBX_dev6 ай бұрын
No worries appreciate you sticking around 👍
@zzainz6 ай бұрын
hi there do you know how u can make it so if a player reaches a specific place for ex. i have a backrooms game and a player reaches level 2. how do i make it so that when they rejoin they spawn into level 2?
@ammrysir6 ай бұрын
Save and store latest player position based on checkpoint in datastore
@AshRBX_dev6 ай бұрын
All you'd need to do is write the level into the buffer as an 8 bit unsigned integer (if you have less than 256 levels), as @ammrysir says in his reply you can also store the position similarly to how I store the cube position in the video
@zzainz6 ай бұрын
@@AshRBX_dev oh thank you!
@Aggelosyea6 ай бұрын
uh so can somebody explain me if it is better and the difrences of it than datastore in a nutshell pls
@AshRBX_dev6 ай бұрын
Of course! The differences to using this method rather than the traditional tabular method is that the amount of bytes it will take to store the elements you need to store is significantly less. This system still uses datastores but instead of storing a large string or tables, it stores the byte data inside of the buffer which greatly optimises the database. There are some cases with this system that you probably should not use this system and use a table mixed with buffers to store your data which I explain in the video in the use cases section. Hope this helps explain it and if you have any more questions be sure to ask 👍
@ayaankothari95265 ай бұрын
@@AshRBX_devI’m a new dev, but does it really matter saving bytes using this method? This is a genuine question, if it’s worth saving bytes please state advantages of saving bytes using this method, does it cost money to store a lot of information using the traditional method? And is this method better? Please respond I’m a little late, btw great vid!
@anotherdeadchannel4 ай бұрын
@@ayaankothari9526 I think saving large amounts of data and trying to retreive it takes more time. Also, roblox has limits to how much you can POST
@alt_baconxd6 ай бұрын
You said tables in a local scope don't take up that much space in LuaHeap, but can you explain why that is or what LuaHeap is?
@alt_baconxd6 ай бұрын
it gets garbage collected after the func is done running?
@AshRBX_dev6 ай бұрын
Of course! So when a variable is stored it will take up memory in the luau heap memory, this is memory that is being used during runtime and when you store a table and keep it in the scope (the script is still running and you can access the variable at the point that the script is running) then it will take up heap memory. So when we create the tables in the system, I use tables in this case as when we assign the variable to the table, it will only be in the scope whilst we can reference that variable. Once the function ends, the local variable goes out of scope (we can’t access it from the point we are in the script) and will be garbage collected meaning that the memory will be freed up in the heap memory this is visualised by the memory categories section
@alt_baconxd6 ай бұрын
@@AshRBX_dev Thank You for writing such a detailed reply. Now I finally understand what Luau Heap and garbage collection is! 👍
@TQNY4 ай бұрын
Way over my head stuff lol ... and speaking fast didn't help either 🤣 I'll stick to the normal way for now - but good to know none the less.
@AshRBX_dev4 ай бұрын
🤣 apologies for the faster speaking, didn’t want the video to be 3 hrs long 💀
@vrfrenzy84515 ай бұрын
woah my head HURTS from this, I need it, but my brain cannot comprehend what's going on😭I'm pretty "advanced" on studio just not this advanced
@AshRBX_dev5 ай бұрын
If you wanna use it there’s an RBXL file in the description you can download without worrying about bugs 👍
@mirtlife77406 ай бұрын
please teach me how to save the date and leaderboards such as: Clicks, Rebirths, Gems. and so that when he took the reward from the chest, it was also saved in the same way as what the player had called for
@AshRBX_dev6 ай бұрын
If you need help with the sizes you should use for different data you want to save with the system, you can look in the description and view the text guide i created that goes through me saving data. If you need further help, be sure to join my discord linked in the description and ill be happy to help draft up something with you
@rorregalerg89326 ай бұрын
so glad to see you here, thanks to you i started to try programming paradigms for my games
@AshRBX_dev6 ай бұрын
That’s great! They become really beneficial not only for organisation of scripts but also for learning to solve problems in unique ways which will make you a better programmer 👍👍
@negazuotas5 ай бұрын
The system itself looks amazing, now i just need to know how do i connect the localscript on my screengui to gain the score. Im the beginner in roblox game making comunity and i hella lost rn XD
@AshRBX_dev5 ай бұрын
That’s great! To connect a local script, you would need to go from client to server then save the data into the server buffers. You can use a remote event to do this 👍
@Mootereo6 ай бұрын
THE GOAT IS BACK
@AshRBX_dev6 ай бұрын
YESSSS
@TheArcadeMonk9 күн бұрын
Fyi the official roblox style guide recommends against using semicolons
@AshRBX_dev4 күн бұрын
Apologies, this is true and should have been used, any future videos and uploaded code will use the recommended style and will be commented 👍
@TheArcadeMonk4 күн бұрын
@ No worries. Love your videos
@VectoorX6 ай бұрын
He's back!
@AshRBX_dev6 ай бұрын
Yes! Thanks for sticking around
@PurpleGuyBloxian5 ай бұрын
Could you add creative mode to your minecraft game?
@AxoltolGaming6 ай бұрын
yoo hes backk!!
@AshRBX_dev6 ай бұрын
Yesss thanks for sticking around whilst I left the channel to die 😭😂👍
@HarryLikesLambos6 ай бұрын
Where has the uploads been? and when is more making minecraft?
@AshRBX_dev6 ай бұрын
The Minecraft series has been in the works for this year over the last few months, will be uploading a video on this soon and there is a lot to go through 👍
@SamRoblox_6 ай бұрын
HE IS BACK!
@AshRBX_dev6 ай бұрын
He is officially back
@alessved5 ай бұрын
when are you gonna do a new minecraft in roblox video?
@AshRBX_dev5 ай бұрын
Once I’ve returned to my new flat, wifi has been out for 3 weeks now and will return at the end of the month to make more videos including this one first 👀
@alessved5 ай бұрын
@@AshRBX_dev yay ill wait for it
@MopBK5 ай бұрын
I spent 50 minutes watching this, now I have to watch it again so I can copy down the code. 😔
@MopBK5 ай бұрын
pls give a google doc where i can copy of the code uwu
@AshRBX_dev5 ай бұрын
@@MopBK There is an RBXL file in the description that you can download hopefully it works if not let me know
@MopBK5 ай бұрын
@@AshRBX_dev kk
@Collman_fff5 ай бұрын
what does --!native mean???
@AshRBX_dev5 ай бұрын
-!native is a new concept in Roblox studio that optimises some operations in the background, it’s will make some of the process in the micro profiler faster and I’ve been using it to test it out. You won’t have to add this into your program for it to work 👍
@errorhostnotfound11655 ай бұрын
is he going to continue the minecraft clone?
@AshRBX_dev5 ай бұрын
Yes! I have had a setback with the videos as I’ve been away from my new flat due to no internet, however I will make the video on the Minecraft devlog once I’m back (21st July)
@ROGERIOSAFADAO5 ай бұрын
it works but anytime can crash
@AshRBX_dev5 ай бұрын
Do you have an example of it crashing and where this might happen? From using this system I have not had this issue but if we find an issue like this I’d be happy to crash proof it 👍
@CheeseY4205 ай бұрын
I think AshRBX's brain is litterally a computer 💀 This is not just advanced stuff, I'd call this extremely advanced stuff...
@AshRBX_dev5 ай бұрын
🤣🤣
@notfrostfall3 ай бұрын
Don't do this. Buffers get encoded as base64 in JSON anyways, this will take **more** space than using a traditional data saving system. Binary data is efficient because each byte has 256 combinations in one character, but Roblox's datastore system can't actually store raw binary data, so they convert your binary data to base64. This means that if you have an 8-byte buffer, it'll get encoded into 12 characters- this counts towards MORE data usage. Not only that, but the way you're using buffers causes slower read/write times too- buffers are fast due to fastcalls and memory locality, this setup violates both! Buffers have very niche applications (primarily remote events) where they can be used, this is not one of them!
@Maskrade2 ай бұрын
even if they are stored as JSON, it is a benefit becusse we don't need to have names on keys. JSON sucks to save data because we rely on keys to know what everything is, with buffers, even if saved as a json and a base64 string, the serialization does not depend on keys, and they depend on the ordering of the data. to;dr: you're wrong, benefit is there, you just failed to see it.
@notfrostfall2 ай бұрын
@@Maskrade This is only the case if your keys are taking **over 2x** your data. Also you lose ease of editing w/ plugins too
@MaxWesterlund-yd3zt6 ай бұрын
Thanks for this, now I know how to optimize my worlds saving, its an open world with dynamic structures / resources so this will help a lot
@AshRBX_dev6 ай бұрын
This can be very effective for saving large worlds with a finite size, you can use loops to create the data sizes table and then save all the required world data using the write method and save it all whilst using much less memory 👍
@MaxWesterlund-yd3zt6 ай бұрын
@@AshRBX_devI think it might be most effective for saving / loading from DataStores. Might make some kind of library to make accessing and changing the values easily but normal tables / OOP should be good enough for runtime
@tiqosc18096 ай бұрын
Bro revived
@AshRBX_dev6 ай бұрын
yes finally 💀
@stevesantana17176 ай бұрын
🙏🏽❤️🔥
@AshRBX_dev6 ай бұрын
Thanks for coming back after a long while 😅
@stevesantana17176 ай бұрын
@@AshRBX_dev I've always been here.
@sadge64306 ай бұрын
das
@hi_16 ай бұрын
🐢:0
@AshRBX_dev6 ай бұрын
Appreciate you coming back after so long 😂🙏
@RykuoZ5 ай бұрын
can u do more of the pirate game devlog cus i needa know how u did buoyancy 🥲
@AshRBX_dev5 ай бұрын
Possibly, I might release the script on my discord at some point as I might not make a video on it