Harry Busch
Registered User
Join date: 29 Jan 2003
Posts: 6
|
02-06-2003 09:37
First off let me state that for the most part, I am not an ignorant smack tard that only knows that a faster computer is better. With this is mind, I would like to say that the grahiphical engine behind this game has room for some vast improvements in speed. I admit that my experiences are not with online real-time dynamically creatable environments, but I can offer some insights into how static envionment rendering performance can be improved. I don't know of an exact way to 'show' you my recommendations, so I'll try my best to describe them to you.
When building very complex objects within SecondLife, it is necessary to make many basic 3D solids with which to comprise your object. In areas such as stores, I would easily say that thousands of these objects are within rendering view of the client and it provides a noticable strain on the hardware in these areas. This is why I propose a 'melt' tool to help object designers lower some of the strain in object heavy areas. The tool would allow an object creator to select a basic solid as a 'welding tool' of sorts that would allow multiple solids to be joined as a single unit (not linking).
From my experience, this tool would most likely come in handy when building complex, multipart objects like houses or cars. My methods for building a very basic house are as described follows. Four thin rectangular solids (walls) and a sqaure based pyramidal solid(roof). Exactly lining up these five shapes to fit perfectly is not always an easy task, manipulating camera angles and x,y,z and whatnot. At this point, the house uses 37 vertices (8 per rectangular solid wall x 4 walls + 5 per square based pyramid) as well as (hopefully) two textures, roof and wall,(simply referenced per 2d plane) present. This places a (minor, at this point) burden on the engine by having to render the 37 vertices, 2 textures and in between the small gaps that are present in the house. With the melt feature, a user could select a rectangular solid shape as their 'melting tool'. Then they would use it in (variable) proximity to the small gaps present where the walls meet at interesection. The tool would use the variable proximity to look for vertices on objects that of similar position on the x,y,z plane and stretch or 'melt' the vertices to make a single solid object, much like if you were welding. I cannot think of a better way to describe this process, but the result would be now a reduction in vertices, after using it on all four corners and on the roof (now down to 17), and on the rendering by not having to worry about the tiny gaps that allow a person to see 'through' more than they really are supposed to. I realize this only seems like a small gain, but in heavily populated object areas, I believe this could release a lot of strain on the clients system.
As far as I know this next feature has not been implemented, but I would like to see it. 2d Sprites. No longer should there be a need to make a 3D shaped poster object and apply your poster texture to it. There should simply be a way to import a '2d' only picture and plaster it to you wall, and still be able to leave your wall texture in place. (Please correct me if there is a way to do this, I am a newb after all) This 'plaster' process could also apply to 3d objects, the ability to apply or build them flush to a surface, without selecting the object you are mounting it to and automatically going into the object menu, or adjusting x,y,z after its been built. (I'm lazy I know, but this would be handy nonetheless.) This could make building wall mouned lights and ceiling fans easier to build by building them flush with the wall/ceiling from the start.
My 2 cents to the suggestion about 'fog' reducing hardware usage for trying to look long distances, I say forget it. Nothing ruins a game worse for me than to see 'fog' everywhere I go. Thats so rediculous and completely nonsensical. Maybe more time should be taken to think about the in game view of the SecondLife World, an the developers should think of ways to limit the view distance other than this 'mystery fog'.
My final requests: 1. Weather (clouds, rain, snow..) 2. Some kind of support for building offline objects (in game, or 3rd party software...whatever it takes.) 3. Better support for non-2d clothing (armor, hats, back packs, ammo belt...etc.) by being able to attach object via inventory menu. This way you dont have to throw it down then 'Acquire, Attach' 4. A total scripting reference for all allowed scripting actions and constants. (Yet to find one, probably exists though) 5. Ability to manufacture custom movements or gestures. This is something I'd REALLY like to see. Joint control, record movement etc. 6. Different single object texture per 2d plane. Linked objects have this ability, but single solids do not. 7. Liquids property on solids. (I.E. lakes, lava, waterfalls...) 8. Ability to attach fixed vertices on solids. This will make them easier to manipulate, make hinges etc. (Again a addition for the lazy) 9. Assigning objects weight, independant of physics flag. This way I can make a rock that no one can move, or something of that sort. 10. Ability for an objects flags to indicate whether it is breakable. 11. Ability to throw objects (great in conjunction with #10) basketball games, etc.
Please, if any of these are already in place or exist, please just let me know. I am not very experienced with SecondLife, and this is totally from what I've been able to observe in the last few weeks. Thanks.
|
Nicole Miller
Pixel Pervert
Join date: 10 Jan 2003
Posts: 185
|
02-06-2003 11:23
I spoke with Peter Linden briefly about geometry and rendering. While you aren't a smack tard (heheheheheeheheehe, regaining composure now) you gotta know that there is a big difference between OpenGL and DirectX. They are using OpenGL which lets them draw the primitives faster because it combines them into an index list that the card and just throw on the screen with minimal processing. Primitives are already OpenGL objects so they don't have to add a lot of bloat code to the rendering library (which allows them to focus on the other things on your feature list.) I am sure that now that they are seeing the kind of load we're putting on the game, lots of optimizing will be done, because eveyone knows that throwing hardware at it is just treating the symptoms and not the problem. I agree that it would be cool to have a few more lazy-people-friendly features for movement and animation. I think there are some more people around here who might be able to help you with your scripting.
_____________________
Asphalt is a great word because it is descriptive and it lays blame.
|
Datura Fairchild
Dress Diva
Join date: 11 Dec 2002
Posts: 133
|
02-06-2003 12:17
I don't know about rendering stuff so I'll just skip that. It would be nice to have a 'plane' primitive even if it's not a true plane and even if it's no faster to render, simply for convenience. 1. Weather would be nice, but I sorta feel it's already chugging along slowly enough without snow or rain.  2. There are several threads about this, if you dig around. 3. Agreed. I'd really like this as well. 4. I don't know what you mean... what's wrong with the current reference? (I think it could use some prettying up) 5. I mentioned this one a while back and got the response, "Not for a while." 6. I don't get what you mean by this. You can give each individual face of an object a different texture if you select it with the ... Select invidual faces option (I think, I can't remember the wording) but I'm not sure that's what you meant. 7. You know, a while back I was making a hot tub with some water that used the STATUS_PHANTOM status. But it didn't work (oddly buggy). You should be able to make water you can pass through already, in theory. It would be nice to have a checkbox in the object editor though. 9. I don't get this... if you don't want anyone else to move it, why not just.. not let them move it? 11. Check out Lindenball... I forget which sim it's in. It's the big arena. 
_____________________
-Datura
|
Ama Omega
Lost Wanderer
Join date: 11 Dec 2002
Posts: 1,770
|
02-06-2003 12:26
Buildings don't have to have a million pieces. My tower, while fairly simple, has 3 floors, a spiral ramp going all the way up, a roof, half walls on the top two floors to see out and supports for the roof and second floor, and a large light. All told my tower has 27 pieces right now and is about 30 meters tall or so. I think I have a picture .... http://www.amaprotu.net/images/towersmall.jpgYou build a house with 4 walls each as a single primative? Why not a hollow square? Well cuz you need the door, so a hollow square cut at 25% to 100% will give you three of your sides, but that is more detail than your example house has. As for the fog..... the only other option I can see is a line cutting through everything at your draw distance. Fog lets things fade from view. Did you have another idea? 2. This has been discussed at length in several threads. Do a search of 'offline' and I'm sure you will find them. 4. In your main SL directory there is an html file called lsl2_reference.html or something like that. It's more or less what you are asking for. Except it doesn't go into as much detail as would be nice. 6. Do I uunderstand this as you would like a cube with a different texture on each side? If that is the case then in the edit window use the 'select texture' option and click on the side you want. Or just drag a texture onto that side. Or did you mean something else? 7. What would be the effect of this 'liquid' property? 9. This request doesn't quite make sense to me. If you wnat an object other would try to 'lift' I think it has to be physical. For practical reasons just moving stuff doesn't take into account any weight (no one would be able to build a house without a crane). So unless the object is physical it doesn't make sense for it to have weight. If you just don't want the object moved, use the 'lock' option on the edit window.
|
Harry Busch
Registered User
Join date: 29 Jan 2003
Posts: 6
|
Clarification
02-06-2003 12:43
As for as the basic objects, I dont neccessairly mean basic housing, I mean areas that can bring my P4 2.4gHz machine with a GeForce4 Ti4600 and 512MB DDR 2100 to a crawl. Granted, I do have the graphics options all on and I am running at 1024x768, but I think this should be more than enough room for it to run smoothly. I think that it would be quite possible to enhance performance using my methods (I am working on a picture to show you exactly what I'm trying to say.) #4. Just an all inclusive, detailed and documented scripting reference, for those anal programming folks like myself. I ooked through the HTML files and I found no such reference, other than the mention that you have the ability to script. #6. My roommate (who builds the housing) offered the wisdom that on a basic shape, mutlitexturing was not possible, however on linked objects it was. I am not sure if I asked the question exactly how he meant his statement. #7. So you could make boats, or go swimming, or whatever. #9. I mean objects that have already been placed, not objects that are being crafted. Things like guns, swords, armor, should all have weight values that 'impare' (scary word) a character. This is all I am suggesting. I dont mean the inablility to move a house arounf because of its size, I mean in conjunction with points 10 and 11. ( I have some interesting ideas there) I will return! (And with visual aids!) 
|
Datura Fairchild
Dress Diva
Join date: 11 Dec 2002
Posts: 133
|
02-06-2003 13:03
Ama mentioned the scripting file. It's not in the most intuitive location, but it works.
6. I thought multitexturing was having multiple textures on the same polygon (I really don't know). A single object certainly can have different faces on each side, linked or not.
7... you could probably accomplish some of that with some clever scripting. The lack of swimming animations would probably keep you from doing much swimming, though.
9. Again, you could work that stuff out with some clever scripting. I don't really see a need for it generally. My game I'm working on will (eventually) make you move faster or slower, depending on your armor... but this is abstracted. You could always work out a more detailed system.
_____________________
-Datura
|
Nexus Nash
Undercover Linden
Join date: 18 Dec 2002
Posts: 1,084
|
Re: My 2 cents
02-06-2003 13:52
From: someone Originally posted by Harry Busch ignorant smack tard AHAHAHAHAHAH! THAT WAS GREAT! 1. Keep your pants on , beta 2. no, not gonna happen 3. ok, good I like it, refer to #1 4. good point, that would be nice... but let them finish the code before they start teaching us how to use it, refer to #1 5. coming, refer to #1 6. hun... I thought we had that? 7. omg... *pointing to #1* 8. exists, but again for the lazy... #1 9. I like that on.... *while pointing to #1 10. ... i'm not even gonna say it 11. don't make me make a sign! Anyways, don't get mad just having fun... all your idea are great, and I would like to see them to... i'll mention some to the Lindens, but they WILL be on the 1.0 to do block... don't expect them all soon.
|
Nicole Miller
Pixel Pervert
Join date: 10 Jan 2003
Posts: 185
|
Re: Clarification
02-06-2003 14:11
From: someone Originally posted by Harry Busch As for as the basic objects, I dont neccessairly mean basic housing, I mean areas that can bring my P4 2.4gHz machine with a GeForce4 Ti4600 and 512MB DDR 2100 to a crawl. Granted, I do have the graphics options all on and I am running at 1024x768, but I think this should be more than enough room for it to run smoothly. I think that it would be quite possible to enhance performance using my methods (I am working on a picture to show you exactly what I'm trying to say.)
I will return! (And with visual aids!) I was hoping that you would say something as cool as smack tard again. I had to call everyone in the office that today, thanks! You have made at least 30 other people smile today.  I meant that an object made out of a lot of primitives may draw faster than a fairly complex object that is not indexed. That is how they optimize things as a first pass. It will get better. I hope when you come back, you have visual aids about smack tards. hehehehehe
_____________________
Asphalt is a great word because it is descriptive and it lays blame.
|
Zoli Zeeman
Necronomiclown-in-Trainin
Join date: 7 Nov 2002
Posts: 135
|
Re: My 2 cents
02-07-2003 10:26
From: someone Originally posted by Harry Busch
8. Ability to attach fixed vertices on solids. This will make them easier to manipulate, make hinges etc. (Again a addition for the lazy) Yes.. once again,, I feel the need to express my desire for sub object tools. Even without the "melt" function expressed earlier, if we could move verts around we could fasion more complex geometry w/o increasing the polycount. And sprites would also B very useful. especially if we could make them 1 OR 2 sided.
_____________________
XXX OOO -Z- -Chaos, panic, & disorder - my work here is done.-
|
bUTTONpUSHER Jones
professional puddlejumper
Join date: 10 Oct 2002
Posts: 172
|
02-07-2003 12:32
the scripting reference is on your computer at: file:///C:/Program%20Files/SecondLife/lsl2_reference.htm if you have all your Graphics options turned on and maxxed it *should* slow down your machine! it's built for the future. it should run smooth on a P5 3.3gHz with a GeForce5 tho. 
|
Kira Muse
Registered User
Join date: 27 Jan 2003
Posts: 66
|
02-07-2003 14:43
From: someone Originally posted by bUTTONpUSHER Jones if you have all your Graphics options turned on and maxxed it *should* slow down your machine! it's built for the future. it should run smooth on a P5 3.3gHz with a GeForce5 tho. And don't forget DirectX 9.x and its advanced elements for the newer, decent graphics cards. Coming soon to a theatre....errr video store near you! 
_____________________
Keyboard Not Detected! Press F1 to continue...
|
Zoli Zeeman
Necronomiclown-in-Trainin
Join date: 7 Nov 2002
Posts: 135
|
02-07-2003 17:27
Direct X?? I thought this was OpenGL? well at least it ain't Heidi 
_____________________
XXX OOO -Z- -Chaos, panic, & disorder - my work here is done.-
|
Nicole Miller
Pixel Pervert
Join date: 10 Jan 2003
Posts: 185
|
02-07-2003 18:33
It is. OpenGL is fast in the hands of people who know some neat tricks. Look at Carmack. Quake 3 doesn't run fast in Linux because of Direct X goodness. 
_____________________
Asphalt is a great word because it is descriptive and it lays blame.
|
Zoli Zeeman
Necronomiclown-in-Trainin
Join date: 7 Nov 2002
Posts: 135
|
02-08-2003 01:14
Aaaah UNIX,, the debbil OS, where else can U murder zombies?? 
_____________________
XXX OOO -Z- -Chaos, panic, & disorder - my work here is done.-
|