ThreadBoard ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
Compact Action Field Format... (Wishlist)
Compact Action Field Format... // WishlistseracJan 23, 2000, 9:55am
I have been fighting the Building Inspector a lot lately. Mainly
because I am using lots of actions. Even after optimizing by using only the best objects, I still cannot do what I want. Since it may be too difficult to have AlphaWorld's data limit set, at least, to "Large", here is my proposed idea: Allow people to use a compact format for the action field. People who would not be familiar with the abbreviated form can still use the current format. However, for people needing to save every bit of data possible, this would be the solution: __Triggers__ __Abbr.__ | __Commands__ __Abbr.__ create c sound s (or o) bump b noise n (or z) :o) activate a url u adone d teleport t warp w visible v solid o (or l) name m (or n) sign g (or s) picture i color c animate a frame f astart r astop p (These abbreviations were picked for easiest memorization when each trigger/command is reduced to a single character. Behind several I have included an optional abbreviation. My initial thought was to use 'g' as it is unique to sign. However, sign is probably more used than sound, so sound becomes 'o' if sign is 's'. Solid would be changed to 'l' if sound uses 'o'. Another change would be to have 'n' for name. The only letter that made sense to use if 'n' is taken was 'z' for noise.) In addition to reducing the number of letters, spaces would also be removed. Commas and semi-colons could still be used as is. Flags-- yes/no, on/off, and true/false--would all be replaced with -/+. I have listed some examples of actions with their shortened forms: activate teleport 123.4n 5678.9e 0.2a 45 at123.4n5678.9e0.2a45 (saves 19 characters) NOTE: While harder to read, spaces are not really needed. create sign "Something" color=ffff00 cg"Something"ffff00- (saves 16 characters) NOTE: The - at the end means to use default "bcolor". create animate me dud 3 5 100 1 2 3 2 1 came dud 3 5 100 1 2 3 2 1 (saves 13 characters) NOTE: Unfortunately, spaces are still needed here. If you have any ideas on how to improve the animate command, post them to this list. create visible no;bump warp +0 +0 +1a cv-;bw+0+0+1a (saves 25 characters) NOTE: Semi-colon still separates triggers. create name something,visible no,solid no activate visible something on,solid something on cmsomething,v-,o- av+something,o+something (saves 48 characters all together) NOTE: Commas separates commands, and trigger is not needed for each additional command. Also, the [name] part of the visible/solid commands is listed after the -/+. Using the compact form, we saved 121 characters from all of the above actions. Now you would have room for more objects and even actions on the new objects. Consider this: You are turning many objects in one place to a single color, 123456. Note the savings on one object: create color 123456 cc123456 (saves 11 characters) That means two action fields, using the compact format, take up less space than one field using the normal format. If you had ten objects, you would normally use 190 characters for the actions. The shortened format would reduce the actions to only 80 characters. ........................................................................ Now I have checked the examples several times to prevent any confusion. However, I may have made a mistake somewhere. Remember, this is most likely *not* the implementation AWCom would use. Still, I hope these examples will give you an idea of what I mean by a compact format for action fields. ==== Aaron Hill (Redmond, Wash.) Electronic Mail: serac at lightmail.com IRC Nickname: serac (on EF-Net) ICQ UIN: 46803963 ActiveWorlds Citizenship: serac conceptJan 26, 2000, 12:09am
Serac about the thing with the worlds in AW? I think i might be able to
make something to make that pretty easy....... Telegrma me (concept) in aw and we can talk about it [View Quote] > I have been fighting the Building Inspector a lot lately. Mainly > because I am using lots of actions. Even after optimizing by using > only the best objects, I still cannot do what I want. Since it may > be too difficult to have AlphaWorld's data limit set, at least, to > "Large", here is my proposed idea: > > Allow people to use a compact format for the action field. People > who would not be familiar with the abbreviated form can still use > the current format. However, for people needing to save every bit > of data possible, this would be the solution: > > __Triggers__ __Abbr.__ | __Commands__ __Abbr.__ > create c sound s (or o) > bump b noise n (or z) :o) > activate a url u > adone d teleport t > warp w > visible v > solid o (or l) > name m (or n) > sign g (or s) > picture i > color c > animate a > frame f > astart r > astop p > > (These abbreviations were picked for easiest memorization when each > trigger/command is reduced to a single character. Behind several I > have included an optional abbreviation. My initial thought was to > use 'g' as it is unique to sign. However, sign is probably more > used than sound, so sound becomes 'o' if sign is 's'. Solid would > be changed to 'l' if sound uses 'o'. Another change would be to > have 'n' for name. The only letter that made sense to use if 'n' > is taken was 'z' for noise.) > > In addition to reducing the number of letters, spaces would also be > removed. Commas and semi-colons could still be used as is. Flags-- > yes/no, on/off, and true/false--would all be replaced with -/+. I > have listed some examples of actions with their shortened forms: > > activate teleport 123.4n 5678.9e 0.2a 45 > at123.4n5678.9e0.2a45 > (saves 19 characters) > NOTE: While harder to read, spaces are not really needed. > > create sign "Something" color=ffff00 > cg"Something"ffff00- > (saves 16 characters) > NOTE: The - at the end means to use default "bcolor". > > create animate me dud 3 5 100 1 2 3 2 1 > came dud 3 5 100 1 2 3 2 1 > (saves 13 characters) > NOTE: Unfortunately, spaces are still needed here. If you > have any ideas on how to improve the animate command, > post them to this list. > > create visible no;bump warp +0 +0 +1a > cv-;bw+0+0+1a > (saves 25 characters) > NOTE: Semi-colon still separates triggers. > > create name something,visible no,solid no > activate visible something on,solid something on > > cmsomething,v-,o- > av+something,o+something > (saves 48 characters all together) > NOTE: Commas separates commands, and trigger is not needed for > each additional command. Also, the [name] part of the > visible/solid commands is listed after the -/+. > > Using the compact form, we saved 121 characters from all of the above > actions. Now you would have room for more objects and even actions on > the new objects. Consider this: You are turning many objects in one > place to a single color, 123456. Note the savings on one object: > > create color 123456 > cc123456 > (saves 11 characters) > > That means two action fields, using the compact format, take up less > space than one field using the normal format. If you had ten objects, > you would normally use 190 characters for the actions. The shortened > format would reduce the actions to only 80 characters. > > ....................................................................... > > Now I have checked the examples several times to prevent any confusion. > However, I may have made a mistake somewhere. Remember, this is most > likely *not* the implementation AWCom would use. Still, I hope these > examples will give you an idea of what I mean by a compact format for > action fields. > > ==== > Aaron Hill (Redmond, Wash.) > Electronic Mail: serac at lightmail.com > IRC Nickname: serac (on EF-Net) > ICQ UIN: 46803963 > ActiveWorlds > Citizenship: serac recilsMar 1, 2000, 3:01am
I don't know what header format AW uses to send data of this nature, but
using abreviations might involve the need for longer headers to distinguish data. Also, the 'no spaces' idea is going to be very hard to implement. For instance, how does the browser know to interpret at100N50S as two distinct commands and then arguments instead of trying to interpret it as one command (the unabreviated substitute)? True it could look for an action with no spaces, but then what happens when someone decides to use a space after the first command and none after the second? It's a great idea, I'm just trying to shine light on some of the logistics. [View Quote] seracMar 1, 2000, 5:38am
I've worked with parsers before; and it should be easy for a parser to
figure out the compact form. In fact I could probably implement one. Yes, there are some problems with using an abbreviated form: mainly the learning curve. It is not easy to learn the compact form since you are working with single letters and not the words. However, whitespace is usually never needed. And with a few cases, I see no need for the extra whitespace in actions. Since I am completely bored... I think I *will* implement my compact form. Just as a proof-of-concept program; I'll write a program that accepts an action in the compact form and parses it displaying the results. Now where's my copy of flex and bison? :o) [View Quote] |