CityStreetsVille Mapping Challenge

30th January 2015

Single Player First Person Shooter Maps and Mods for Half-Life 1, 2 and Episodes 1, 2 and 3

For this mapping challenge, I would like you to create a map that is set in and around the streets of a city.

It doesn’t mean you have to stay ON the streets all the time. You can go under or over them, you can drive through parts too if you wish. There could be plenty going on, with Rebels around you or a dark and atmospheric setting.

The player could work their way through destroyed buildings or fight on pristine streets.

It’s your decision.


I was late announcing this challenge, so I have extended the deadline by one day.
The deadline for submitting maps is:

The deadline is now 11am GMT Tuesday 17th February

General Advice

MAke the streets look real. Don’t just leave them empty of strange corners etc. It’s better to create a smaller, but polished area than a large unfinished map.


I highly recommend The Beta Testers Collective.

But since it is holiday time, please make sure you give them plenty of time to test.

Of course, you can get anybody you want to test your maps, but the BTC are very good at it and provide excellent feedback.

Prize and Judging Criteria

The prize for this mapping challenge is Contagion donated by an anonymous PP/RTSL Supporter and will be selected by a public vote.

General Rules
  • Maximum two maps per mapper per competition.
  • The map must be original and not have been released publicly before.
  • The map must run in system with only Ep2 installed
  • By entering the competition you grant PlanetPhillip.Com and RunThinkShootLive.Com the right to release the map as part of the CityStreetsVille Mod.
  • Maps must not appear before the release and for one month after the release of the mod.
  • No assets from retail games other than HL2, HL2: Ep1 or HL2: Ep2 are allowed.
  • Other assets are allowed with written permission from their original authors, which MUST be included in the entry.
  • Phillip’s decision is final and no correspondence will be entered into about it.
  • The map MUST have a proper name.
  • The map MUST have a proper filename: MapName_csv.bsp
  • All entries must be sent to: [email protected] no later than the deadline.
Bonus Map

There is no bonus map for this challenge.

Final Thoughts

Replay Ep1 for some inspiration.

As always, feel free to post questions here as comments or send an email to me if you want a private answer.


  1. I shall attempt to throw my hat into the ring. I might miss though. Between work and looking after the pregnant wife I don’t have a lot of time for hat throwing at the moment.

    1. I shall attempt to catch your hat, no matter where it is thrown, unless of course it lands on your wife’s head, in which case I’ll stay right out of the way. Congratulations, are you having a boycrab or girlcrab?

      1. We don’t know. When we tried to find out it kept its little legs firmly together. This makes me think girlcrab to be honest, because surely a boycrab would show it’s… arsenal off without a moments hesitation. ๐Ÿ˜›

        1. Well, look on the bright side, if it is a girlcrab you will be praying she keeps her legs together for many, many years to come.

          1. Well, at this rate I’ll be lucky I can even get started. I’m yet to open hammer after an hour of faffing the various SDKs… Broken as all Hell…

            1. Greenman

              You gotta open it from the bin folder. Steamapps – Half-Life 2 – ep2 – bin – hammer

              1. Hey, thanks man. You’ve saved what is likely to be a very mediocre entry. ๐Ÿ˜›

                1. JG

                  Actually, it’s steam/steamapps/common/Half-Life 2/bin and then hammer.exe. If it’s anywhere other than that, you could have a screwed up Steampipe conversion where some stuff didn’t get moved correctly!

  2. zastels

    I’m in for this one, but it’s a tight deadline, I’ll have to work pretty hard!

    1. If you win, I’ll run a VandalVille!

  3. Does it have to be city streets? Could it be more of a town? But not so sparse like the coast, but maybe a town larger then the White Forest Inn stop. Maybe even that map with the auto gun in Ep2? Would that count, or would that make the rules too confusing?

    1. Yeah, it’s gotta be set in the city and at least partially on the streets. Sorry.

      1. So something more suburban or in near a factory area on the edge of the city would be perfectly fine, right? “Urban sprawl” and all that. As long as it focuses on the streets.

    2. JG

      I was going to ask the same thing. What other locations in HL2 would qualify other than City 17? Because, as I suspect ihonnyboy thinks, I’m more excited by a lonely little town like the White Forest Inn area than City 17.

  4. JG

    Hmm, this is one of those deceptively simple themes. On a ten day timeline, making a city environment will be tough even if you’ve got a great idea. City environments are probably the most time-consuming and “expensive” areas to make because you have to maintain a diversity of buildings along the edge of the gameplay space and be constantly mindful of sight lines. Think of all you can see from a building, or looking down a street.

    I’m still contemplating it, though.

    1. I know what you mean,. but I don’t expect a long, straight street. In fact, you could easily only see the street a few times if you want to make it that way.

      1. To expand on this, I can see mappers who don’t have a load of time making smaller alleys with very few large boulevards and roads and transitioning often to underground/sewer areas which are really easy to make in HL2, or occasionally making the player traverse a semi-industrial area (kind of like the electrical substation immediately after the teleporter incident in HL2).

        I don’t know whether to participate or not in this one. I’ve been off Source mapping for a while and City Streets isn’t exactly the easiest theme to get back in with, but the thought of making a map with that “city feel” that HL2 pulls off so perfectly excites me.

  5. MajorBanter

    I wonder who fancies taking a stroll

    1. Greenman

      Sounds interesting ๐Ÿ˜ฎ

    2. MajorBanter

      It’s the first time I’ve ever really been able to sit and flesh out one of Stroll’s key features (which is hideously amateurish, I know), and I’m reasonably proud of the result.

      Hoping I find enough time over the next week to BSP bash the geometry to completion – I have a lot of AI testing to do for the main fight.

  6. Ok, day one and I’ve got a basic layout for my map ,keeping it small (6738 by 4094 including non-playable areas)

    I’m having a bit of trouble with brushwork in that I can’t seem to get the engine to accept it as I put it, I’m not really sure what’s wrong with it.

    (not how it looks in editor) if anyone has any tips for getting hammer to accept brushwork that would be helpful. All the vertices are on the grid and there doesn’t appear to be any internal clipping.

    1. MajorBanter

      I assume you’re using vertex manipulation? Moving points carelessly can result in BSP planes that simply won’t render properly. The engine compensates by shifting them to the nearest point where the brush can be rendered.

      Quick solution? Cut the brush in half diagonally, looking down, from the problem point to the opposite point.

      1. So for future reference does that mean that triangular brushes work better with vertex manipulation?

        1. JG

          It’s impossible to make a concave triangle, so yes. From your screen, it looks like you’re sloping around a hill using quads, which isn’t going to end well. HL2 will let you do this to a point, but I think you’ll get bad results if you go beyond it.

          If you have time and patience, DispEd is something worth trying for things like this. It generates a curved displacement, and then you can use the Raise To function to make it curve upward smoothly.

        2. MajorBanter

          I think an example is best here.

          The simple answer is ‘yes. God yes.’ Naturally this limits you when it comes to displacements, but you shouldn’t be vertexing displacements much anyway.

    2. I’m not sure how to word it but from the screenshot it just seems that one or more of the brushes’s faces are not flat, thus the engine doesn’t compile the map with them. If that’s the case just do what MajorBanter said and cut the problematic brushes diagonally so that every face is flat.

    3. Just about on track, nothing remotely pretty to look at yet but the gameplay is almost in place. I’m keeping it short and keeping it simple so the main thing I’m concerned about is going to be balance. I will probably be sending the map off for testing on Wednesday and from then it’s as much fixing and polishing as I can

      1. I think I’m pretty much done with the map, I’ve got to do a sfx pass and maybe a bit more detail but I think don’t think I’ll go far beyond the original end date. I’ve got a bit more testing to do to iron out any bugs or issues

        1. JG

          If I may make a couple suggestions –

          1. Purely white light, like what you have beneath the overpass, never looks very good. Valve has standards on their Intermediate Lighting page for tungsten, fluorescent and Combine lights. You can use those settings, or let them inspire your own, but don’t use pure white.

          2. Likewise, pure white fog looks odd. But more importantly in this example, the fog should start much closer to (or even behind, using negative start values) the player. It always looks odd to have bright white fog that only begins at a certain point, but leave the player’s immediate area completely clear.

  7. MajorBanter

    Hey Phillip, perhaps a stupid question but what about entering a city, and doing a solid half of the level in there?

    1. I’m not exactly sure what you mean by “entering a city” but as long as there are some city streets at some point, I’m open to it.

  8. Wow, the SDK only seems to have gotten more clunky since I last used it. I can’t build cubemaps at the moment. I’ve seen a couple of solutions online that I’m going to try out.

    This is already a much bigger attempt at mapping for Source for me. Here’s a screenshot of around 3 hours work.

    I literally have no idea what I’m doing…

    1. JG

      Cubemaps have been broken ever since Steampipe (thanks, Valve). There is a workaround which is reliable, but it is very tedious.

      Basically, when you compile your map, Valve’s vbsp tool inserts a bunch of broken, blank cubemaps in the BSP. When you try to run buildcubemaps, the game sees that these already exist and aborts.

      There are two ways around this:

      1. Use Pakrat. After building your map, open the BSP in Pakrat and remove everything that’s a “Texture.” Save your map.

      2. I have heard of a mythical, hacked vbsp compiler on Interlopers which prevents the junk cubemaps from being added in the first place. Gambini mentioned this one. I have no experience with this workaround.

      Once you’ve done this, you load the map and generate the Cubemaps as usual.

      From the Valve Developer Wiki:

      mat_hdr_level 0 (to go to LDR)
      restart (to reload map)
      mat_hdr_level 2 (to go back to HDR)
      restart (to reload map)

      This assumes that you start the game in HDR and have compiled your map for both HDR and LDR lighting. Do these commands one at a time in the console.

      Now, if all that sounds really tedious… the truth is that because the default cubemaps are mostly black, they aren’t going to be too distracting if they are left that way. It’s an extra level of polish, but I’ve seen plenty of maps without them because, let’s face it, this workaround is stupid.

      1. Thanks again for your help. This might be a compile job. ๐Ÿ™‚

        1. Then you need CompileMan, the greatest superhero since OptimizeMan.

          1. Urby

            Oops… I meant Final* compile job. Tablet must have auto-corrected out a perfectly reasonable word… again.

            1. JG

              It depends on how much you’re going to rely on them. Like, for Cannon Beach, the glossy wet beach and boardwalks were important to establishing the look of the map, so I went back and forth dozens of times with it.

              But for Miter? Eh, you do it a couple times to get a feel for what needs to be adjusted, and then you do the rest at the end. ๐Ÿ™‚ Just make sure when you do a -final that you keep backups of your BSP, in case the cubemap process goes awry for some reason.

    2. Still not 100% sure what I’m doing. This is day two’s progress, working on and off. (mostly off)

      I’m having issues compiling with normal vvis.exe now as well… for seemingly no reason. I even stripped the map down to the basic player spawn area that had no issues before and the vvis.exe process just hangs. Fast VIS works though so I’m working with that at the moment. Hnnng.

      I’m starting to love GoldSource mapping more than ever with each passing moment in Source. ๐Ÿ˜›

    3. And another update from me. I’ve been focusing a lot on one side of the street at the moment because that’s where the gameplay takes place.

      I’m very concerned that I won’t reach the deadline so I think I will focus more on gameplay for a while, get the whole thing block mapped out, then focus on detailing again.

  9. JG

    This is where I’m going to post updates about my entry!

    1. JG


      So, we’re off! I have a basic idea and sequence of events in mind and a rough sketch I’m working from.

      I blocked in the buildings and the roads that the player (and friend) will travel on. As you can see from the upper-right portion of the window, the gist of the sketched map is there except for the portions to the east. The two odd cylindrical things are my templates for bending roads through vertex manipulation.

    2. JG


      More of the buildings and their texture schemes were fleshed out today, along with the lighting, fog and HDR settings. Main things missing on the buildings are random details and the rooftops. The basic path through the level is present. Decided on the main enemy and NPC that the level will revolve around, so it’s time to start building in the intended gameplay.

      Also, a script was written and sent to the voice actor.

    3. JG


      I may have gotten a little ahead of myself when I decided what the focal enemy was going to be. Doing another test tonight, I found myself reversing course back to what I originally intended. I’m not yet sure how that will affect the voiceovers, so I’ve put those aside for the moment.

      Other than starting to place enemies and path nodes, I got the big ugly thing out of the way today – turning a lot of the buildings into func_details and sealing the world in a proper skybox (as opposed to a giant cube surrounding the level). I also capped off all the endings to the roads, displaced what needed to be displaced and threw a bunch of cars onto the road to be arranged for cover. I don’t anticipate running into any performance issues from here on out. Surprisingly, it takes very little time to compile.

    4. JG


      Thanks to a miscommunication, the voice acting arrived, despite having tried to put it on hold. But, this ended up being quite fortunate as I was so impressed with it that I decided to go back to the scenario that it was originally written around. This forced me to go and reconfigure the main battle area to support the change in gameplay.

      Combat-wise, the map is going to be broken up into 3 parts. I’d say I got about half of the first part done today. The assets are there and triggering, but it’s not very cohesive yet.

      I also spent some time on the giant skybox. As anyone who has dealt with Ep1 and Ep2 maps knows, Valve is rather fond of enormous skyboxes with oversized assets (which kind of defeats the point of a miniaturized skybox, but I digress). The destructing Citadel backdrop used through Ep1 is a real pain to decipher because the models it uses are so huge. I did manage to recreate it as best I could. As it is the dominant centerpiece of the background, it was nice to get that out of the way sooner rather than later.

      Finally, I got Faceposer working again and added the .wav files for the intro sequence. It processed everything fine, with a few adjustments here and there. There are actually 32 lines of dialog, so it will be a solid day’s work to make scenes out of all those. I know that seems ambitious, but I think when you see this in action, it will be worth it.

    5. JG


      Lots of entity and Faceposer work today. Most of the entities needed by the gameplay are placed now. The first third continues to move along, with Faceposer scenes getting integrated. The last third is built out from an entity standpoint, but it’s not tied together yet. The critical middle portion will probably be tomorrow’s focal point.

      I’m quite excited to Facepose these scenes, mostly because the voiceover has a lot of character to build expressions and gestures around. It should be noted I got a helpful assist from ihonnyboy today who reminded me of “Look at Actor.” For some reason, I thought “Face Actor” did both facing and looking. I know for a fact this was an oversight in Miter, where it confused me why the inmate at the start would sometimes look to the side while talking to you.

      Also found another use for ai_script_conditions. ๐Ÿ™‚

    6. JG


      Set up the scene that introduces the main battle and did the first wave of it. The rest of the enemies and their template makers for the other two waves are set for getting wired up tomorrow. The part leading up to it continues to evolve. Finally got around to aligning the textures along the street, and I’m very thankful I used 16-sided cylinders as the metric instead of 32. Sure, it might be a bit jaggy, but it’s a lot easier to align and given how much curving there is, probably helps with performance a bit.

      Also beautified the large orange building and adjusted the overall skyline of buildings so things are on different levels. Aside from details along the main street (garbage, graffiti, wires, etc), other large visual tasks include the 3D skybox and the exit tunnel, which is looking very plain right now.

      But the hope is to get the last two waves in tomorrow and get as far as I can on the exit. I know the exit is going to have at least one sticking point, but I have a thought about how to overcome it.

    7. JG


      The map is now operational from beginning to end. This is obviously a big step forward. I am very pleased with how things are turning out.

      Remaining visual tasks include more detailed prop pass, cubemaps, overlay pass and the 3D skybox (which will be very crucial). I also want to add more lighting on street level because outside of a few splashes, the sun doesn’t reach. Gameplay-wise, it’s mostly about tweaking what’s already there now that there’s a foundation.

      This is the part where it gets fun.

    8. JG


      Flying around the map, I caught this neat perspective. Just wanted to share. ๐Ÿ™‚

      1. Oh, that “HINT” box is interesting.

    9. JG


      Been a while since the last update.

      Visually, the level now has a 3D skybox, prop pass and about half of an overlay pass. I decided to have the ending be a bit more dramatic, which resulted in a couple days of additional work, but I think it will be worth it. The engine is telling me to stop, though. I reached the “Too many vertices” error yesterday which led to some emergency optimization work with portals. It’s running much better today, however, and I never noticed a framerate drop.

      Gameplay-wise, for me, it’s definitely doable on Normal with a fair bit of health to spare. Pretty much everything is working as intended at this point.

      The level has also been christened with its final name, but to share it would be to spoil the surprise!

      As for Faceposer, I converted all of the sounds into a formal soundscript, which means I can do captions and volume adjustments for speaking. Fortunately, I didn’t have to redo the lip sync. There are still a handful of scenes that need gestures and expressions, but I was waiting on the soundscript change since I need to condense at least one of the scenes.

      I’m confident that with another couple days of work, it should be ready to go. I suspect because of the scenes and custom audio and script that it may be a bit of a pain on Phillip’s end to integrate, so it would be nice to set aside a little time to make sure it copies over correctly.

    10. JG


      Getting down to the last things now, running through the level over and over again. The Steam screenshot feature is so useful for taking snapshots to remind oneself of what to fix – as well as creating an interesting pictorial history of the level’s progress.

      The level has reached a point where it’s basically ready to go if it had to.

      Also, because it’s Valentine’s Day, here’s a funny thing that randomly happened today.

    11. JG


      And submitted! ๐Ÿ˜€

  10. I hope to see some Episode One style “destroyed” maps, I think EP1 is really underrated.

  11. Hec

    WOW im so excited for this, finally we will see entries in an urban scenario, which is my favorite atmospheric place in HL2.

  12. Mega Sean 45

    Ah yes, THIS I’ve been waiting for! I cannot wait to play it! ๐Ÿ˜€

  13. I always hoped for a more Fallout setting on this one, but I think it’s gonna be great even without it.

  14. I look away for one second and instantly there’s 35 comments.

  15. Is this the time I’m getting back into the competitions ? I hope so. I’ve been very uninspired lately but I’ve got some nice ideas for the map already and 50% – 75% of the map is already planned. I’m starting to block out the map and creating the set pieces.

    However I am having a weird bug happening to me that maybe someone could offer a solution. It’s pretty obscure and I can’t find anything online about it. I’m using a point_spotlight attached to a moving object. At some point during the scene I will input the KillHierarchy command on the parent object to kill it and everything attached to it. Everything deletes fine except for the spotlight which for some reason teleports to the origin of the map and creates a beam of light from there to it’s last known position (where it was ‘killed’). It’s not particularly problematic for me because it’s in a place where the player won’t be able to see it but it’s a bit annoying and being the curious cat I am I’m trying to find out what’s causing this and how I can prevent it. If anyone has any ideas please let me know.

    1. JG

      I’ve never tried killing a point_spotlight, I think I’ve usually just send a TurnOff. Try unparenting the point_spotlight before killing it or turning it off, or do TurnOff before killing it.

    2. So, a little bit of an update on my progress. I didn’t realize how much fun this could actually be. For the longest time now I’d been completely uninspired and every time I’d open up hammer it wouldn’t stay open for more than 30 minutes. And I could never decided what to do. Map for HL, then CSGO, then back to HL again and so on. But this competition so far is really good at keeping me grounded and focused.

      The map so far is going pretty great. Much better than my previous two entries for PP competitions (although that’s not saying much). It is by far the most scripting I’ve ever done for one single map, and I’m really trying to focus on the gameplay first of all, and hopefully the visuals won’t stay far behind.

      Currently about 50% of the map is blocked out and almost completely scripted. It’s been a very different experience for me. I normally start scripting (on the rare times I do start) after a bit of “prettifying”, which is obviously a very bad way of doing things, so hopefully this will turn out how I envision it to.

      Oh, and thanks to JG for his suggestion. Turning off the spotlight before killing it’s father worked. It didn’t pop up to me at the time because I didn’t think the spotlight was actually teleporting, I just thought it was a weird graphical glitch.

    3. Another update. I don’t know if people read these but I enjoy writing them. It allows me to ponder on what I’ve accomplished yesterday and also gives me to opportunity to sip my coffee.

      So far the map is feeling absolutely great. It is by far, the smoothest and cleanest creation process I’ve had since I started making maps. Hopefully it will continue until the end.

      I continued on with blocking out the map and creating another combat encounter. After that I went back and did a small detail pass on first third of the map. Blocked out the roads with buildings and triggered some minor stuff at the beginning of the map.

      Only one small part of the map is still left to block out and script as I’m still debating what to do. The original plan was for another combat section, but now I’m starting to think that might not be a good idea as the player has just come out of a big fight, and it might be very tiring to do yet another one. Perhaps I’ll just end the map after that seeing as it is more or less a boss fight.
      I’ll leave it for now probably and see how much time I’ll have left towards the end. I just realized yesterday that I have to go to the hospital on the last two days of the competition so that significantly reduced my work time, which is a shame.

      I deliberately don’t post any screenshots because I don’t like to spoil the map for people. I do believe I have some interesting environments so I’d love to see peoples honest reactions (not that anyone reads these anyway xD).

    4. The last two days were pretty horrible to be honest. As I started to work a bit on the visuals it started looking pretty horrible. And I kept focusing more and more on how bad it looked that I couldn’t think about anything else and it was driving me crazy. (Also the bird AI in source is god damn awful and it frustrating me quite a lot).

      The map is pretty close to being finished, it just doesn’t look very good. Because of that I decided to try a big risk. After I stop writing this little update I’m going to start from scratch, with a very similar layout but improved visuals from the start. Since the scripting will be the same and I have 4 entire days of free time to work on this I reckon I can pull it off. I’ll copy paste some of the stuff that looked alright and hopefully it will pay off. At least it worked for AssassinationVille, were I also restarted and it turned out better than the original was capable of (even if the end product wasn’t very good).

      And hell, if I can’t finish it in time, I’ll integrate what I can into the original map and submit it with poor visual I guess.

      1. JG

        If there’s some secret to the bird AI, I don’t know what it is. I actually have an outstanding question at Interlopers about it.

        There are two ways I use the bird AI:

        1. If the bird is never interactive and is basically window dressing, you can use a prop_dynamic with the bird model assigned to it and whatever animation you want (such as the Eat animations).

        2. In what seems incredibly wasteful, you can use a scripted_sequence on a bird to make it play an idle animation and, when you want it to fly off, you cancel the sequence and tell it to fly off.

        I have NEVER figured out the trick to allowing them to walk around on their own. They always do that stupid stutter-step thing and pivot around erratically. I’ve never found any clues in the Valve Github code either. Sometimes it works, sometimes it doesn’t, and there doesn’t appear to be any rhyme or reason.

        Between method 2 and all the info_node_airs you need (unless you have something else that needs them), birds are fairly “expensive” entities that have a lot of overhead for all they do.

        1. MajorBanter

          Wait, JG, are you Riomaki?

          I give up. Towel thrown in, toys out of pram.

          1. JG

            Aww, don’t do that!

    5. Well, the deadline extension did certainly come in handy. (Even if I don’t agree with it changing midway). On the first day of my remake I managed to complete pretty much all the bsp blocking of everything in the first area (my map is divided pretty much into three). That includes detailing geometry, such as curved walls and roofs and all that sort, as well as defining props, which I kind of need to model the world around them so that they look good. I was going to do the scripting as well but then I read the deadline extension and kind just stopped.

      So by the end of today the first area should be completely finished, including scripting and detailing and all that good stuff. That might seem a bit weird to work with, seeing as absolutely nothing of the other two areas is done, but it seems to work better for me somehow. It also helps that I’m building each part in such a way that it’s incredibly easy to hide the other two, so it’s pretty much like working on three separate maps.

      I think I’m going to start building my maps going forward like this. Spend a while creating the full map with very basic geometry to see if the gameplay can work, and then start from scratch and do everything from the start, instead of doing a bunch of passes on it (blocking out, detailing, optimizing etc.).

      I haven’t yet compiled and looked at the map, I want to do that after everything is blocked out and done, instead of using a big square skybox around everything, but it’s looking pretty good in the editor which is not very common xD.

    6. Yesterday didn’t really go as I had planned it to. The change to the deadline gave me more time to work on the map, but also gave me an excuse to slack off. I mostly spent the time yesterday messing around with the lighting and HDR and learning how to use it properly, something which I had never really learned before. But at least the ‘full’ compiles took very little time so that’s a good sign that the map is being more or less well optimized.

      I plan to move on to the second part of the map today, just because I’m a bit tired of working on the same thing, and it also is completely different from the first one, so it will be a nice change. It will also be the hardest of the three in terms of making it look good but I’m looking forward to the challenge. The stock HL resources aren’t really fitting for what I want to create, but I don’t like using custom content on these challenges.

  16. Tried to do a little something tonight.

    Really wanting to get that “dirty back alley” feel. Right now I’m only just beginning to think up a decent flow and “story” for the map, gameplay is still all to define. Not sure if I’ll complete anything but I’ll give it a shot because while hard to accomplish, the “city feel” that HL2 maps can provide is really good.

    1. JG

      Just a quick tip –

      When you use a point_spotlight and want to make it look like it’s coming from a light fixture, try disabling collision on the fixture’s model. Then, you can freely put the spotlight inside the model so the top of the beam is flush with it.

      Spent way too much time screwing around with those Combine lamps before figuring that out.

      1. Long time no update, huh?

        Don’t worry, I’m still alive. Development did slow down during the workdays but creating the environment today has been a real joy – no scripting, no enemy placement to worry about. The City Eye does everything for me. The only thing I need to be a bit careful about are line of sights because they’re not always properly interrupted by props, which, while possibly interesting to get the Eye to shoot breakable cover, will force me to put a few NPC LOS blockers here and there.

        I also got a custom texture which will be required to give the player some direction, as I suspect a lot of people will be completely lost when facing the Eye initially. Here it is (spoiler, obviously). Also, a few days ago I was debugging the Eye’s input/output chain, and the use of a console command to view I/O messages resulted in a fairly amusing sight. Disco eye! (Warning, may cause third degree burns, blindness and/or death. Please disco-dance with caution when in presence of a City Eye Active Surveillance System)

    2. Thanks to JG for the tip!

      No update yesterday because I didn’t have much time to map and the time I had was almost entirely dedicated to planning and brainstorming. On the other hand, I tried creating something resembling a stealth system for the initial part of the map but it’s incredibly hard and frustrating to do. All human enemies in HL2 have a ridiculous FOV of something like 204 degrees, which makes moving behind them at any distance closer than 20 meters impossible. It doesn’t help that even with visually interesting hints (which are supposed to make enemies look at them), the soldiers keep rotating their heads around, giving them an even wider scan area even behind them.

      I decided that for tomorrow, the stealth part is either saying goodbye or is going to be reworked so that enemies are at a greater distance, which should help making their incredibly large viewcone a bit less overpowered in terms of spotting the player. At this point though I’ll have to eliminate what I wanted to be a “close encounter”, where the player had to sneak behind a soldier unarmed to enter an alley with a weapons cache. I have resigned myself that this is entirely impossible to do without heavy scripting, and at that point I may as well replace the entire stealth section with a generic puzzle.

      So yeah, big fiasco today. I hope I’ll be able to at least finish this first section of the map by tomorrow evening. I’m planning to have 3 sections, each with distinct gameplay styles. This first one was supposed to be stealth but it will probably become puzzle instead. Or perhaps a bit of both, who knows.

      1. JG

        Feel free to take the stealth scenario for the Stalkers from Miter in HorrorVille.

        It actually doesn’t take a lot of scripting, but it relies on a rather esoteric entity called ai_script_conditions. This entity is a catch-all trigger for a lot of AI events, such as “is the player within a given enemy’s FOV” or “is the player this close to an enemy?”

        I used this to override the existing FOV on the Stalkers by using a pair of ai_script_conditions (one the inverse of the other) to swap an ai_relationship which makes them be friendly or hostile to the player.

        1. Oh my everything, thank you so much JG! That thing is basically custom NPC AI… How come I never heard of it before? The stealth part may actually be stealth now, that’s awesome!

          1. JG

            Because it’s one of those weird entities no one seems to know about. I only stumbled into it when Ihonnyboy suggested I look into the Alyx defense in City 17 for a different reason, and in trying to decipher how it worked, I came across this entity which seemed to trigger something based on FOV.

            1. I actually tried using this entity for timely escape test maps in Diamonddogsville to emulate stealth but i couldn’t get it to work. So I may have a look at Miters vmf. I’ve been learning a fair bit from Cannon Beach’s vmf for my main project (Runthinkshootliveville project)

              1. JG

                I’m glad you find the VMFs useful. Let me know if you have any questions.

    3. Kind of managed to get past yesterday’s mess. The lighting and the first part of gameplay are now mostly compelted – there are a few hiccups such as magical pulleys that require no rope and having to walk up 3 flights of entirely dark stairs without a flashlight, but nothing I can’t fix in 10 minutes tomorrow. The “stealth system” is still in danger of being scrapped – currently I just have a surface that blocks NPC line of sight behind my soldiers so that they can’t spot the player when he’s behind them. It’s still an extremely simple form of “stealth” though, and extremely exploit/bug-prone, and I have absolutely no intention to ship the map with it. I either manage to make proper stealth (or something that resembles it without being buggy and exploit-y) or scrap it and just leave the puzzle.

      That said I’m happy about how the map is shaping up, it gives that kind of feel I wanted, although I will definitely need to do a final lighting pass, provided I have time remaining, because some effects I wanted to get are just not there. I’ll probably have to change some environmental light properties too because currently I have a relatively bright moonlight coupled with pitch-black shadows which aren’t exactly beneficial to gameplay. Or, I could make the entire map really dark and guide the player using spotlight and lamps, that would be cool too.


      Obviously not finished, the legs look retarded and it currently does nothing. Ideally I’d like to attach the head to one of the laser variants of func_tank (or make it a func_tank itself), if I can’t it’s probably going to be demoted to mere surveillance platform via the creative use of npc_enemyfinder in conjunction with rotating entities and a spotlight, or something like that (which I had planned from the start, just without the giant mech). There is supposed to be npc_spotlight for searchlight-based enemies but of course it’s broken, thanks Volvo -.-

      1. JG

        Yeah, npc_spotlight is broken, but I think you can achieve the effect in a different way. The Autogun is a good example of that.

        Again, you can look at the Autogun setup from Cannon Beach. It’s a simplified version based on Valve’s setup in Episode Two, which was kind of difficult to decipher. But, from a high level, it’s like a mounted gun except it’s “driven” by a special npc_enemyfinder instead of a Combine Soldier.

    5. Wohoo! My mech laser thingy works! It can properly track the player and choose one of two attack types based on range.

      However, the close-range attack is still a bit buggy, which will need addressing tomorrow since currently being attacked after hiding can deal up to your entire HP pool in one shot despite the laser itself having a damage value of 20 HP – this is probably related to the way I set the lasertank’s firerate to 0 for 1 second after it sees the player to be able to play a “charge up” sound and then set it back to 6 (expressed in shots per second). This is supposed to help the player not to insta-lose 20 HP the moment they peek out of cover by giving him 1 second of peace, but ironically enough all it does currently is instagibbing him ๐Ÿ™

      That said, the attacks work very well, and the ranged one is compeltely bug free, and the way I set it up I hope it will be able to provide some good gameplay. From tomorrow, after fixing that annoying bug, I’ll focus on creating the combat arena itself (yes, the map has gone from mostly stealth to mostly “kill the giant eye mech”, don’t ask). I’m planning to have an evasion part where the player will be powerless against the City Eye (that’s what I’m calling it), and then a combat part after acquiring proper anti-mech weaponry. I also have an idea for an additional element of complexity but I’m not sure I’ll be able to get it in.

      1. Can’t wait to play it, it sounds very interesting.

    6. Long time no update, huh?

      Don’t worry, I’m still alive. Development did slow down during the workdays but creating the environment today has been a real joy – no scripting, no enemy placement to worry about. The City Eye does everything for me. The only thing I need to be a bit careful about are line of sights because they’re not always properly interrupted by props, which, while possibly interesting to get the Eye to shoot breakable cover, will force me to put a few NPC LOS blockers here and there.

      I also got a custom texture which will be required to give the player some direction, as I suspect a lot of people will be completely lost when facing the Eye initially. Here it is (spoiler, obviously). Also, a few days ago I was debugging the Eye’s input/output chain, and the use of a console command to view I/O messages resulted in a fairly amusing sight. Disco eye! (Warning, may cause third degree burns, blindness and/or death. Please disco-dance with caution when in presence of a City Eye Active Surveillance System)

      1. JG

        Reminds me of those rotating laser traps in Zelda.

        Alternatively, the name โ€œCity Eyeโ€ reminds me of Mirrorโ€™s Edge, and the concept reminds me of the London Monitor in the new Wolfenstein game, hehe.

    7. A lot of work today on the City Eye area. It turned out to be quite a bit more open than I had initially envisioned, but I think it’s a good thing because first, it varies the environment, and second, it helps me save time, strangely enough. This is because there is now a large canal on an entire side of the street, and because the other side is quite far way, I can just fill it with premade model buildings and they will look fine despite being low-res.

      Tomorrow will be mostly gameplay finalization and connection work. What do I mean by connection? Well, until now I have worked with two separate maps – the beginning part (where “stealth” was supposed to take place but you know how that went), and the City Eye part. Tomorrow I’ll merge them together. It shouldn’t be too traumatic considering that both maps work on the same orientation, which means that I won’t have to rotate half a square kilometer of boss arena, which is good.

      On a sidenote, I really, really wanted to post a screenshot of the arena but for some reason Episode Two decided to get all messed up and now some textures are missing. And mind you, these are stock assets, not custom stuff; in fact, I get missing textures in the official campaign maps. I tried verifying the cache but Steam is adamant about it being just fine. I’ll backup my custom stuff and try to completely uninstall and reinstall tomorrow. Thanks Gabe.

  17. Can we have some custom response rules in the mod? I can’t pack it with the map, but I can send you the txt file(s). I can even set it up where it only works on my map.

  18. ITCHING to take part. Hell, even made a little dev thingy.
    But… there’s no chance in hell that I can finish it in time so I’m out before I’m in :/

  19. I’ve been waiting for something like this for a while.

  20. Welp. I’m not sure if I’m gonna make it. Man I wish these were announced on Mondays. Well, if anyone want’s the citizens in their map to speak those idle question and answer lines, commander mode lines, grav-gun kill compliment lines, and head-shot lines I can include their map’s name in the custom txt files.
    Just give me the map’s final name and I guess I can just send the txt files.

    1. JG

      I know what you mean. 10 days is almost ridiculous for a city map. In terms of time to square foot, cities are probably the most “expensive” environments to make. Like, sure, I’ve got Faceposing stuff to do, but that’s only because the physical layout was kept very small.

      I truly feel like there’s no breathing room in these 10 day comps.

      1. Yeah. No offense Phillip, but I think 3 weekends is the sweet spot. 1 for brain storming and brush-wacking, and another to finish brush-wacking, and a third to polish, test, bugfix and what not. I think Ravenholmville had 3 weekends too. I know Phillip wants to do monthly competitions and I’m assuming that’s why this one was set up the way it was. 2 weeks for mapping. 1 week to make the mod. and 1 week for everyone to play it. Having 3 weeks to map would mess all that up. Maybe have a competition every month and a half? I think it would be amazing to have a regular competition schedule rolling. Be it bi-monthly or monthly or even tri(?)-monthly.

        1. JG

          I genuinely think that 3 weekends is the sweet spot. More than that, and it’s a full-fledged project. Less than that, and it’s a crazy rush.

          The problem with 10 day competitions, as I see it, is that you really need to know what you’re building in the first day if you want to have any hope of finishing it. And then, hopefully, you don’t have to redesign anything and waste work because you won’t have much time to spare.

          I’m, of course, just speaking from the pace I work at. You can tell from my updates what that is. Ultimately, you want to release something you’re happy with, not something you’ve kicked out the door before it’s really done and then instantly regret that you did.

          1. I’m sorry to pile on here, especially now that the deadline’s been extended, but I want to show support for this idea. I started and abandoned entries for a couple of ten day Villes before hitting on something I could finish with AmbushVille, and that one was precisely what Jason said: I knew what I was doing from day one. For the others I just couldn’t put a plan together fast enough.

            There are seventeen day competitions I’ve failed too (my DefendVille map got the farthest before technical problems meant a redesign I didn’t have time for; the engine’s since been updated, I suppose I should go back to it one day), but I have a much better batting average with them. Enough time to get my juices flowing–ew–and bang out a few proofs of concept before settling on my premise, fleshing it out, then building and refining the idea. It hasn’t turned out maps of the quality I’d hoped for, but I’d put that down more to lack of experience than the deadline.

            I find the ten day limit to be the biggest reason I go for too-ambitious map ideas; the only designs that come to mind on the first or second day, for me at least, are the big ones. If I go with one straight away I stand a sliver of a chance of getting some pared down, less polished version completed, whereas sitting around waiting for something simpler to present itself means that by the time it does, the deadline is looming and I can’t finish an entry at all. Another week means less pressure to just pick any idea and run with it.

            In short, the extra time is an infinitely more comfortable fit for me, and though I don’t expect to have every one of my whims catered to during these challenges, the extension is very much appreciated. Thanks, Phillip!

            1. Glad you view the change positively.

  21. Well, it seems that a few people are not happy with the timescale of this challenge, so I have extended it by one week.

    The deadline is now 11am GMT Tuesday 17th February

    I hope that’s good for everybody

    1. JG

      Sweet! Definitely gives more time for testing and polish.

    2. Wow! Thanks Phillip. Sorry if I came off as haggling.

      1. Not at all. It’s better for mappers to tell me how they feel, then I can adapt things.

    3. I don’t know if I agree with the deadline change mid challenge, but atleast it will hopefully get more submissions as a result. Is this what you were talking about on the podcast, about increasing the deadline midway so that people could make smaller but more polished maps ?

      1. I understand why some people wouldn’t be happy and it’s not an ideal situation. Some people might have entered if it had been 17 days from the beginning. I certainly didn’t plan this because that would be bad management and it this case it’s because of the feedback from the mappers updates.

        It was sheer coincidence that I mentioned doing something like this on the podcast.

    4. Must… resist…urge…to… increase… scope!

      1. Don’t do it! Stay strong!

      2. Yes, you MUST. Just polish what you have now.

    5. Holy moley! I am so relieved to read that. I’ve been quietly struggling to get a map together this time around. I might actually be able to finish it now.

      No guarantees, but that’s definitely a chance to breathe.

    6. Awesome news. That really helps. I was about to spend my entire weekend focusing on this… I mean I still will, but without cutting a bunch of corners. ๐Ÿ˜›

  22. This post was originally thought to be a “I cannot make it” post but instead I focus on reusing the space I have as much as possible instead of making more space. I think it might turn out pretty fun, at least Im having fun playtesting it.

    1. Yeah, that one doesn’t really hit me with City Streets vibe.

  23. Man, a lot of things just popped up for me, and my schedule is now to full to finish off my map. Deja vu, right? Well, my offer still stands, if anyone wants custom response rules, if it’s alright with Phillip, I guess I could just send that in. All it would do is make citizens speak their idle questions and answers, compliment the player, speak their “commander mode” lines, talk when fighting certain enemies, and communicate when reloading. It probably wouldn’t break any scripted sequences, but it depends on what you’re doing.

  24. Regrettably, I am also not going to be able to finish my entry. It hasn’t progressed at all since the extension, thanks to a series of minor emergencies.

    Who knew pregnancy was so complicated?

    I guess I could submit what I’ve done so far, but it’s really unfinished. ๐Ÿ˜›

    1. Definitely disappointed. Perhaps you could finish it up soon?

      1. I’ll look into doing one more big push this weekend but I can’t promise anything.

  25. MajorBanter

    Going to be tight. We’ll see.

  26. marnamai

    Finished, 7 hours before the deadline, time to get some well deserved rest ๐Ÿ™‚

    here’s a little preview:

    1. Djpalle

      Holy s**t thats amazing level design marnamai!

    2. redgroupclan

      Aaaaaaand I just lost.

      Oh well. I didn’t realize the deadline was 4 or 5 in the morning so he probably won’t accept my map anyway. Stupid time zones.

      In hindsight I shouldn’t have put off 2 weeks of working on a school project to make my map.

    3. Pretty sure I just lost too. Really nice looking, marnamai!

  27. MajorBanter

    Didn’t make it, kinda gutted. Literally 80-90% done.

    1. If you are that close, why not finish it and send it to me when it’s done and I will release it separately?

      1. MajorBanter

        It’s that or slot it into Stroll. I’ll see how it tests with the BTC.

        1. I finally gave in and googled Stroll, looks great!

  28. It was a long shot that I was going to get this finished. I’m not even 40% into it. A few Source SDK issues at the start held me back but they’re sorted now for the next challenge. I had hoped to get one last push over the weekend and Monday evening but I’ve been so ill since Saturday that it just wasn’t to be. ๐Ÿ™

    Can’t wait to see and play the results though. There are a lot more experienced source mappers here that are well out of my league. ๐Ÿ˜›

    1. Yeah, this competition doesn’t look like it’s going to be generally high quality and not as rough around the edges as some. I think my lack of skill may be more noticeable this time around. ๐Ÿ™

  29. No update yesterday, no “joy post” today, but eventually I did manage to finish the map and submit it. It is not exactly what I wanted it to be and there were way too many changes of direction during development, so overall I feel that the final product is kind of messy. Still, I did manage to get a custom “NPC” in with “almost” no bugs. I had even found a way to make it completely bug-free, but for some reason the bug-free map instantly crashed on me on load, so I had to revert to the backup.

    This mess was the result of my inability to properly schedule and organize my work and a very chaotic mapping workflow (just to give you an idea, at one point I had 5 different mapfiles of the same level). For whatever challange comes next, I’ll definitely have to revert to my “old” workflow and stick to it closely. I also need to make some experimental mapping outside of challanges so that when a challange comes and I want to do something, I’m not completely lost on how to do it.

    That said, making this map taught me a lot. I learned a lot about the I/O system and I practiced with complex, multi-tiered logic, which is also what took me the longest to figure out in the making of the map. For the next challange I definitely want to do something less complicated and less experimental, with less quirks and bugs that take entire days of dev time to bandaid-fix, let alone solve completely. I want to do something more standard but do it as flawlessly as possible.

    1. Generally, implementing your own AI via a map editor is not the best way to go about it ๐Ÿ˜›

      I learned this lesson the hard way in a few of these mapping contests, tbh. D:

      That said, I still look forward to seeing this thing in action!

  30. Well, I managed to get something in, but it really could have gone better if I’d have started with something smaller and simpler in scope. Even in terms of restricting myself to a single street, I feel like it was very rushed.

    1. I was going to elaborate, but the edit button timeout cut me off :S

      In short, the original idea I had was a bit too large of scope to handle in a week, and even after the extension, it still became a death march rush in the end. I’m not sure what takeaways to take from this, other than there’s just some things that shouldn’t be attempted in a one to two week period, and that trial and error alone is not a good way to tell what will and won’t finish in a week.

      I did manage to learn some interesting, yet simple tricks to lighting and AI in source, though (along with some serious limitations to the game_text object). A lot of that was applied in indoor areas mostly, but it helped.

Leave a Reply

Comment Formatting Guide

Well formatted comments are much easier to read. Please copy and paste the HTML Tags to use in your comment

  • HEADER: <div class="fix"></div><div class="sbe3">TEXT HERE</div>
  • BOLD: <strong>TEXT HERE</strong>
  • ITALIC: <em>TEXT HERE</em>
  • SPOILER: <span class="spoiler">TEXT HERE</span>