Quickmap Project
#1
Posted 14 March 2012 - 11:14 AM
I asked about maps recently, and since there are alot of source fans here, I will say why.
I love co-op mods. Sven Co-op and Obsidian Conflict in particular. The problem is that often the maps are terrible, or at least full of elements that annoiy me. Damage sponge enemies, to dark to see, beginers traps, pain in the arse physics puzzles ect. I also get the urge to map from time to time, but the only mapping tools I know is Half Life 2. I'm not very good, and I tend to get bored or frustrated with them before I finish. The only 2 I came close to finishing was a remake of facility from Goldeneye 007 on the N64, and a SP dota style map. (I was totally outdone by the excelent map 'swarm'.)
Point is, I've started to put into motion the quick map project. The goal is to make a map for Half Life 2 Episode 2 in a very short time span, and then port it to Obsidian Conflict. If anyone is interested, I will post something here every day I work on it to keep you informed on the project.
The posts will be something like this.
Day 0- The Plan
HL2 maps can take anything from a few weeks to a few years to complete. My goal was to make a map in a few days. Though my plan for a map in 5 days is a bit over ambisious. A couple of weeks seems more managable.
The map will appeal to me, so it's a combat heavy walkthrough map. Those kind of maps tend to get alot of flak, but I like them. They also tend to be the ones that have poor graphics and design. Something my map will likely have. Despite this, I have a few ideas to make map creation faster without to much impact on quality.
-Blocky layout. Players tend to forgive dodgy graphics if the gameplay is fun. Mistake of Pythagorous, Das Robos, oc_paysan are prime examples of this.
-No fancy scripting. Ziplines, Gun Emplacments, Dropships. All have a tendacy to break and cause frustration. By avoiding these elements, I also avoid lengthy bugfixing. I will also set the map indoors so I don't have to use displacments, which have a habit of breaking on me. Which brings me to-
-Less testing. I tend to test a map multiple times throughout a rooms creation. I'm going to limit myself to a couple of tests a day and be less OCD about errors such a misaligned texture. While this might lead to the odd dev texture or prop stuck in a wall, the time saved should be worth it I hope.
-Less optimization and beutefication. As above. I spend way to much time fussing over minor details, matching lighting fixtures, draw distances, inch perfect prop placement.
-No custom content. That would require optimization, balancing (if a weapon or NPC) testing and creating. All of which takes time.
and finally
-Rip off other maps. I don't mean copy paste, that would be plagerism. Rather take insperation from the best moments from other maps, mods and games. The cat and mouse hunter chases from ep2. Going over an enemy defence and coming in behind them from Precursor. Surrealism to hand wave game design from Mistake of Pythagorous. And use of dense enviroments and compact loop design from mission improbable and metastasis. Generally be less experiemental and stick to what works.
All of these are bad form, of course. But it's not as if I will have hundereds of props with no reguard for performance, or I will do a room for room rip off of another game. Rather, it is a set of guides I will use to try and rope in my worst insticts and habits. Such as spending half of my time testing or trying to get some fancy I/O stuff to work.
That's the negative, what about the positive? Well, it will be mostly stuff that goes against the parts of maps I hate.
-It will be well lit with bright lights, and I'll use a few horror game tricks to make sure players can still see the important things should I never need a dark area or a way to disorient the player.
-I will signpost the hell out of everything, even if it requires a big arrow and on screen text. The player should never be lost and the objective always clear, even if the why isn't important. Likewise, the player should never be blocked from an obvious or common sense solution.
-No encounters should drag, and the indervidual player should feel empowered (in the co-op version) so enemies will never have health above their default value. Any enounter longer than 3 minutes will be revised to make them shorter and 5+minutes will be removed, with defence objectives being the only exception, but still falling into the revision rule. Challenge for increased player counts will increase the spawn count as opposed to HP and DPS values.
-Always winable. If a player loses, it should be because they made a mistake. If they make a mistake and survive, they should be able to get out of it. Suicide should never be the best option, there should be no times the players have 'had it' short of being dead or digging themselves into a hole through repetitive mistakes. Likewise, there should never EVER be a situation where the only way to win was to have played the map before and remember. Any traps should be forshadowed (perhaps with a NPC falling victim) and observible (such as a visible pressure plate). Of course, breakable mission critical items are out too.
-Ammo and health should be plentiful, mainly because having someone either accidently or deliberatly take all the ammo and thus all the fun is annoiying.
Those are the rules I plan to stick to. I also have other stuff that might be changed. I plan to add airlocks between encounters for autosave points in the single player, and to keep players from running ahead in the co-op. I want to keep physics based puzzles to a minimum. I want to have the map start normal then start to turn weird before going all out crazy by the end. Finally, I plan a degree of randomisation. Not Left 4 Dead style, but enough to mix it up a bit on repeat plays.
Phew, this was a long one. I have no delusions of this being some kind of great map, but I hope it's fun for someone and of course, any feedback on my methods or map is encouraged. If you want me to keep this thread updated, let me know.
#2
Posted 15 March 2012 - 12:40 AM
Any ideas for a name? How about ripping-off the theme from Paranoia & Insomnia. Its all this surreal dream world with trains running-up the walls, doors that lead from a bayou house to the Citadel, and hallways that appear to disintegrate into nothingness. It also means you can have outdoor areas without messing with pesky sunlight because the sky is a nodraw void. Unless you choose to have a sky, of course.
Edited by ScrooLewse, 15 March 2012 - 12:42 AM.
#3
Posted 15 March 2012 - 07:36 AM
Currently I call it Day 5 because I can't think of anything better. As for a dream world, at present I plan to have a glitch in the matrix as the kind of sureal weirdness. I doubt I would have trains going up walls, disintergrating hallways and the like, simply because that could be hard to do. I do plan on having the "Open door from bayou leading to the citidel" style moment, albeit more along the lines of opening a door into the void, and emerging from a bathroom mirror or something. I did think of having a player re-visit a room that is now on it's side, or perhaps doing a level lord of being tiny people in a giant room, but I'm not sure.
Having a nodraw void is annoiying, and could cause performance issues or make people think the map is broken, so I will stick to the white/black no light textures.
#4
Posted 15 March 2012 - 08:11 AM
So, first day of mapping and I got stuck in a tweak-test cycle which I promised myself I wouldn't do. After a false start where I made a room way to big, I finally got back into the mapping zone. I forget basic stuff like scrolling the view without using the arrows or scroll bars, but I remember most of it.
The first room is a garage with a walkway leading to the roof, and the random spawn system is up and running. Here's Metro Cops spawning in the office.
http://steamcommunit...8766?tab=public
and Combine Soldiers on the roof
http://steamcommunit...208/?tab=public
Of course, this will have to be tweaked for balance, but I enjoied the soldiers up there as it's fun when they start dropping granades down from above.
For whatever reason there are 2 AI bugs I couldn't fix. One was the door to the office. NPCs can use it, but they won't. Instead, the metro cops just bunch up by the windows. Another is with the soldiers who will run down the walkway and flank the player if he hides to long, which is great, however, they often run past and out of the room where there are no nodes.
http://steamcommunit...225/?tab=public
The random spawn system works by having a trigger in the airlock, that picks random in a logic_case, which in tern activates a npc_maker_template. The system could be expanded to something much more random and versitile, spawning random types and number of enemies, but I don't think there is need for that level of variance. I use radius spawn to stop them getting stuck, but the problem is that they tend to bunch up this way and won't move until they spot the player. I guess an act busy would be used, but I can't remember how those work. There is also an output "PickRandomShuffle" that I can't find any information on, and I'm not sure how it differs from "PickRandom". My best guess is that it picks random then re-arranges the cases, but that's a wild stab at the dark.
I spent alot of time working out how to get the cars for cover. Source seems picky about what models to use and in what way.
I will revisit the room a few times over making this map as there are a couple of rough spots, such as the windows could be better done, the roof of the office and walkway need to be a grill texture that can be shot through and of course, detailing, lights and spawns need to be figured out.
Tomorrow I will work on airlocks and the next room, which is a large street area.
Edited by Sabre, 15 March 2012 - 08:19 AM.
#5
Posted 15 March 2012 - 02:46 PM
Sabre, on 15 March 2012 - 08:11 AM, said:
Sabre, on 15 March 2012 - 08:11 AM, said:
Sabre, on 15 March 2012 - 08:11 AM, said:
#6
Posted 15 March 2012 - 03:19 PM
leiftiger, on 15 March 2012 - 02:46 PM, said:
What kind of door is it? func_door, prop_door_rotating?
There's no real reason to not node all parts of the map that are npc accessable.
Thanks for the advice. What does UpdateEnemyMemory do?
As for squads, I put them into squads otherwise they tend to hide. One thing though, do squads act indepent of each other? For example. Let's use canals as an example. If I have Metros on the top, and combine in the canal, should they be in 1 squad, or be a squad each?
The door is a func_door_rotating, because for whatever reason, prop based doors keep rotating round their own axis. Plus I don't know how to add door handles. I checked the flags, and used ai_show_connect and it works fine. I even added a entrence/exit pinch, but no go. I'm not sure if they stay in there because they have no need to leave (it is a good possition), if they are dumb, or they are broken somehow.
Nodes are a strange thing. Ever since my first HL2 map, I've seen the arguments for 3 nodes in a L shape on corners, or just 1 node. Currently I use 1 because it's less stuff to worry about, but sometimes enemies won't take cover. So I use one on corners, and use info_node_hint for cover spots. I'm not sure if there has ever been official word on what is best. Also I have no air nodes for manhacks but they do ok.
As for noding everything, I do intend too, but at present that area isn't completed yet, and given that enemies either charge at the player or move where nodes are, I'm not sure how and why he's doing that. My concern is that enemies might run into the safe areas when they aren't supposted to.
Thanks for the advice.
#7
Posted 15 March 2012 - 03:36 PM
Sabre, on 15 March 2012 - 03:19 PM, said:
As for squads, I put them into squads otherwise they tend to hide. One thing though, do squads act indepent of each other? For example. Let's use canals as an example. If I have Metros on the top, and combine in the canal, should they be in 1 squad, or be a squad each?
The door is a func_door_rotating, because for whatever reason, prop based doors keep rotating round their own axis. Plus I don't know how to add door handles. I checked the flags, and used ai_show_connect and it works fine. I even added a entrence/exit pinch, but no go. I'm not sure if they stay in there because they have no need to leave (it is a good possition), if they are dumb, or they are broken somehow.
Nodes are a strange thing. Ever since my first HL2 map, I've seen the arguments for 3 nodes in a L shape on corners, or just 1 node. Currently I use 1 because it's less stuff to worry about, but sometimes enemies won't take cover. So I use one on corners, and use info_node_hint for cover spots. I'm not sure if there has ever been official word on what is best. Also I have no air nodes for manhacks but they do ok.
As for noding everything, I do intend too, but at present that area isn't completed yet, and given that enemies either charge at the player or move where nodes are, I'm not sure how and why he's doing that. My concern is that enemies might run into the safe areas when they aren't supposted to.
Thanks for the advice.
They should know that they're supposed to attack the enemy then, but I'm not sure, I haven't used these functions with i/o before.
And yes, squads should act independent of each other so they'll only acknowledge what their own squad members have seen.
Personally I've only seen that NPCs can only open prop_door_rotating on their own, but have you checked that the flag NPCs Can't is unchecked on the door?
Otherwise I'd suggest a trigger that'll open the door for them when they get close, however that might be a bit clumsy.
Also, don't only think about placing your nodes sparingly, keep in mind that it'll look more realistic if a room has more nodes to choose from, instead of having all npcs walking in a line after each other. However I've never done complex noding such as covers before, since that has never been needed in my Zombie Survival, only the realism thing in mind.
Edited by leiftiger, 15 March 2012 - 03:39 PM.
#8
Posted 15 March 2012 - 06:40 PM
I checked all that already. NPCs can't isn't checked.
I placed a bunch of nodes all over the place, didn't notice any improvment or problems.
#9
Posted 15 March 2012 - 07:23 PM
I looked at the images of the garage, you could give the combine on the second floor some cover and immediately make things much harder for the player(s). Something like a lipped roof to minimize their target profile or stick some air conditioning units or a combine barrier on top of the roof to break-up that clean line of sight. Possibly make cover props spawn at a certain number of people?
Sabre, on 15 March 2012 - 07:36 AM, said:
That's what I meant.
Edited by ScrooLewse, 15 March 2012 - 07:29 PM.
#10
Posted 15 March 2012 - 07:34 PM
I was distracted most of the day by various livestream events. Despite this, I got stuff done, although not as much as I hoped.
I created the spawn room. I like to start the player at 0 0 0 because I have had maps freak out on occation and start me there. So it does no harm if that were to happen here. I also like to spawn a little way off the ground to prevent getting stuck in the floor, which again, is rare but does happen.
I did some basic decrative brush work to mark the transition to the map proper. It's a simple, but effective effect. I added auto save and moved everything to the right place. I don't like moving completed brush work because it tends to become mis alligned, but it's done and I shouldn't have to make such drastic changes again. I feel the time between start and the first encounter might be a little short, but then again Metastasis was great and that started you off under fire (a 'no' in my book)
At present, the player spawns, collects weapons and items, walks down a long corridor, emerges into an ally, (with a fence and a combine field at either end) and walks into the garage side door, encounter, out the other side door to the street. The street is a bit thin. If I make it wider, the cars would be dwarfed, so I think I will try making the path 50% wider and see if that looks right. Then I can put a major encounter here.
So, I didn't get the airlock system working in such a way as to prevent players from backtracking (should be pretty quick to set up) I didn't get the second encounter set up. What did I do? I set a bunch of generic NPCs to use when setting up enounters. Pretty standard stuff, each with their own squad, but I'm thinking of having soldiers share a common squad. The one exception being shot gunners who I set to be aggressive, mainly because a shotguner standing at range taking pot shots from cover seems worthless. Plus the potential of a rapid push taking the player of guard could make them feared. I also gave the AR soldiers the default skin, whereas SMGs have the Nova Prospect skin. I'm not a fan of the combine soldiers dirty boots, given this is mostly set in urban areas, so they get the rarer weapon.
I thought of having chance of hunters during the street fight, but I'm not sure if that would be to early or not.
So, my plans for tomorrow are ...ambisious. The street fight will be based on a design that appears in alot of games and scenes. A long street with the player being suppressed and thus has to ping pong from cover to cover until they can reach an advantagous possition. Most notable are the Syndicate demo, Payday: The Heist has a map called Heat Street that is pretty much this. My problem comes on the method of suppression. Standoffs are a hastle, snipers might be over powered and have partuicular requirements, and I never got mounted LMGs working back in the day. If I do go with snipers, I will need zombies or something like that to act a distraction. I'll figure something out.
#11
Posted 15 March 2012 - 07:43 PM
ScrooLewse, on 15 March 2012 - 07:23 PM, said:
I hope it's not wasted effort. I'm not a skilled mapper, but I do appreciate the help.
Oddly enough, they did have more cover, but it was way fo hard to hit them. just a head, shoulders and a smg. Combined with the advanatagous possition made it a bit tricky as they rained fire and grenades from above. I will add the cover back, and I do plan on adding something to the side to make it harder to flank. I'll upload a screenshot tomorrow, see what you think.
Edited by Sabre, 15 March 2012 - 07:44 PM.
#12
Posted 15 March 2012 - 07:49 PM
Sabre, on 15 March 2012 - 07:43 PM, said:
Oddly enough, they did have more cover, but it was way fo hard to hit them. just a head, shoulders and a smg. Combined with the advanatagous possition made it a bit tricky as they rained fire and grenades from above. I will add the cover back, and I do plan on adding something to the side to make it harder to flank. I'll upload a screenshot tomorrow, see what you think.
Sounds great.
How about for the street confrontation you set up a series of tripod sentries? Players hate those things and if they're placed properly, throwing grenades to knock them-down will be a crapshoot. That forces players to flank them by zig-zagging up cover to get to their side. A very limited supply of grenades and a select few spots to effectively throw them from allows players to choose situations where its worth losing a grenade to down a sentry early, but not allow them to do it from just anywhere. Then you constantly trickle light Combine down the street until they reach a certain trigger. Then the combine stop spawning and once the last active combine is killed, you give the players a noticeable cue to alert them that the encounter is over. Then maybe Kaizo them with a Hunter ambush. Hopefully that'll send them scattering back down the road for cover and physics objects to kill them with and you'll be able to reuse that entire arena for a second encounter.
EDIT:
That post started about half as long as it is. I just kept appending ideas to it as they trickled-into my mind. Hope it's useful!
Edited by ScrooLewse, 15 March 2012 - 09:16 PM.
#13
Posted 15 March 2012 - 08:01 PM
ScrooLewse, on 15 March 2012 - 07:49 PM, said:
How about for the street confrontation you set up a series of tripod sentries? Players hate those things and if they're placed properly, throwing grenades to knock them-down will be a crapshoot. That forces players to flank them by zig-zagging up cover to get to their side. A very limited supply of grenades and a select few spots to effectively throw them from allows players to choose situations where its worth losing a grenade to down a sentry early, but not allow them to do it from just anywhere. Then you constantly trickle light Combine down the street until they reach a certain trigger.
Never thought of that. I'll try that tomorrow. I'm not sure what there effective range is though. The play doesn't have a gravity gun to punt them over, so will see if there is a way to make them lighter so they can be crowbared or giving the player a way to shut them down.
As for respawning enemies. I'm not a fan. I do have plans for CPs hastling the players and maybe some combines, but they are finite in number. So while not recommended, the player could pick them all off if they are patient enough. Also, the player only has the crowbar, pistol, SMG and hand grenades at this point, which isn't a great loadout for distance combat. They will need to creep forward sooner or later, even if it's just ammo running low and there's more up the street.
#14
Posted 15 March 2012 - 08:06 PM
Sabre, on 15 March 2012 - 08:01 PM, said:
As for respawning enemies. I'm not a fan. I do have plans for CPs hastling the players and maybe some combines, but they are finite in number. So while not recommended, the player could pick them all off if they are patient enough. Also, the player only has the crowbar, pistol, SMG and hand grenades at this point, which isn't a great loadout for distance combat. They will need to creep forward sooner or later, even if it's just ammo running low and there's more up the street.
You're right. Respawning enemies + nonrespawning ammo means that if they don't move-up fast enough they inevitably die. It also means you have to be aware that the combine respawn and you're on an ammo timer or you might die from what sounds like a tactically sound decision. So how about releasing the finite combine in squads or just a trickle?
Also, the pistol is an incredible picking weapon at range. Clamp-down on its ammo or give the Combine some serious numbers if you want them to move-up at least a little during that fight.
EDIT:
I just thought of something:
For that moment where you abruptly change scenery through a doorway, try to make sure everyone experiences it at the same time. I've had several awesome moments like that spoiled by someone faster scouting-out the area and calling-out the terrain for me. Also, make sure there's nothing AT ALL to brace for, as many people who feel the need to be helpful will coach players on the next area when they've played it before. So what I'm saying is to make the players gather before you show them your "glitch" and make the fighting minimal until they've gotten a rest stop on the other side.
Edited by ScrooLewse, 15 March 2012 - 09:34 PM.
#15
Posted 16 March 2012 - 08:32 AM
Sabre, on 15 March 2012 - 06:40 PM, said:
Sabre, on 15 March 2012 - 06:40 PM, said:
Edited by leiftiger, 16 March 2012 - 08:36 AM.
#16
Posted 16 March 2012 - 04:40 PM
ScrooLewse, on 15 March 2012 - 08:06 PM, said:
I just thought of something:
For that moment where you abruptly change scenery through a doorway, try to make sure everyone experiences it at the same time. I've had several awesome moments like that spoiled by someone faster scouting-out the area and calling-out the terrain for me. Also, make sure there's nothing AT ALL to brace for, as many people who feel the need to be helpful will coach players on the next area when they've played it before. So what I'm saying is to make the players gather before you show them your "glitch" and make the fighting minimal until they've gotten a rest stop on the other side.
I think you are expecting to much. It's not that big of a deal.
leiftiger, on 16 March 2012 - 08:32 AM, said:
What was the issue with prop_door_rotating then? Did you try to rotate it by the tools in hammer instead of using the keyvalues? Otherwise you could possibly try my clumsy trigger idea.
I haven't tried yet as I didn't get to work on it today. Might get a half hour or so in later, but not enough for a major change. I will try and see if I can replace the door, see how it goes.
As for enemy finder, again, seems like a handy entity to have. The problem isn't finding the player though, more that when a player enters the room, it's like he's interrupting a group hug. The enemy finder, assaults and path corner will be great when they spawn and move, such as behind a combine field or ambushing the player. Placing the enemies individually would also work, but be pain to manage with the randomizer. It's not just a looks thing. If the player gets a SMG grenade, then 1 shot could end an entire encounter before the combine get a shot off. I want them to spawn, then spread out a bit. I think it might be act busy, but I thought they were just for rebals/citizens. I'll try when I next work on the map.
#17
Posted 16 March 2012 - 07:35 PM
Sabre, on 16 March 2012 - 04:40 PM, said:
Try spawning them in several clusters of 2-4? You can choose which clusters to spawn for scaling and randomization, and they're spread-out in (slightly more) natural-looking groups. Like they're having conversations or something.
#18
Posted 17 March 2012 - 07:30 PM
Up bright and early. Put some good hours of mapping in. Once again I got bogged down, this time fussing over stuff nobody would notice. Once I learned to let go, things went much faster.
First, bug fixes. I managed to fix the NPCs not using doors problem. Lriftiger was right. Changing from a brush based door rotating to a prop based one was the key. I also cleaned up the nodes a bit.
I made the street enounter. Unfortunatly the floor turret idea didn't work due to extremely limited range. There was an unused episode 2 NPC called combine cannon. It has no model, and was perfect, taking a few seconds to lock on that blasting the player unless they take cover, but to accurate and powerful. So I found a tutorial on setting up a mounted gun properly. It's complecated though so I will do that next time. Some minor details by adding a slight decline to part of the street backfired and had to be undone. Not a big deal because of the maps blocky-ness.
I started adding decorations and textures to parts of the map that I don't think I will ever change, or will have only minor changes. New bugs came of this, like the rooftop spawns in the garage falling through the floor and the texture underneath the handrails disappearing. I increased to cover to the rooftop combines as requested, and reduced the encounter numbers so something more reasonible. I moved the SMG ammo box to somewhere more obvious and closer to the street for players who want to pick off the combine in the street.
http://steamcommunit...0817?tab=public
I am thinking of giving players a crossbow to start so they have more long range options for the street. Not sure.
One part of the street I added was a chain link fence S bend to discourage rushing the mounted gun straight on. Even with a quick and dirty node graph, watching combine wind through it is great. They will also flank through the ally I intended for the players use.
http://steamcommunit...300/?tab=public
I have finally figured out how I want the map to go. The street will lead to a factory or some other building of interest. This will be a period of light combat and exploration, hopefully I can create a dence area where the player can rest and explore a while. Why are the combine interested in the building? That's what you were sent to find out.
Spoilers, although I'd argue the story of a crapy map isn't something that can be spoiled, what they are keeping in there is a cupboard. Idealy, I'd like it where you enter the cupboard and find yourself in a surreal world where nothing makes sence. I'm not sure how I would get the seamless portal like "world in a cupboard" effect, perhaps some trickery with cameras and teleporters? I don't know, but I have a couple of days to figure it out. If not, I'll go with something else.
#19
Posted 18 March 2012 - 12:42 AM
#20
Posted 18 March 2012 - 01:40 AM
10 user(s) are reading this topic
0 members, 10 guests, 0 anonymous users