What the point is instances ?
Quote from DaMaGepy on June 7, 2011, 8:09 amEnraged wrote:Instances are one of the best additions to the Source engine in the past few years.In the old system of prefabs, lets say you have a door with a button to activate it. You add it to your map. It works fine.
You then add another of the same prefab. You now need to edit the second door and button so it's I/O's and names are unique to referencing each other and not the original door.
wrong, no need to edit the second door and button with prefabs. But actually with an instance you need to edit the second button to reference to the second door, and the second door too (even if only the prefix)...
Prefabs are still better than instances.
In MY opinion:Instances:
Instances are like includes in Php. Only useful if you add lot of similar thing into a map or other maps, and you want to modify the included thing, for example adding a light or changing the brightness of a light instnce or changing a custom sound etc in an instanced door. You only need to modify the instance and recompile the map (and the other maps if needed). Or when using rotated instances. You can insert an instance rotated, but if needed, you modify the original instance normally and there is no need to mess with vertex manipulation or rotate everything back like you must do with prefabs. Ah, and maybe because of the directory structure, its more organized. Thats all.
But if I think back, I never used instances just so I can modify them later or never rotated them for example 45 degree.
I usually end up collapsing inserted instances, because for example stock observation rooms dont have a door or have few objects, and I either just add them in the instance (I mean not by editing it, I just put them inside) or I collapse them.
Its pretty hard sometimes to control them and they cant be customized unless edited. proxies? i/o? prefixes? No thanks (even if I totally understand them)Prefabs:
They can be modified freely, and modifying them dont mess up other maps. With instances, you neeed to save them with a different name so they do not mess up other maps using them.
Prefabs can be moved after insertion if they still grouped.
And about inserting multiple brefab doors:
If you use _&i in the prefab names, it will automatically number them (replace) so if I create a prefab door with a doorname door_&i and a triggername opendoor_&i, and I insert 2 of this prefab, they will be door_1,opendoor_1 and door_2,opendoor_2 etc, so after insertion you must set one button to trigger opendoor_1 the other to trigger opendoor_2. Ofc if you dont know this then yes, instances can be better. the output still need to be modified but its the same with instances too.So for me pros and cons:
INSTANCES:
pro:
- well organized directory structure when browsing for instance vmfs
- can insert them rotated but edit them normally
- to change multiple ocurence of an insertedgrouped thing (instance) only need to modify one
- the main vmf is smaller
cons:
- sometimes hard to control them
- even if you get used to it (controlling), if you want to customize, you need to edit and save the instances with a different name or collapse them, but this way the instancing lose its purpose and becomes similar to prefabs
- need to include all used instance with the main vmf, and the map loads longer into hammer
- annoying tint around instances (even if it can be turned off if the instance is not selected)PREFABS:
pros:
- doors buttons etc can be just inserted and they auto-name themselves if named correctly
- simple to control/trigger/edit, no weird triggernames etc.
- can modify anything, and they are customizable
- modifying one inserted prefab in the map will not mess up others
cons:
- larger main vmf size
- if you want to modify something in all inserted prefab, you must modify them all one-by-oneExample:
Adding 5 door and 5 button then setting them up individually (so b1 open d1, b2 d2 etc) is like 30 sec for me in hammer (I have buttons having their triggered door names also numbered _&i so I just insert 5 door then 5 doorbutton and they work without modifying anything, only 1-1 number in the button output. Using instanced doors with instanced buttons... well, its a bit longer, and if you need to modify things like the open time or 2 button-1 door setup, or changing the paintdropper's density paintangle etc you must edit them and save with another name or collapse them into the main map.
If someone interested, I can post my custom door and custom button doorbutton prefabs for example. Ah, and if someone find it hard to properly insert/position prefabs (so if because of some entity its always off the grid), you need to surround it with a skip block that can stay around it after insertion or can just be removed later when doesnt needed.
In the old system of prefabs, lets say you have a door with a button to activate it. You add it to your map. It works fine.
You then add another of the same prefab. You now need to edit the second door and button so it's I/O's and names are unique to referencing each other and not the original door.
wrong, no need to edit the second door and button with prefabs. But actually with an instance you need to edit the second button to reference to the second door, and the second door too (even if only the prefix)...
Prefabs are still better than instances.
In MY opinion:
Instances:
Instances are like includes in Php. Only useful if you add lot of similar thing into a map or other maps, and you want to modify the included thing, for example adding a light or changing the brightness of a light instnce or changing a custom sound etc in an instanced door. You only need to modify the instance and recompile the map (and the other maps if needed). Or when using rotated instances. You can insert an instance rotated, but if needed, you modify the original instance normally and there is no need to mess with vertex manipulation or rotate everything back like you must do with prefabs. Ah, and maybe because of the directory structure, its more organized. Thats all.
But if I think back, I never used instances just so I can modify them later or never rotated them for example 45 degree.
I usually end up collapsing inserted instances, because for example stock observation rooms dont have a door or have few objects, and I either just add them in the instance (I mean not by editing it, I just put them inside) or I collapse them.
Its pretty hard sometimes to control them and they cant be customized unless edited. proxies? i/o? prefixes? No thanks (even if I totally understand them)
Prefabs:
They can be modified freely, and modifying them dont mess up other maps. With instances, you neeed to save them with a different name so they do not mess up other maps using them.
Prefabs can be moved after insertion if they still grouped.
And about inserting multiple brefab doors:
If you use _&i in the prefab names, it will automatically number them (replace) so if I create a prefab door with a doorname door_&i and a triggername opendoor_&i, and I insert 2 of this prefab, they will be door_1,opendoor_1 and door_2,opendoor_2 etc, so after insertion you must set one button to trigger opendoor_1 the other to trigger opendoor_2. Ofc if you dont know this then yes, instances can be better. the output still need to be modified but its the same with instances too.
So for me pros and cons:
INSTANCES:
pro:
- well organized directory structure when browsing for instance vmfs
- can insert them rotated but edit them normally
- to change multiple ocurence of an insertedgrouped thing (instance) only need to modify one
- the main vmf is smaller
cons:
- sometimes hard to control them
- even if you get used to it (controlling), if you want to customize, you need to edit and save the instances with a different name or collapse them, but this way the instancing lose its purpose and becomes similar to prefabs
- need to include all used instance with the main vmf, and the map loads longer into hammer
- annoying tint around instances (even if it can be turned off if the instance is not selected)
PREFABS:
pros:
- doors buttons etc can be just inserted and they auto-name themselves if named correctly
- simple to control/trigger/edit, no weird triggernames etc.
- can modify anything, and they are customizable
- modifying one inserted prefab in the map will not mess up others
cons:
- larger main vmf size
- if you want to modify something in all inserted prefab, you must modify them all one-by-one
Example:
Adding 5 door and 5 button then setting them up individually (so b1 open d1, b2 d2 etc) is like 30 sec for me in hammer (I have buttons having their triggered door names also numbered _&i so I just insert 5 door then 5 doorbutton and they work without modifying anything, only 1-1 number in the button output. Using instanced doors with instanced buttons... well, its a bit longer, and if you need to modify things like the open time or 2 button-1 door setup, or changing the paintdropper's density paintangle etc you must edit them and save with another name or collapse them into the main map.
If someone interested, I can post my custom door and custom button doorbutton prefabs for example. Ah, and if someone find it hard to properly insert/position prefabs (so if because of some entity its always off the grid), you need to surround it with a skip block that can stay around it after insertion or can just be removed later when doesnt needed.
Quote from ChickenMobile on June 7, 2011, 8:23 amGood reply DaMa, and thanks for the tip on the _&i thing. I usually create a name and use the 'find and replace tool' to do the same thing but I might try that out sometime.
[rage]I totally agree that instances are a nuisance. In fact, in Portal, I mainly collapsed all the instances because Valve put a load of crap in that I didn't need. Edited to my preferences and voila! In my eyes a better map.
Using their instances too: I got an error "Error: No free alocs". I never get that error and looking it up it means that there is too many named entities (or dynamic entities) inside the map. I fixed this by deleting a lot of the stuff that wasn't used in the instances. In fact: the only instance I kept original for my map is the ending instance for the coop disassembler machine. I did this because it looked like too much work to edit myself.
Plus they hardly use a nodraw/optimised it. I don't know if they did this because they expected these instances to be extremely flexible or what. [/rage]I really think that Valve used instances because they have level designers that aren't very good at entity logic (i.e. artists) and because they are constantly changing how their levels work and look. This will increase development time when it comes to updating in consistency in design.
Good reply DaMa, and thanks for the tip on the _&i thing. I usually create a name and use the 'find and replace tool' to do the same thing but I might try that out sometime.
[rage]I totally agree that instances are a nuisance. In fact, in Portal, I mainly collapsed all the instances because Valve put a load of crap in that I didn't need. Edited to my preferences and voila! In my eyes a better map.
Using their instances too: I got an error "Error: No free alocs". I never get that error and looking it up it means that there is too many named entities (or dynamic entities) inside the map. I fixed this by deleting a lot of the stuff that wasn't used in the instances. In fact: the only instance I kept original for my map is the ending instance for the coop disassembler machine. I did this because it looked like too much work to edit myself.
Plus they hardly use a nodraw/optimised it. I don't know if they did this because they expected these instances to be extremely flexible or what. [/rage]
I really think that Valve used instances because they have level designers that aren't very good at entity logic (i.e. artists) and because they are constantly changing how their levels work and look. This will increase development time when it comes to updating in consistency in design.
Quote from DaMaGepy on June 7, 2011, 8:48 amI make a fast youtube video about how long it takes to place 3 door and 3 button and set them up using instances and using prefabs, and post it here
I'll show 3 method:
- using official valve instances
- using my custom door instance
- using my custom prefabsMaybe I open a thread for it
I make a fast youtube video about how long it takes to place 3 door and 3 button and set them up using instances and using prefabs, and post it here ![]()
I'll show 3 method:
- using official valve instances
- using my custom door instance
- using my custom prefabs
Maybe I open a thread for it
Quote from Fresh on June 7, 2011, 1:22 pmMarlovious wrote:What is the name of the .vmf you are using?paint_dropper.vmf
Quote:In the old system of prefabs, lets say you have a door with a button to activate it. You add it to your map. It works fine.You then add another of the same prefab. You now need to edit the second door and button so it's I/O's and names are unique to referencing each other and not the original door.
wrong, no need to edit the second door and button with prefabs. But actually with an instance you need to edit the second button to reference to the second door, and the second door too (even if only the prefix)...
Prefabs are still better than instances.
In MY opinion:Instances:
Instances are like includes in Php. Only useful if you add lot of similar thing into a map or other maps, and you want to modify the included thing, for example adding a light or changing the brightness of a light instnce or changing a custom sound etc in an instanced door. You only need to modify the instance and recompile the map (and the other maps if needed). Or when using rotated instances. You can insert an instance rotated, but if needed, you modify the original instance normally and there is no need to mess with vertex manipulation or rotate everything back like you must do with prefabs. Ah, and maybe because of the directory structure, its more organized. Thats all.
But if I think back, I never used instances just so I can modify them later or never rotated them for example 45 degree.
I usually end up collapsing inserted instances, because for example stock observation rooms dont have a door or have few objects, and I either just add them in the instance (I mean not by editing it, I just put them inside) or I collapse them.
Its pretty hard sometimes to control them and they cant be customized unless edited. proxies? i/o? prefixes? No thanks (even if I totally understand them)Prefabs:
They can be modified freely, and modifying them dont mess up other maps. With instances, you neeed to save them with a different name so they do not mess up other maps using them.
Prefabs can be moved after insertion if they still grouped.
And about inserting multiple brefab doors:
If you use _&i in the prefab names, it will automatically number them (replace) so if I create a prefab door with a doorname door_&i and a triggername opendoor_&i, and I insert 2 of this prefab, they will be door_1,opendoor_1 and door_2,opendoor_2 etc, so after insertion you must set one button to trigger opendoor_1 the other to trigger opendoor_2. Ofc if you dont know this then yes, instances can be better. the output still need to be modified but its the same with instances too.So for me pros and cons:
INSTANCES:
pro:
- well organized directory structure when browsing for instance vmfs
- can insert them rotated but edit them normally
- to change multiple ocurence of an insertedgrouped thing (instance) only need to modify one
- the main vmf is smaller
cons:
- sometimes hard to control them
- even if you get used to it (controlling), if you want to customize, you need to edit and save the instances with a different name or collapse them, but this way the instancing lose its purpose and becomes similar to prefabs
- need to include all used instance with the main vmf, and the map loads longer into hammer
- annoying tint around instances (even if it can be turned off if the instance is not selected)PREFABS:
pros:
- doors buttons etc can be just inserted and they auto-name themselves if named correctly
- simple to control/trigger/edit, no weird triggernames etc.
- can modify anything, and they are customizable
- modifying one inserted prefab in the map will not mess up others
cons:
- larger main vmf size
- if you want to modify something in all inserted prefab, you must modify them all one-by-oneExample:
Adding 5 door and 5 button then setting them up individually (so b1 open d1, b2 d2 etc) is like 30 sec for me in hammer (I have buttons having their triggered door names also numbered _&i so I just insert 5 door then 5 doorbutton and they work without modifying anything, only 1-1 number in the button output. Using instanced doors with instanced buttons... well, its a bit longer, and if you need to modify things like the open time or 2 button-1 door setup, or changing the paintdropper's density paintangle etc you must edit them and save with another name or collapse them into the main map.
If someone interested, I can post my custom door and custom button doorbutton prefabs for example. Ah, and if someone find it hard to properly insert/position prefabs (so if because of some entity its always off the grid), you need to surround it with a skip block that can stay around it after insertion or can just be removed later when doesnt needed.and thankyou for putting time and effort it to that learnt loads, quick question can you turn lights on and off i am using the light instances (instances/lights/bts_light_fluorescent _01_128a.vmf) how do i keep them turned off then when i press a button or use a trigger they turn on. I got the sound working just not the lights my outputs for each lights are:
OnMapSpawn >>> instance:lights_01 >>> Disable
OnMapSpawn >>> instance:lights_01 >>> DisableOnTrigger >>> instance:lights_01 >>> Enable
OnTrigger >>> instance:lights_01 >>> Enable
paint_dropper.vmf
You then add another of the same prefab. You now need to edit the second door and button so it's I/O's and names are unique to referencing each other and not the original door.
wrong, no need to edit the second door and button with prefabs. But actually with an instance you need to edit the second button to reference to the second door, and the second door too (even if only the prefix)...
Prefabs are still better than instances.
In MY opinion:
Instances:
Instances are like includes in Php. Only useful if you add lot of similar thing into a map or other maps, and you want to modify the included thing, for example adding a light or changing the brightness of a light instnce or changing a custom sound etc in an instanced door. You only need to modify the instance and recompile the map (and the other maps if needed). Or when using rotated instances. You can insert an instance rotated, but if needed, you modify the original instance normally and there is no need to mess with vertex manipulation or rotate everything back like you must do with prefabs. Ah, and maybe because of the directory structure, its more organized. Thats all.
But if I think back, I never used instances just so I can modify them later or never rotated them for example 45 degree.
I usually end up collapsing inserted instances, because for example stock observation rooms dont have a door or have few objects, and I either just add them in the instance (I mean not by editing it, I just put them inside) or I collapse them.
Its pretty hard sometimes to control them and they cant be customized unless edited. proxies? i/o? prefixes? No thanks (even if I totally understand them)
Prefabs:
They can be modified freely, and modifying them dont mess up other maps. With instances, you neeed to save them with a different name so they do not mess up other maps using them.
Prefabs can be moved after insertion if they still grouped.
And about inserting multiple brefab doors:
If you use _&i in the prefab names, it will automatically number them (replace) so if I create a prefab door with a doorname door_&i and a triggername opendoor_&i, and I insert 2 of this prefab, they will be door_1,opendoor_1 and door_2,opendoor_2 etc, so after insertion you must set one button to trigger opendoor_1 the other to trigger opendoor_2. Ofc if you dont know this then yes, instances can be better. the output still need to be modified but its the same with instances too.
So for me pros and cons:
INSTANCES:
pro:
- well organized directory structure when browsing for instance vmfs
- can insert them rotated but edit them normally
- to change multiple ocurence of an insertedgrouped thing (instance) only need to modify one
- the main vmf is smaller
cons:
- sometimes hard to control them
- even if you get used to it (controlling), if you want to customize, you need to edit and save the instances with a different name or collapse them, but this way the instancing lose its purpose and becomes similar to prefabs
- need to include all used instance with the main vmf, and the map loads longer into hammer
- annoying tint around instances (even if it can be turned off if the instance is not selected)
PREFABS:
pros:
- doors buttons etc can be just inserted and they auto-name themselves if named correctly
- simple to control/trigger/edit, no weird triggernames etc.
- can modify anything, and they are customizable
- modifying one inserted prefab in the map will not mess up others
cons:
- larger main vmf size
- if you want to modify something in all inserted prefab, you must modify them all one-by-one
Example:
Adding 5 door and 5 button then setting them up individually (so b1 open d1, b2 d2 etc) is like 30 sec for me in hammer (I have buttons having their triggered door names also numbered _&i so I just insert 5 door then 5 doorbutton and they work without modifying anything, only 1-1 number in the button output. Using instanced doors with instanced buttons... well, its a bit longer, and if you need to modify things like the open time or 2 button-1 door setup, or changing the paintdropper's density paintangle etc you must edit them and save with another name or collapse them into the main map.
If someone interested, I can post my custom door and custom button doorbutton prefabs for example. Ah, and if someone find it hard to properly insert/position prefabs (so if because of some entity its always off the grid), you need to surround it with a skip block that can stay around it after insertion or can just be removed later when doesnt needed.
and thankyou for putting time and effort it to that learnt loads, quick question can you turn lights on and off i am using the light instances (instances/lights/bts_light_fluorescent _01_128a.vmf) how do i keep them turned off then when i press a button or use a trigger they turn on. I got the sound working just not the lights my outputs for each lights are:
OnMapSpawn >>> instance:lights_01 >>> Disable
OnMapSpawn >>> instance:lights_01 >>> Disable
OnTrigger >>> instance:lights_01 >>> Enable
OnTrigger >>> instance:lights_01 >>> Enable
Quote from Idolon on June 7, 2011, 1:31 pmI find it very easy to work with instances, if they're made well. I made myself a door instance, which is really, really easy to use since you can just give it an "Open" or a "Close" input. For the buttons, I find it much easier to just use the base and then stick an actual button entity in it. It's also really handy for lighting (observation rooms are now a breeze compared to Portal 1, IMO).
I find it very easy to work with instances, if they're made well. I made myself a door instance, which is really, really easy to use since you can just give it an "Open" or a "Close" input. For the buttons, I find it much easier to just use the base and then stick an actual button entity in it. It's also really handy for lighting (observation rooms are now a breeze compared to Portal 1, IMO).
Quote from DaMaGepy on June 7, 2011, 3:11 pmIdolon wrote:I find it very easy to work with instances, if they're made well.Exactly! You must make (modify) instances to work better. And doing it they lose their purpose.
Also you must make several instance for example a door with white surrounding or with the darker, etc. or using just a core door instance then selecting a "skin", a solid circle block for the door. Or must collapse and apply the texture you want. With prefabs, just put one down and apply any texture without editing and saving the instance with another name.I just made a youtube turorial video, starting to put screencomments on it (since I cant really speak anglish well and got a shitty microphone). Will link it here when ready.
The tutorial was made mainly to show why instances are bad and hard (and takes more time) to handle compared to prefabs:
- First I make 3 door and 3 button (each button opens its paired door) only using official valve instances
- Then I use my custon door instance (its better but still not faster)
- Then I use custom prefabs. Its really 2-3 times easier and faster than using instances. They (prefabs) auto-number themselves upon placing if they have &i in their targetnames...- Then I transform the buttons into ball-buttons and add 3 weighted edgeless ball
- After that I show a 3 button 1 door combo, when the door only opens if all 3 button is activated
- Then I add doorstate indicators for the 3 button and one that only activates when all 3 is yellow (when the door opens)
- Then I put down some indicator strip
- Then I place a vertical switch, that opens the door and closes after 4 second, with a timer sound. I also show how to prevent retriggering before the timer ends
- Then I show how to just open the door that stays open and the button can't be used again
Exactly! You must make (modify) instances to work better. And doing it they lose their purpose.
Also you must make several instance for example a door with white surrounding or with the darker, etc. or using just a core door instance then selecting a "skin", a solid circle block for the door. Or must collapse and apply the texture you want. With prefabs, just put one down and apply any texture without editing and saving the instance with another name.
I just made a youtube turorial video, starting to put screencomments on it (since I cant really speak anglish well and got a shitty microphone). Will link it here when ready.
The tutorial was made mainly to show why instances are bad and hard (and takes more time) to handle compared to prefabs:
- First I make 3 door and 3 button (each button opens its paired door) only using official valve instances
- Then I use my custon door instance (its better but still not faster)
- Then I use custom prefabs. Its really 2-3 times easier and faster than using instances. They (prefabs) auto-number themselves upon placing if they have &i in their targetnames...
- Then I transform the buttons into ball-buttons and add 3 weighted edgeless ball
- After that I show a 3 button 1 door combo, when the door only opens if all 3 button is activated
- Then I add doorstate indicators for the 3 button and one that only activates when all 3 is yellow (when the door opens)
- Then I put down some indicator strip
- Then I place a vertical switch, that opens the door and closes after 4 second, with a timer sound. I also show how to prevent retriggering before the timer ends
- Then I show how to just open the door that stays open and the button can't be used again
Quote from DaMaGepy on June 7, 2011, 4:53 pmPosted a door/button tutorial and some instancing/prefabing at the beginning:
http://www.youtube.com/watch?v=qYUyDXmU_LU
Posted a door/button tutorial and some instancing/prefabing at the beginning:
http://www.youtube.com/watch?v=qYUyDXmU_LU
Quote from msleeper on June 7, 2011, 11:22 pmThis is you using prefabs.
This is you using instances.Instances are what prefabs should have been from the start. Instances are everything prefabs are, and much much more. Refusing to use them because they are "too hard" is, well...
This is you using prefabs.
This is you using instances.
Instances are what prefabs should have been from the start. Instances are everything prefabs are, and much much more. Refusing to use them because they are "too hard" is, well...
Please do not Private Message me for assistance. Post a thread if you have questions or concerns.
If you need to contact the staff privately, contact the Global Moderators via Discord.
Quote from DaMaGepy on June 8, 2011, 2:10 amnot hard, but if I end up modifying them and saving as new instance, or collapsing them, and not using their main purpose (changing them changes their every occurence), then they are not better than prefabs.
- When I used stock instances like paint droppers, boxdroppers or doors, I always ended up modifying them or adding more: Observation rooms are low in detail, if the glass is not fractured, then even from a distance it clearly visible that they dont have any door, and sometimes there is just a desk or maybe a chair. Of course it can be deal with without modifying them, I just put those missing details on top (inside) the instance cube.
- droppers can't be configured fully, I ended up modifying their properties (min max angle, blop per second, min max speed, starting height, or if the dropper's door is open all the time or opens/closes etc)
- With doors, I wanted different texture on the frame. Collapsed it.
- Lights have fixed color and brightness (and panelskin). Used my own.
- The only instances I used without modifications are the non-interactive ones like destroyed walls, or the elevators but again, had to modify the transition ents, and also collapsed the player start so I can check its "master" property
- If all instances were prefabs, I can browse them faster (like when I enter "cube" as an entity name and it filters the list so I only see cubemap weighted cube, etc. And then place them in the same way, I can move/rotate them in the same way (grouped), I still can use their triggers etc but can access them directly, and if the prefabs were made right, I don't even need to modify anything in them or even changing the fixupname.So what can instances do better than prefabs? Only to modify lots of them at once. Lets say I made a very detailed column (greek style), placed 50 of them then I realized I have a badly aligned texture and I need to curve a hole in them or whatever. I can just edit the instance and all changes. Can't do this with prefabs. This is it.
With prefabs I just place my box dropper, I change 1-2 trigger parameter and I can turn it into a multicube dropper in 1 min (so lets say it drops 2 ball 1 refcube 1 storagecube by default, and whichever gets destroyed, the dropper drops a new one. or I can just place this 4 starting box whenever I want and the dropper only gives a new one if any of them gets destroyed.
Or placing 3 door and 3 button and making them work in 30 sec, and I can edit whatever I want on them later. With instances I can barely put down and setup one that fast, and I only can use the triggers and events that they offer (thru proxies or direct access). And yes, I know well how to use all valve instance, I just don't like them. And since they dont have any prefab alterego yet, they are the only "gallery" to place bts walls, lights, boxdroppers instead of making our own. But if someone provides a similar prefab pack, then I'm sure everyone will start to use them instead.This is my opinion. I'll make some common prefab and post here for those who find the instance controlling confusing, or just want more control over them without modifying and creating their own instances. Instances not really ment to be modified or collapsed all the time.
not hard, but if I end up modifying them and saving as new instance, or collapsing them, and not using their main purpose (changing them changes their every occurence), then they are not better than prefabs.
- When I used stock instances like paint droppers, boxdroppers or doors, I always ended up modifying them or adding more: Observation rooms are low in detail, if the glass is not fractured, then even from a distance it clearly visible that they dont have any door, and sometimes there is just a desk or maybe a chair. Of course it can be deal with without modifying them, I just put those missing details on top (inside) the instance cube.
- droppers can't be configured fully, I ended up modifying their properties (min max angle, blop per second, min max speed, starting height, or if the dropper's door is open all the time or opens/closes etc)
- With doors, I wanted different texture on the frame. Collapsed it.
- Lights have fixed color and brightness (and panelskin). Used my own.
- The only instances I used without modifications are the non-interactive ones like destroyed walls, or the elevators but again, had to modify the transition ents, and also collapsed the player start so I can check its "master" property
- If all instances were prefabs, I can browse them faster (like when I enter "cube" as an entity name and it filters the list so I only see cubemap weighted cube, etc. And then place them in the same way, I can move/rotate them in the same way (grouped), I still can use their triggers etc but can access them directly, and if the prefabs were made right, I don't even need to modify anything in them or even changing the fixupname.
So what can instances do better than prefabs? Only to modify lots of them at once. Lets say I made a very detailed column (greek style), placed 50 of them then I realized I have a badly aligned texture and I need to curve a hole in them or whatever. I can just edit the instance and all changes. Can't do this with prefabs. This is it.
With prefabs I just place my box dropper, I change 1-2 trigger parameter and I can turn it into a multicube dropper in 1 min (so lets say it drops 2 ball 1 refcube 1 storagecube by default, and whichever gets destroyed, the dropper drops a new one. or I can just place this 4 starting box whenever I want and the dropper only gives a new one if any of them gets destroyed.
Or placing 3 door and 3 button and making them work in 30 sec, and I can edit whatever I want on them later. With instances I can barely put down and setup one that fast, and I only can use the triggers and events that they offer (thru proxies or direct access). And yes, I know well how to use all valve instance, I just don't like them. And since they dont have any prefab alterego yet, they are the only "gallery" to place bts walls, lights, boxdroppers instead of making our own. But if someone provides a similar prefab pack, then I'm sure everyone will start to use them instead.
This is my opinion. I'll make some common prefab and post here for those who find the instance controlling confusing, or just want more control over them without modifying and creating their own instances. Instances not really ment to be modified or collapsed all the time.
Quote from ChickenMobile on June 8, 2011, 2:58 ammsleeper wrote:At least those kids are learning creatively and I definitely wouldn't want to grow a beard.
At least those kids are learning creatively and I definitely wouldn't want to grow a beard.
