Chatbox
Where is the best place we can all link up to have a reunion? A facebook group? Only platform I think we all look at daily hahah but who knows if anyone wants to show their actual face. :P Made one just now -[link]-
2 years ago
Oh I'm so down. I still play zombie escape sometimes on CS:S. Never gets old. So down for Office.
Also 15 years for me. Fuck man we are getting old as shit.
Also, loving Back 4 Blood. Highly recommend to everyone who enjoys coop zombie action. I play on steam. gLiTch handle was retired with FT. You can find me as theRemedy on Steam friends.
Also 15 years for me. Fuck man we are getting old as shit.
Also, loving Back 4 Blood. Highly recommend to everyone who enjoys coop zombie action. I play on steam. gLiTch handle was retired with FT. You can find me as theRemedy on Steam friends.
3 years ago
Super down for a rerun. I think we all have some old connections to plan something ahead of time, on an updated game, or even outdated, for all of us to do an event on. I would look forward to that very much
3 years ago
View all posts (680)
Mapping: Optimize Compile Time
This was made by .4ngryToasters
This Tutorial is rated for: Novices – Intermediates – Advanced
(There is something to learn here for all categories)
In this tutorial, you will learn:
What happens when you compile a map
Why it takes so long to compile
How to optimize your map for a shorter compile time
Where to find the best optimizing tutorial in the universe
Compiling maps can be one of the hardest parts of mapping. The suspense builds as you get closer and closer to playing your map for the first time. Your mind races as you think to yourself “Did I remember to set all the lights to ON so I can see what I’m doing once this compiles? Will my helicopter really fly, or just spin off the map into oblivion? Will the hostages follow the ct, or just crash into every wall like a bunch of retards? Is there a god?†It would be great to know if everything you made works before you did the time consuming process of compiling. Sadly there isn’t. The next best thing is a key shortcut (alt_P) that will tell you if you have any invalid objects that can not be rendered in the source engine or if an entity contains an error. So the best solution here is to have a shorter compile time. Before I tell you how to do this, let’s look at how the compiler works to understand what is time consuming and what is time saving.
What does the compiler do?
To get down to the bare bones, the compiler turns your mapping .vmf file, into a playable .bsp file. When you run the compiler a dialogue box appears and you notice there are 3 things in particular that take up the most time:
FaceLights
PortalFlow
VisLeafs
The best way to think about your map is like a block fort. The more blocks that are in the fort, the harder it is to build. Another thing that makes your block fort hard to build is if it has a lot of odd shaped or overlapping pieces. What the compiler does is put all the individual blocks into groups, and then assembles those groups into your map. Each one of the aforementioned processes has its own specific job to do to your block fort.
FaceLights (although I’m not 100% sure about this) will look at every individual block and calculate what it is blocking, which sides can be seen by the player, and which can not. Essentially it makes the map playable, because without it, you could see every object through every wall (and also players on the other side of the map).
PortalFlow goes through your map, and divides the blocks into sections (rooms). This will determine what sections will rendered, while the others remain not rendered. Basically, it calculates every possible angle a player can see around a corner.
Visleafs Valve does a better job describing this than I can -[link]-
Now why am I telling you all this? Well now you can diagnose what is taking the longest to build on you map. If one of the processes mentioned above starts taking an excessively long time, you know what you need to cut back on to make the compiler run faster.
Saving some time
Brushes, when being made in your .vmf file, take up very little memory, while entities are a little more demanding (they are “expensive†as mappers put it). However, entities are unique, because they are not compiled the same way as the brushes on your map. Instead, they are much quicker to compile than complicated brush structures. This is why it is a good habit to use props instead of making a detailed object out of brushes. Props are point based entities that allow you to choose from almost any piece of scenery used by Valve (anything from a clump of weeds to an exploding barrel). This doesn’t mean go crazy and start building walls out of exploding barrels, like I said before, entities are expensive, and too many of them will create big .bsp files and laggy game play.
If you want to have something like say a weapons room or a room full of barrels on your map, It’s better to have only a single entity available to the player at a time, or make a button that will fill the room with barrels after the map is compiled. In other words, instead of having a pile of pistols at the end of your map, make a single pistol that will keep respawning (you could even go so far as to make it into a vending machine). In order to do this, you need three entities:
Your template entity (the one you want the vending machine to vend. Let’s say a grenade)
A point_template
And a env_create_entity (not sure about the name of that one, I’ll check it once I am around Hammer again)
Seeing how this is a tutorial about saving compile time, I’ll do a separate tutorial on how to make a vending machine later. But I gave you the entities you need, so you should be able to figure it out from there.
The last thing I suggest EVERYONE does, is check out this site -[link]-
Everyone on the internet claims this to be the best optimization tutorial on the web, and I have read it from start to finish (I must admit, I didn’t understand some of it). And I must say, everyone on the internet is correct in saying that. No matter what level mapper you think you are, there is something for you to learn there.
This Tutorial is rated for: Novices – Intermediates – Advanced
(There is something to learn here for all categories)
In this tutorial, you will learn:
What happens when you compile a map
Why it takes so long to compile
How to optimize your map for a shorter compile time
Where to find the best optimizing tutorial in the universe
Compiling maps can be one of the hardest parts of mapping. The suspense builds as you get closer and closer to playing your map for the first time. Your mind races as you think to yourself “Did I remember to set all the lights to ON so I can see what I’m doing once this compiles? Will my helicopter really fly, or just spin off the map into oblivion? Will the hostages follow the ct, or just crash into every wall like a bunch of retards? Is there a god?†It would be great to know if everything you made works before you did the time consuming process of compiling. Sadly there isn’t. The next best thing is a key shortcut (alt_P) that will tell you if you have any invalid objects that can not be rendered in the source engine or if an entity contains an error. So the best solution here is to have a shorter compile time. Before I tell you how to do this, let’s look at how the compiler works to understand what is time consuming and what is time saving.
What does the compiler do?
To get down to the bare bones, the compiler turns your mapping .vmf file, into a playable .bsp file. When you run the compiler a dialogue box appears and you notice there are 3 things in particular that take up the most time:
FaceLights
PortalFlow
VisLeafs
The best way to think about your map is like a block fort. The more blocks that are in the fort, the harder it is to build. Another thing that makes your block fort hard to build is if it has a lot of odd shaped or overlapping pieces. What the compiler does is put all the individual blocks into groups, and then assembles those groups into your map. Each one of the aforementioned processes has its own specific job to do to your block fort.
FaceLights (although I’m not 100% sure about this) will look at every individual block and calculate what it is blocking, which sides can be seen by the player, and which can not. Essentially it makes the map playable, because without it, you could see every object through every wall (and also players on the other side of the map).
PortalFlow goes through your map, and divides the blocks into sections (rooms). This will determine what sections will rendered, while the others remain not rendered. Basically, it calculates every possible angle a player can see around a corner.
Visleafs Valve does a better job describing this than I can -[link]-
Now why am I telling you all this? Well now you can diagnose what is taking the longest to build on you map. If one of the processes mentioned above starts taking an excessively long time, you know what you need to cut back on to make the compiler run faster.
Saving some time
Brushes, when being made in your .vmf file, take up very little memory, while entities are a little more demanding (they are “expensive†as mappers put it). However, entities are unique, because they are not compiled the same way as the brushes on your map. Instead, they are much quicker to compile than complicated brush structures. This is why it is a good habit to use props instead of making a detailed object out of brushes. Props are point based entities that allow you to choose from almost any piece of scenery used by Valve (anything from a clump of weeds to an exploding barrel). This doesn’t mean go crazy and start building walls out of exploding barrels, like I said before, entities are expensive, and too many of them will create big .bsp files and laggy game play.
If you want to have something like say a weapons room or a room full of barrels on your map, It’s better to have only a single entity available to the player at a time, or make a button that will fill the room with barrels after the map is compiled. In other words, instead of having a pile of pistols at the end of your map, make a single pistol that will keep respawning (you could even go so far as to make it into a vending machine). In order to do this, you need three entities:
Your template entity (the one you want the vending machine to vend. Let’s say a grenade)
A point_template
And a env_create_entity (not sure about the name of that one, I’ll check it once I am around Hammer again)
Seeing how this is a tutorial about saving compile time, I’ll do a separate tutorial on how to make a vending machine later. But I gave you the entities you need, so you should be able to figure it out from there.
The last thing I suggest EVERYONE does, is check out this site -[link]-
Everyone on the internet claims this to be the best optimization tutorial on the web, and I have read it from start to finish (I must admit, I didn’t understand some of it). And I must say, everyone on the internet is correct in saying that. No matter what level mapper you think you are, there is something for you to learn there.
|
|
Chatbox
Where is the best place we can all link up to have a reunion? A facebook group? Only platform I think we all look at daily hahah but who knows if anyone wants to show their actual face. :P Made one just now -[link]-
2 years ago
Oh I'm so down. I still play zombie escape sometimes on CS:S. Never gets old. So down for Office.
Also 15 years for me. Fuck man we are getting old as shit.
Also, loving Back 4 Blood. Highly recommend to everyone who enjoys coop zombie action. I play on steam. gLiTch handle was retired with FT. You can find me as theRemedy on Steam friends.
Also 15 years for me. Fuck man we are getting old as shit.
Also, loving Back 4 Blood. Highly recommend to everyone who enjoys coop zombie action. I play on steam. gLiTch handle was retired with FT. You can find me as theRemedy on Steam friends.
3 years ago
Super down for a rerun. I think we all have some old connections to plan something ahead of time, on an updated game, or even outdated, for all of us to do an event on. I would look forward to that very much
3 years ago
View all posts (680)
Online
- Guests: 73
- Members: 0
- Newest Member: kremtest
-
Most ever online: 329
Guests: 329, Members: 0 on Tuesday 21 January 2020 - 22:22:19