Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


sn0wsh00 last won the day on January 13

sn0wsh00 had the most liked content!

About sn0wsh00

  • Rank

Online IDs

  • Steam

Profile Fields

  • Website

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Learning more about the equirectangular projection, it turns out that if I wanted to properly texture a skydome, I should have only cropped the top half, as opposed to the top 3/4, of the panorama. For my upcoming map, though, I'm going to stick with the 3/4 method mentioned at the top. That's because the 3/4 method is able to capture a lot more of the horizon than the top half method, with the only tradeoff really being a slightly distorted skydome. Instead, I figured out that a much better use for the 1/2 cropping method is when I have to create a skysphere. Because I'm lazy, the "skysphere" in my map was really just two skydome models, with one of the skydome rotated along the Y-axis. A sphere was needed because the windows in the space-themed arena allowed players to look down. Unfortunately, I could not find a formula on how to adjust the bottom sphere's yaw so that it would match the upper sphere's texture, so I just had to eyeball it. You can see the results of my "skysphere" in the background of the screenshot below. Remember, this screenshot was taken on the same map as the screenshots I posted at the top:
  2. Talk about really randomizing your stuff: OrelStealth has just released a map with procedural generation: https://steamcommunity.com/sharedfiles/filedetails/?id=2362387875 Skimming through the decompiled files, it looks like most of the procedural generation was done through Vscript combined with a bunch of prop_dynamic entities.
  3. Ok, so I probably figured out the whole "use only" thing with regards to game_player_equip. It turns out what Nymphalow probably meant to say was: For "equip_player", make sure that "Use Only" and "Only Strip Weapon Type" are checked In the trigger_multiple output, the "Via this input" field should be "Use" instead of "TriggerForActivatedPlayer." Given that "Use" is by default a non-FGD input, "Use" will appear red. I'll update the guide to incorporate this new way to randomize weapons once I get close to finishing my aim_six_arenas spinoff. Shoutout to @Kokopelli's Snowball Fight - Country House map for showing how to correctly do this.
  4. A few months ago, I wrote a guide on how to vary CS:GO maps round-to-round using logic_case and logic_eventlistener entities. Would be nice to hear some feedback from you guys regarding my guide's accuracy, as well as any additions I should add: How to Randomize Your Map Round-to-Round in Hammer I owe of lot of the guide's contents to Reddit user Nymphalow and Valve's developer wiki. I do have some questions regarding some game_player_equip flags, however. Specifically, if you scroll down to the "Starting Weapons" section, you'll see that, for the game_player_equip entity named "equip_players," I say that you should only enable the "Only Strip Same Weapon Type" flag. In Nymphalow's original post, on the other hand, Nymphalow says that the "equip_players" game_player_equip entity only enable the "Use Only" flag. In my experience, though, having only "Use Only" checked caused a crapton of weapons to spawn, while having only the "Only Strip Same Weapon Type" flag checked caused the trigger_multiple entity to correctly spawn only 1 weapon. Hopefully, someone knowledgeable can help clear up this issue. I think I figured out how to use "Use Only" with game_player_equip and trigger_multiple. See post here. You probably won't be using many of these randomization techniques in a competitive map (heard people really disliked cs_havana for doing just that). However, I do think there's a bunch of potential for round-to-round variation in AIM, Coop and obstacle course maps, for those who want to give those maps more replayability. In fact (self-promotion ahead!), here are some maps I've created that uses some of the concepts explained in my guide: fy_five_infernos: group spawn randomization mg_space_race: obstacle course with randomized func_brush entities aim_six_arenas: weapon randomization
  5. I recently found a couple of GitHub tools that convert cubemap faces into equirectangular panoramas and vice versa: Panorama to Cubemap by jaxry Cubemap to Panorama by danilw I've been using the Panorama to Cubemap tool to port SpaceEngine skyboxes into CS:GO. To be more specific, I've been converting panoramic/cylindrical screenshots taken in SpaceEngine into the Valve skybox format. For the Cubemap to Panorama tool, I've been using it to apply CS:GO sky textures onto skydomes. To use the Panorama to Cubemap tool, upload your panoramic screenshot in a 2:1 format. After the tool processes your screenshot, down the cubemaps by clicking on the individual faces. Use the following conversion to rename the cubemap faces: nx -> bk ny -> dn nz -> lf px -> ft py -> up pz -> rt From there, import the renamed skyboxes into VTFedit. To use the Cubemap to Panorama tool, upload each cubemap image into each respective slot (upload BK to Back, LF to left etc.) When it comes to rotation, make sure the Up face rotation is set to 90 degrees, while all the other faces are set to 0 degrees. After setting your resolution, you can now download your new panoramic skybox. If you want to specifically learn how to fit your panorama onto a skydome, read this tutorial I wrote here.
  6. Sure, it's been less than a week since I've released aim_six_arenas, but that doesn't mean I can't start working on the spinoff map. The conceit of this spinoff map is still the same as the original: each round starts as a series of 1v1 matches before allowing all the surviving players to fight each other. The difference here is that, instead fighting it out in movie sets and hallways, the players now fight in separate arenas, with the surviving players teleporting to a seventh arena. From a gameplay perspective, this means no more searching up and down a corridor looking for enemies, something players generally dislike. From the design perspective, this means I can add a lot more details to the arenas, which can be seen below: Aztec/Ancient arena (original arena for comparison) Subzero/Monastery arena (original arena for comparison) Swamp/Sugar Mill arena (original arena for comparison) You'll notice that the skies in the screenshots are different, thanks to my use of skydomes. I wrote a tutorial on how I made these skydomes here.
  7. I've been working on a spinoff of my aim_six_arenas map that will use a couple of skydomes to create the illusion of multiple skyboxes on a single map, and I thought I could share my workflow on how I was able to create a multi-skin skydome without using programs such as Blender or 3DS Max. Specifically, I was able to port a couple of Valve skybox cubemaps onto a skydome model. To do this, Decompile a skydome model using Crowbar. For me, I recommend decompiling nuke_skydome_001.mdl, located in CS:GO's vpk files. Open the .smd file with notepad, which, for nuke_skydome_001.mdl is nuke_skydome_001.smd Inside nuke_skydome_001.smd, replace all instances of nuke_skydome_001 with the name of your primary skydome material. Open the QC file with Notepad and edit the $modelname and $cdmaterials to whatever folder you want. Add a $texturegroup skinfamilies section and add entries for the materials you'll be adding to the skyname (which, in my case, were skydome_cs_tibet and skydome_jungle). As a precaution, I renamed the QC file itself. In turn, my QC file ended up looking like this: Afterwards, use Crowbar to compile the QC file. Now that you have the model compiled, it's time to modify the texture so that it'll fit on the skydome. The only textures that'll fit the nuke_skydome_001.mdl mesh are those in the equirectangular panorama format with a 4:1 aspect ratio, an obvious problem given that Valve's skybox textures are in cubemap format. To do this conversion, Export the skybox cubemap VTFs as PNGs or TGA files Go to this Cubemap to Panorama tool, created by danilw Upload each cubemap to the respective face (BK to Back, LF to left etc.). Under rotation, make sure Up's rotation is set to 90 degrees and that "apply Mipmap" is checked. Set the panorama image resolution to a 3:1 aspect ratio. This is because the down face takes up a quarter of the image vertically. For my skydome, I set my resolution to 4096 x 1366, because I wanted to use a 4096x1024 texture for the skydome. Overall, this is how I filled out the Cubemap to panorama tool: And this is how the PNG I downloaded looked like (image has been resized): After downloading the PNG, crop out the bottom quarter of the image. Your panorama should now look something like this (image has been resized): Using VTFedit, import the cropped panorama in the DXT1 format. In the corresponding VMT, add the following lines of codes: Do the same cubemap to panorama conversion process for any other skybox skins you want to add to the skydome. Now that you've compiled the model and added textures, add you custom skydome as a prop_static. In the properties, make sure Disable Shadowdepth, Disable Vertex lighting and Disable Self-Shadowing are set to No, while Disable Shadows is set to Yes. Note that the default dimensions of the skydome is 4096x4096, which will cover the whole map if you place it in the 3D skybox. I've found setting a scale override of 0.25 still produced a decent looking skydome. For cs_tibet and jungle, you'll notice that the sun is baked into the skybox. Therefore, if you want your map to be realistic, you'll have to rotate the skydome to match the light_environment sun angle (also make sure your pitch isn't too different from the original map and the current map). To do that, use the following formula: Skydome Yaw Rotation = Sun Angle of the Map Where the Skydome Texture Originated From + 90 - Current Map Sun Angle Let's say you added a cs_tibet skydome to de_vertigo and want to have the sun in the cs_tibet skydome match Vertigo's sun angle. Vertigo's sun angle is 0 54 0, while the sun angle for ar_monastary, the map that uses the cs_tibet sky texture, has a sun angle of 0 153 0. Therefore, the cs_tibet skydome will need to a yaw of 153 + 90 - 54 = 171 for the cs_tibet skydome to match Vertigo's sun angle. For jungle, the skydome will need a yaw of 315 + 90 - 54 = 351, as de_aztec has a sun angle of 0 315 0. And now some screenshots. Remember, both of these screenshots were taken on the same map: Hopefully, others can use this method to quickly convert other cubemap skyboxes into skydomes. I would also appreciate any feedback you have for this tutorial.
  8. As I said at the top, there will be several spinoff maps of aim_six_arenas. In fact, I've already released one that's compatible with Arms Race, Demolition and Deathmatch, AR_Six_Arenas: https://steamcommunity.com/sharedfiles/filedetails/?id=2353724972 https://gamebanana.com/maps/213959 This spinoff removes AIM_Six_Arenas' game_player_equip entity, due to that entity causing CS:GO to crash in Arms Race and Demolition modes. While this map was originally designed for those aforementioned modes, it is still playable in casual/competitive modes, where, instead of randomly preselected weapons, players use buyzones to get guns. In other words, if you ever wondered how 1v1 multi arena would play out with buyzones, this map is kind of for you. Other than that, this map identical to the original, hence no screenshots. For the first 20 seconds, the arena doors are locked, forcing players into 1v1 matchups. After 20 seconds (15 seconds after the end of freeze time), the doors will unlock, allowing players to use the hallway connecting the arenas to hunt down surviving enemies.
  9. Original Map (AIM_Six_Arenas) Downloads: Steam Workshop Gamebanana Spinoffs: Deathmatch/Demolition/Arms Race compatible version: Steam download Gamebanana download After several weeks of works, I would like to present to everyone my take on 1v1 multi arena: AIM_Six_Arenas. The map features six 1v1 arenas connected by a hallway. For the first 20 seconds of each round, though, arena doors are locked, forcing players into 1v1 matchups. After 20 seconds, the doors to each arena will unlock, allowing players to use the connecting hallway to hunt down other players. You can and should use the radar to determine where remaining enemies are located. As there is only one door into each arena, I gave players the ability to teleport directly into an arena, potentially bypassing anyone camping at the door. However, there is a two second delay before you can teleport, so you can't simply use the teleporter to cheaply run away from enemies in the hallway. Also, to reduce the amount of searching after the doors are unlocked, there are indicators in the hallway showing which arenas are currently occupied. This map also has random sets of weapons each round. The matchups are: USP-S vs. Glocks Five-Seven vs. Tec-9 Mag-7 vs. Sawed-off MP9 vs Mac-10 Famas vs. Galil M4 vs. AK47 AUG vs. SG 553 Credits: TopHatWaffle's Real World Textures: https://www.tophattwaffle.com/downloads/real-world-textures/ TopHatWaffle's Real World Textures 2: https://www.tophattwaffle.com/downloads/realworldtextures-2/ TopHatwaffle's Water Source: https://www.tophattwaffle.com/downloads/water-source-textures/ In addition to Valve's main maps, this map also uses models and textures from cs_agency, de_breach, de_swamp and de_subzero I also plan on releasing several spinoff maps based off of this map, with individual maps based on the arenas, as well as a more traditional 1v1 multi arena map compatible with the 1v1 plugin. And now screenshots of the six arenas, as well the connecting hallway:
  10. The map will have a radar, so that should make it easier to infer where friends and enemies will be coming from. Also, for one of the spinoff, I plan on having all surviving players teleport to a seventh arena, with Ts and CTs teleporting to distinct sides. Nevertheless, taking your advice, I decided to overhaul the hallway on the original map so that it feels less hallway-ish. First, I widened the hallway to make it more like an atrium. I also transformed the corridor so that it'll look like three distinct sectors, with the two end sectors connecting to three arenas each. With this, I hope to visually nudge players into checking the two adjacent arenas first before moving across the map to check the other three arenas, hopefully reducing the amount of back and forth running. Here's a comparison GIF of the changes (I did not record the coordinates for the original screenshot, so this comparison won't be perfect): And here's another screenshot of the revamped connecting area:
  11. Added some more details to the AIM map I was working on: Italy/Inferno/Canals (more roofs): Aztec/Ancient (more foliage): Subzero/Monastery (more background stuff): Cache (more foliage): Also, I recently discovered that the game_player_equip entity kind of screws up CS:GO if you're trying to play deathmatch, arms race or demolition modes. In fact, if your game_player_equip is forcibly equipping players and you try to play in arms race mode, the whole game will crash. This means, on top of the 7(!) spinoff maps already planned, I'll be releasing a deathmatch/arms race compatible version as well.
  12. I've been working on a AIM/AM map for CS:GO, with a twist. The game initially plays out as a collection of six 1v1 matchups. After 15 seconds, the doors to each arena will unlock, allowing players to walk to other arenas, or to fight it out in the hallway connecting the six arenas. There will also be random sets of weapons each round (AK vs. M4, Tec-9 vs. Five-Seven, Sawed Off vs. Mag-7 and so forth). Overall, I envision the map being like a collection of six movie sets, each themed after a CS:GO map. This is why you can see some skybox textures on walls, as they are meant to be something akin to LED screens. Here are how the arenas look like so far: Sugarmill/Swamp: Aztec/Ancient: Dust/Mirage: Cache (closely based on the official 1v1 Cache arena): Italy/Inferno/Canals: Subzero/Monastery: Hallway that connects the arenas: You'll notice some red buttons in the hallway screenshot. Pressing those red buttons will teleport players into the arena, after a two second delay. I added these buttons because there is only one entrance into each arena, which I think would make it really easy for someone to camp inside an arena. In turn, allowing players to potentially teleport behind a camper would be a good way to balance things out. Also, requiring players to stand still for a couple seconds before teleporting prevents players from cheaply teleporting away in a hallway fight. Finally, I plan on creating a spinoff version without the connecting hallway. Instead, the map will teleport surviving players to a 7th arena after some time. I also plan on creating separate 1v1 maps for each of the arena.
  13. I was poking around with a decompiled version of de_subzero when I stumbled on this func_button entity that I thought was kind of amusing. It's located on the snowmobile near bombsite B: (For Google purposes, the sound names are 69420alldayeverydayBigBallerBrand1 and 69420alldayeverydayBigBallerBrand2) Just something I thought I could share in light of LiAngelo Ball getting waived today.
  14. Just uploaded my map fy_orbiter onto the workshop. You can download it here: https://steamcommunity.com/sharedfiles/filedetails/?id=2296600013 It's an otherwise very simple fight yard map, but I thought I did a fine job with the garden area: I also like these video screens, which I made using VMT proxies and SpaceEngine (TV frame is from de_breach): And finally, here's (part of) the skybox I used for this map that I exported from SpaceEngine, used on a different map: If you want to export a good looking skybox from SpaceEngine without a Pro Version: Set SpaceEngine's resolution to a 2:1 aspect ratio (for this map, I set the resolution to 4000x2000) Set the projection to cylindrical Take a screenshot in PNG format Use a panorama to cubemap converter, such as this one, to convert the PNG screenshot into six separate cubemap files Rename the cubemap sides to their proper names. If you used the Panorama to Cubemap tool I linked to, the renaming should be: nx -> bk ny -> dn nz -> lf px -> ft py -> up pz -> rt
  15. Great map! Really like the house design and your use of custom(?) hostage radio lines. If there is one thing I can nitpick, I think that when a CT reaches a hostage rescue zone, the map should send out a text alert indicating that the CTs have reached a hostage rescue zone in addition to the radio lines (I used something similar for a hostage escort map I released a few months back). I feel like an action such as triggering the rescue helicopter should deserve the same server-wide text alert such as planting a bomb or picking up a hostage, instead of just a radio message that can be easily missed compared to a text alert.
  • Create New...