generic image
Processing...
  • Games
  • Catalog
  • Develop
  • Robux
  • Search in Players
  • Search in Games
  • Search in Catalog
  • Search in Groups
  • Search in Library
  • Log In
  • Sign Up
  • Games
  • Catalog
  • Develop
  • Robux
   
ROBLOX Forum » Game Creation and Development » Scripters
Home Search
 

Re: Place Compiler

Previous Thread :: Next Thread 
ENET is not online. ENET
Joined: 01 Jan 2010
Total Posts: 4820
21 Jan 2012 04:14 PM
I noticed all place compilers, including mine, compile the whole place, but they also don't account for parts that have their default properties. So I updated mine to check if the objects property is the default, and if its not then to compile that property. A produced script with thousands of lines was drastically reduced to a few lines using this method.

I just wanted to see what everyone thought about this. Now then, roblox why won't you do the same thing to your xml files!? It would make clients load places faster, and save data on our pc.
Report Abuse
jode6543 is not online. jode6543
Joined: 16 Jun 2009
Total Posts: 5363
21 Jan 2012 04:16 PM
Well, one problem I can foresee: what if they change the default value? What happens to the XML file? It breaks. :/

"Be nice to nerds. Chances are you'll end up working for one. -Bill Gates"
Report Abuse
JulienDethurens is not online. JulienDethurens
Joined: 11 Jun 2009
Total Posts: 11046
21 Jan 2012 04:30 PM
The admins have already explained why they save the default value.

It's because they might want to change the default value in the future.
Report Abuse
Legend26 is not online. Legend26
Joined: 08 Sep 2008
Total Posts: 10586
21 Jan 2012 04:52 PM
I made mine to work like this:

ClassName{Name,properties,...}{Children};
MapEnd<>

Where everything would be separated by a comma. True and false properties are shortened to t and f (See example below) and Vectors and CFrames and numbers are rounded to the nearest hundredth. Vectors and CFrames are enclosed in '<' and '>'. The names of the properties are omitted and the ordering is determined by a reference class.

Because of this format (used to minimize the size of it), if I suddenly dropped a property or two it would be impossible to tell what is what.

Example:

Part{Part,2,2,f,f,t,0,0,0.5,0.3,194,1,1,1,1,1,4,5,< 4,1.2,2 >,< 0,-0.617,0,1,0,0,0,1,0,0,0,1 >};MapEnd<>

Pretty short wouldn't you think? If more properties are added it does get confused though.
Report Abuse
ENET is not online. ENET
Joined: 01 Jan 2010
Total Posts: 4820
21 Jan 2012 08:35 PM
Mine just goes through a list of properties and checks each one if its a property of the class. Then it checks if its default. Then it converts it... Using string.format and what not.
Report Abuse
ENET is not online. ENET
Joined: 01 Jan 2010
Total Posts: 4820
21 Jan 2012 08:37 PM
Either way, I kinda like mine. It comes with a gui telling how much of a place is compiled so far. And then exports it into a script and then when said script is ran it tells you how much of a place has been loaded.
Report Abuse
ENET is not online. ENET
Joined: 01 Jan 2010
Total Posts: 4820
21 Jan 2012 08:39 PM
Well they could include a version in the file or a list of the default values used. :)

Ie if there was a default value used it stores that value in the file and says if the part has no value for that property to use that default value.
Report Abuse
Radioaktiivinen is not online. Radioaktiivinen
Joined: 25 Apr 2009
Total Posts: 18629
22 Jan 2012 09:45 AM
If i were roblox i would have a list of lets say, Appereances

Each part indexes this list to get their appereance. If all bricks have same color and so on, theres only 1 appereance in this list. It would only take more space if every brick was completely different which wont happen eva.

Also a similiar list for the surface types and another one for the surface parameters.

For cframe too, so that they dont have to round the cframe rotations ruining everything that isnt rotated in 90 degree steps.


Then, they would need to use das traveling salesman algorithm to sort the bricks, and define each bricks cframe or just position relative to the previous brick, so the values take less space since the distances will be shorter. (lolo overoptimization ftw)

Tho they probably currently sort the bricks by their parent so its in a tree so they need to give each instance an id and set the parent properties or possibly children properties (children takes more space but easier to make the file into workspace thingy)

After that theyre supposed to run 5 different compression algorithms on the file, check which one worked the best, mark the algorithm used at the start of the file and theyre done with compression.
Report Abuse
matchlighter is not online. matchlighter
Joined: 11 Jun 2008
Total Posts: 347
22 Jan 2012 04:26 PM
Roblox could just use gzip to compress their files. 11.7MB to 331KB. WOW!
Report Abuse
LocalChum is not online. LocalChum
Joined: 04 Mar 2011
Total Posts: 6906
22 Jan 2012 04:39 PM
@match

Or lzma, it does even better.
Report Abuse
Techboy6601 is not online. Techboy6601
Joined: 29 Jun 2009
Total Posts: 4914
22 Jan 2012 04:55 PM
@localchum
I once turned a 7GB ISO of Windows 7, zipped it, gzipped that, then finally used lzma.

Total size: 4.3MB

Now that's a comparison, right there.

~Techboy6601: The IDE guy~
Report Abuse
stravant is not online. stravant
Forum Moderator
Joined: 22 Oct 2007
Total Posts: 2893
22 Jan 2012 05:05 PM
@TechBoy
I don't believe that. That's 2000x compression, when even lossy formats for music will sometimes get only around 10x.
Report Abuse
1Ra is not online. 1Ra
Joined: 02 May 2010
Total Posts: 2400
22 Jan 2012 05:12 PM
if techboi's file was consistant of physical materials, it would be denser than a black hole.
Report Abuse
Bubby4j is not online. Bubby4j
Joined: 25 Dec 2008
Total Posts: 1831
22 Jan 2012 07:28 PM
If they did a proprietary file format for places they could really cut down on the size at least 50x.

They could use 1 character for up to 8 booleans in a object.

Anything would be better then the XML they use now.
Report Abuse
JulienDethurens is not online. JulienDethurens
Joined: 11 Jun 2009
Total Posts: 11046
22 Jan 2012 07:31 PM
@Bubby4j

Yeah. Except we couldn't edit the file in XML when we want to.
Report Abuse
ENET is not online. ENET
Joined: 01 Jan 2010
Total Posts: 4820
22 Jan 2012 07:31 PM
Yes I know. Something they really need to work on is the "You have lost connection to game"

I know I didn't lose connection, the waiting for character just took to long. Instead of saying you lost connection it should say would you like to try and reconnect. Also if it takes too long to retreive character it should give you a fake one until it loads the other.
Report Abuse
Previous Thread :: Next Thread 
Page 1 of 1
 
 
ROBLOX Forum » Game Creation and Development » Scripters
   
 
   
  • About Us
  • Jobs
  • Blog
  • Parents
  • Help
  • Terms
  • Privacy

©2017 Roblox Corporation. Roblox, the Roblox logo, Robux, Bloxy, and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.



Progress
Starting Roblox...
Connecting to Players...
R R

Roblox is now loading. Get ready to play!

R R

You're moments away from getting into the game!

Click here for help

Check Remember my choice and click Launch Application in the dialog box above to join games faster in the future!

Gameplay sponsored by:
Loading 0% - Starting game...
Get more with Builders Club! Join Builders Club
Choose Your Avatar
I have an account
generic image