Thank you very much. Yes, it was quite a bit of trial and error to see which hint nodes or areaportals helped, and to use "mat_wireframe 1" in the game console to check if the engine was still drawing the entire map from any point. Personally, the most problematic areas were the exteriors. Eventually, I ended up sealing off the entire central area of the map and the areas with doors using areaportals, until the performance improved. I kept repeating the process until I was satisfied with the result.
Posts by Dartagnan
-
-
2. Map boundaries and "anti-troll"
Being a map located on the upper floors of a large building, its rooftop and balconies, I obviously had two options: players could either fall or jump into the void, or they couldn't fall into the void at all. I ended up choosing the second option, since a major problem with players falling was the bomb. If it fell into the void, all the bots would fall in a line, or in matches, it could give trolls an opening to ruin a round. Therefore, I sealed off the exterior of the map, or areas where you can throw the bomb, making them unreachable with the "Clip" tool. I also sealed off the elevator shaft; it's practically impossible for the bomb to fall or get lost.
But inside, I still wished there was at least one danger zone or place where players could fall and die without losing the bomb forever, because if everything was sealed off, the feeling of vertigo or danger was completely lost. So the "catwalk" area was the place I chose for it. A few floors below, there's a balcony, a junkyard, and a garbage dump. The whole point of that location is to be within the map while also allowing someone to fall without losing the bomb in mid-air. So if a TT dies and the bomb falls there, I placed a ladder for its retrieval.
3. The navmesh and bots main issues
When I finally started playtesting after configuring and setting up the navmesh, I discovered various problems with the bots. They were pretty silly, but I fixed them as I found them. The main issue was their complete inability to use the ventilation ducts to move from one point to another. As soon as they reached a corner or gap, they would practically freeze. When they were in a group, the worst thing that could happen was when the lead bot would turn around while the rest were trying to move forward, trapping the entire group. I made numerous corrections and tests, but nothing worked. So, I decided to avoid the problem altogether and remove the navigation mesh from the ducts. This means the bots will NEVER use the ventilation to move around the map. What a shame. Another problem area was the elevators. Incredibly, the bots loved getting stuck because they couldn't get into the shaft to enter and exit, so jams there were also frequent. Therefore, I simply disconnected that area so they wouldn't choose the elevators to go up or down and would use the stairs as their main point of transition between floors.
4. Optimization...
Unlike my previous map, this one is much larger and has far more detail and physical props, making it even more demanding on the CPU and the engine itself. When compiling VVIS in full, the process got stuck in an infinite loop at step 9... which meant there was an infinite number of portals. (I took all precautions, and the map actively uses "func_detail," leaving only the structural brushes as "wordbrush.") Even so, it seems that wasn't enough, so to make it work, I had to compile the map in VVIS Fast and cut the visibility leaves myself. I placed "AREAPORTAL" on door frames and closed off rooms with this tool, and also placed "HINT NODES" in corners to reduce the load on the engine, since the problem I had was that, having compiled in "fast," was that the map was essentially treating the entire layout as one massive visibility leaf, rendering everything visible at once; using these specific tools completely resolved the problem.
5. No HDR?
Nope, at least for now HDR won't be available on the map because the skybox it has isn't designed for it, and it also lost a lot of quality when it was converted into a cube map since the original image was a simple 360 panoramic. Once I fix the skybox quality issue, I'll still have to deal with the reflections, some textures and even the glass surfaces facing the skybox looked AWFULL so figuring out exactly what needs to be done to make them look right will take me a bit more time.
6. Main problems and crashes using Hammer++
I’ll share a rather personal take on my first experience with Hammer++, especially since I created my previous map entirely within the vanilla Hammer ecosystem. Things started off well; I think its biggest advantage is the improved viewport and prop selection (since props are sometimes barely visible in vanilla) plus it’s easy to get used to and feels much more modern. However... maybe it was just me, but after a recent CS:S update, it started failing miserably, and I could do less and less. First, the prop selector broke; trying to open it would immediately crash the program. Then, I couldn't edit lights (neither their brightness nor anything else) as it would crash with the same error. I finally reached my limit when Hammer would crash with that same error the moment I tried to open the map. I’m not sure exactly what happened, but luckily, I could still open and work on the map in vanilla Hammer without issues, so the problem was definitely with Hammer++. To be honest, I ended up appreciating vanilla Hammer much more after this experience because it is far more stable; I literally haven't had a single crash since switching back. With Hammer++, it crashed even when I wasn't doing anything, I just stepped away for a cup of coffee right nearby, and when I came back, the program had completely crashed on its own. I found that pretty funny. Anyway, if anyone knows exactly what happened, I’d love to hear it. That said, I don't plan on going back to Hammer++ since I lost quite a bit of progress, at least not until it’s more stable, certainly not in its current state.
7. The hero of the day, "Compilepal"
Finally, I should also add that this was my first map with "cross-game" props and textures, almost all from Left 4 Dead 2. Part of the map completion process involved somehow injecting or inserting these models and textures into the .bsp file so that no one would have to download the map plus all the necessary elements (that would be incredibly inefficient!). So, I started looking for a tool that would work. I initially tried VIDE, but it didn't work properly. My second option was to download CompilePal directly from the official GitHub repository, which is 100% safe. The program is versatile, easy to use, and super intuitive. I literally had the map packed and ready to publish in less than 5 minutes, even with navmesh and everything! So, if you ever need to package a map with props or textures that aren't native to the game, this is my best recommendation.
8.Thank you! + Radar Map overview
If you've made it this far, thank you so much for reading this Devlog! It truly makes me happy to share my creations with the community of this game that I love so much. If you have any questions or doubts, feel free to write to me. Below are the map radar images; I almost forgot to include them!
The content cannot be displayed because it is no longer available. -
How are you all? I hope you're doing well!!
I'm back after almost three months of development, and I present to you "de_honor," my latest work. To be honest, it's the first time I've ventured into making a larger map in the bomb defusal mode.
A wallpaper I made from one of the images I took in spectator mode (no AI was used in its creation)
A larger, more detailed map presented a significant optimization challenge. I've learned several new things from this experience and I'm very pleased with the final result.
1.First Steps
The map's main inspiration came from a memory I had when I was younger. At some point in CS:S, I remember playing a map that took place in a kind of museum or complex, at night under a city of yellowish lights.
So I tried to stay as true as possible to the vibes that map gave me, while incorporating my creative vision.
As you'll surely notice, the skybox isn't native to the game, so I set about finding one that was as close as possible to what I was looking for. The only edit I made in Photoshop was changing the color of the lights from white to the yellowish hue I remembered.
The map layout, like the previous one, was built almost as I went along. Although you'll notice that from the early stages of development, the map practically maintained the same shape until its final version. The only thing that changed, in a sense, was the initial distribution of some rooms, but I seemed to have a pretty clear idea of what I wanted.
Below I share some images of the development process of some key areas of the map.
1.The creation of the elevators and the elevator shaft
A key point and connector for different paths to the bomb sites, right next to the T-Spawn. To be honest, I had no idea what an elevator looked like from the outside or how it worked, so I set about finding different reference images online to make it as realistic as possible, adding support columns, brakes, counterweights, and the motors at the top. It was fun gradually shaping it thanks to the references.
Development to the final version of the elevators.
2.Development of the "loft" and main connector of the map
This is a key point on the map as it connects bomb sites A and B both above and below, making it a fight zone between both teams, favoring quick rotations from one point to the other and providing several cover points.
In the image below, we can see that this is one of the areas of the map that changed the most, since initially I had planned for bombsite A to be in the same room, but I concluded that it needed to be a closed room, not only for gameplay but also for performance, which was one of the problems I had during the final stages of development.
3.Before and after comparisons of "Banana" and "T-Spawn"
Here are some before-and-after images of these locations on the map. As a side note, you'll see that in the initial stages there were blue and white doors. I did this to indicate where doors would be located and which ones would be closed (blue) and which ones open (white). This helped guide me and prevent me from getting lost later. I never marked the areas with windows, but I placed them based on my intuition. Although I must admit that initially the building was going to have many more windows and be much more glazed, but out of love for the Source engine and optimization, I opted to considerably reduce the number of windows facing outwards.
4.Exterior areas of the building: "CT-Spawn" and "Catwalk"
The idea of having outdoor areas or being able to traverse dizzying spaces between rooms to reach another point was with me from the very beginning of development. I wanted to give players the feeling that the world out there was "alive," that they could fall and die. Originally, in addition to that area, I planned for the map to have more zones that required skillful jumps, exposed to the void or a fatal fall, but I ended up discarding them, leaving only the "catwalk" zone as a connector to bombsite A. As a side note, the "catwalk" area is where I took the image to make the wallpaper.
5.Construction of the middle of the map and the central skylight
To be honest, while at first glance it might seem like the most difficult or time-consuming part of the map, on the contrary, it was quite easy to shape. I suppose that's because I already had the idea of having a "green area" within the building itself, something like a small artificial forest/greenhouse surrounded by gray concrete and cement to create that contrast. The area of the map that took me the longest to create was undoubtedly the elevators and the elevator shaft.
-
Hi everyone! How are you? I wanted to share the result of my favorite hobby: creating maps! Especially for my all-time favorite game, CS:S, a game I spent countless hours playing with friends back in the day.
This is the first map I've created and published. I've had experience creating maps before, but I never finished them. Four weeks ago (the development time for this map), I decided to put an end to that and start and finish my first map.
1. First Steps
The truth is, I always had a vague idea of what I wanted to do, but literally the entire map development was more or less improvised. However, as the map grew, ideas emerged about which routes to create and how to place the different engagement points.From day one, I planned for the map to be compact and not too large, since creating a bomb defusal-type map would take more time. These maps need to be larger to offer more fluid gameplay and allow for more strategic decisions for the CTs or TTs. So, the map was going to be a hostage rescue map, similar to "cs_".
With that decided, I set out to create a map that mixed a little bit of everything, but above all, it draws heavily from my favorite Counter-Strike maps, such as Havana, Chateau, Piranesi, and Estate. I had the inspiration; the plans weren't very clear at first, but as you can see in the images below, the idea gradually took shape until it transformed into a layout that I consider quite solid.
The construction method I decided to use was to create roughly proportional square brushes of a certain height, so they wouldn't just be long, single brushes that I would have to divide anyway. It was more convenient for me, and especially for keeping everything square and aligned. It helped me a lot to organize myself better and make the map symmetrical. Then I placed the textures, either doors or windows, on top, and on top of that texture I cut out the wall, always using the clipping tool, since using "carve" is obviously strongly discouraged. That way, once I had the shape of a window or door, I only had to copy and paste, which saved me a lot of time.
Next, I will show different images of the process before and after, and how everything took shape.
- General view of the courtyard
3. Evolution of the TT spawn zone 4. Evolution and creation of the fountain and paths in the courtyard
2. Main problems during the development of the map
I didn't have any major problems when I first tried to compile, and several times after that I received errors because I had exceeded the limit of T-junctions. This is mostly my own fault, as I'm coming from Source 2, an engine that doesn't impose as many limitations as our old friend Source 1. I only had to remove certain irrelevant details from the map. For example, the scaffolding area was made up of tubes, or cylinders. Since these had too many faces, they were very expensive for the compiler and were the main cause of the problem, so I decided to leave them square. The difference is really minimal.
Unsolved:
- I couldn't find a way to make "Ambient_Generic" work. I wanted to play the fluorescent light sound in the CT spawn area. What was the problem? The place already had a general ambient sound "chateau.interior" but I wanted to add that extra sound to give it a new layer and even more immersion, but I couldn't get it to work, neither with triggers nor with logic_auto, nor by trying other sounds nor increasing the radius, there was no way so I had to leave it like that.
- Radar map: I tried every possible way to make it visible on the radar, but nothing worked. I don't know the path the game uses to load the map texture. I tried all sorts of textures for the radar: .vtf, .tga, and .dds. Nothing worked.
3. Conclusion + What did I learn new?
I had definitely never created or edited Nav_meshes before, so it was a completely new and, above all, fun experience for me. I could name different locations on the map so bots could make callouts or have their names appear below the map radar. Creating a map in Source is a very enriching experience for those of us who, with modern engines, have lost the habit of optimizing. Source punishes those mistakes and forces you to give it your all to make the compiler work. The experience feels so "handmade"—using a 20-year-old engine to replicate the same graphics, the same lighting, and the same environments. That unique vibe that Counter-Strike: Source maps gave me, and still give me, definitely evokes my childhood and always takes me back to my best moments. Thank you for everything, Counter-Strike: Source.
Anyway, guys, I hope you enjoyed this brief overview. I honestly didn't want to go on too long and bore you. I hope you have an excellent day, week, month, and a great rest of the year! Cheers!
Almost forgot! here are the map radar images!
Screenshots