"Evacuation" / "Rescue" Singleplayer Map Mode

I’ve been tossing around for a little while now the idea of a type of singleplayer map where the objective is to hunt down as many friendly NPCs as possible in various locations throughout a map and bring them safely to an elevator, evac chopper, or other safe area. There’s levels somewhat like this in Half-Life and its expansions, but to my knowledge it has never been attempted in quite the same way:

  • Office Complex in Half-Life/Black Mesa allows you to accumulate quite a number of friendly NPCs as you travel through the level, but they don’t really do anything once you get to the end.

  • Questionable Ethics requires the player to bring a scientist to the end of the level to open a door, but all the scientists are in one place.

  • Blue Shift’s Captive Freight has multiple scientists located throughout who then appear in later levels and evacuate the facility with you, but they automatically survive regardless of what the player does.

  • Decay has Domestic Violence where a security guard needs to be found and saved among many who are being threatened by enemies, but again only one is actually savable.
    A dedicated ‘evac’ map style would, I think, introduce a number of gameplay elements rarely found in standard HL/Black Mesa style levels:

  • Multiple Degrees Of Success: I am thinking it will be possible to technically ‘complete’ the level in the sense of getting to the end of it with all or nearly all of the NPCs dead, but the number the player saved will explicitly be tallied at the end and possibly result in additional items/dialogue/whatever. I am thinking that not all NPCs will be placed equally, with some being very easy to find/save and some being very difficult- think of it like a Metroidvania or Zelda style gamewith optional items where there’s a concept of a completion percentage and a 100% run.

  • “Broad” Multi-Objective Gameplay: While there are exceptions and a fair number of side areas to explore, typically HL/Black Mesa gameplay is fairly directional and linear. I am imagining that an evacuation map will have much less of a directional quality since NPCs can be found in many different places and recovered in different orders. At the same time, there is no reason every area has to be accessible from the start without completing some secondary objective elsewhere in the map.

  • Defense of Fixed Positions Or Non-Player Objectives: Escort missions are generally derided for a number of pretty good reasons, but used in moderation I think protecting NPCs from enemy attacks could be a tense, interesting element of gameplay.

  • Time Pressure: I don’t think having NPCs die at predetermined intervals while the player is doing something completely unrelated is necessarily fair, but once they are in sight of the player it would be fairly easy to create a variety of situations where said player has to think quickly to kill an enemy or de-activate an environmental hazard threatening them- from simple tasks on the order of a second or two to more complex tasks involving the environment which must be done within a relatively large number of minutes.

  • Secondary Objectives to Make Areas Navigable: Once the player has FOUND an NPC that may not be the end of interaction with them; the way the player got to them might not be usable as a way out, requiring additional player effort to secure a safe evacuation route.
    The big obstacle I see to this sort of map is that just using their native AI the Black Mesa NPCs are not particularly adept at navigating dangerous areas or moving around in large groups, and while Black Mesa typically works around this by keeping their actions heavily scripted the scripts are not then in turn moddable.

Is this something people would be interested in playing?

It could be great experience to play mode like this, got few things in my mind.

In my opinion, lot of SP mods have missing “replayability” approach. All SP mods I have played don’t have anything to make me play it again. And that seems to be quite unfair for creators when the put lot of work for only install-finish-uninstall experience. The SP mods deserve more time to be spent in. So I would really appreciate if the mod would lure me to play it again.

For example on this specific rescue/evacuate mod:
Having multiple paths to achieve goal, which could differ with terrain, enemies, fight strategy, weaponry, etc.
Giving the player options to choose different scenarios, for example using radio to decide what kind of rescue transport should arrive (air, ground) and choosing pick-up location or option to call combat/supply support, which could change gameplay. Also having few side-quests for npcs, which could have multiple ways to complete.
Even nice touch would be giving player some sort of “Outside of the Box” secret option to solve some quests.

Not sure engine has support for giving some simple commands to npc, such as move to certain location that player is pointing. It would be useful for certain combat situations, like ordering unarmed npcs to hide during combat or strategically placing armed ones to help you.

Another thing could be great if player was able to share supplies, for example giving medkit to injured npc.

This would be very interesting to play.

Put together a little HUD addition that displays a light for the relevant NPCs in a level- green if one is in a predefined ‘safe’ area (set by a trigger), red if dead, and orange if they are still at large in the map. I have to say, it looks pretty damn identical to the existing HEV visual components:

The only problem is, it interferes with the rendering of viewmodels!

Opting to proceed without the HUD for the time being, but not discarding it completely- there may yet be a way to project dynamic materials onto the player’s view, but it’s going to take some time to find. Instead, I am planning to put together a prototype “ev_office” using the areas I developed for pd_c1a2b (since I currently have that handy and in a nearly finished state.

How is the hud made?
I’ve used a lot of screenoverlays to display text and hud elements for my spy maps, and they work without disabling rendering of the weapon models.

This one uses a script_intro entity displaying some sprites against a black background on Render Mode 9 (which uses the luminosity of the secondary image as its alpha when deciding what to overlay).

Work on the fundamentals of ev_office is coming along fairly well, with a current group of four scientists and a security guard at various levels of savability ranging from effectively guaranteed to nearly impossible (I managed to do it once, on easy mode, with cheats) able to be led to an elevator at the end of the level.

I plan to add more as I expand the area out, of course (which also achieves my somewhat paradoxical longtime dream of seeing one of my pre-disaster maps made back into post-disaster) for a total of around fifteen NPCs, but at the moment I am not entirely certain what to do about ‘scoring’ the end of the level. I was thinking about repurposing some conversation from the end of Office Complex that goes on and gets more detailed the more NPCs you have in the elevator, but I’m having a hard time imagnining how that could be adjusted to accommodate 15 different NPCs in any order existing or not existing. Perhaps instead it would be better to just give each a unique bit of dialogue they say independently upon entering. I am also not quite sure how to go about communicating the player’s percentage/score at the end, but I am thinking a version of the HUD I had previously set up like a checklist where it goes down row by row and determines whether each scientist was saved, killed, or abandoned (alive at the end of the level but not brought along).

I’ve got most of the level geometry for ev_office now transferred over; I have to say I really like how the pd_c1a2b areas look turned back to post-disaster. I still don’t have a great idea of how to do the NPC talley board at the end of the level, but that is going to be my next big priority.

Still haven’t got the GUI and viewmodel issue worked out even though there is a fix for the related issues with skyboxes (a console command informatively named “r_skycam_hacky_fix_enabled”), but the actual level design is about halfway through its first pass and will be closer to two thirds of the way through once I figure out what to do about the player coming around the central office area and triggering the vort ambush from behind (because that’s currently a thing you can do). There is currently a perfusion of scientists here, enough that I am seriously concerned they and the security guards will not all be able to fit into the elevator (since the player can save them in any order, I cannot have any in front and blocking positions others would occupy; might be possible to rig up some kind of prioritized filling system though). Therefore, I am thinking at least two of these guys will either be cut entirely or moved into already-planned positions in the undeveloped final third of the complex. One of the things I am learning as I mess around with this new gamemode is that there is little to no point in having more than a single scientist or security guard in the same location unless they are set up to be at risk from enemy NPCs and one or more of them could potentially be killed depending on how long it takes the player to remove the threat. Sadly this means the two-scientist security room scene from canon Office Complex is going to be going away since one of the scientists involved is redundant. But once the basic level design is done, I plan to go back through the level and add as much dialogue and interaction between the various NPCs as I can generate.

Founded in 2004, Leakfree.org became one of the first online communities dedicated to Valve’s Source engine development. It is more famously known for the formation of Black Mesa: Source under the 'Leakfree Modification Team' handle in September 2004.