News | Forum | People | FAQ | Links | Search | Register | Log in
Copper Quake / Underdark Overbright (UPDATED)
A dual release for Quake's anniversary this weekend:

1. >> Copper Quake, a "Vanilla+" mod that polishes and refines Quake's singleplayer gameplay. It grinds off the roughest edges we've all just gotten used to over the last two decades without moving away from what Quake is at heart, and expands opportunity for high-level play. For example: Nightmare difficulty is an actual playable mode!

Read all the detail about it you desire, and download it, from the Copper site:

2. >> A 7+2 map episode to go with it called Underdark Overbright. It's like czg, sock, and headshot had a sexy baby, featuring guest mapper Scampie!

Download it too:
or ogle screenshots:

UPDATE July 16: new version 1.05 is now available, follow the links above.
Everyone go play this! 
This is absolutely awesome news and I'm hype as hell to see that scampie was on board for this too. I very much appreciate the intention behind the mod and the listed changes are very welcome. The entire new episode alone is worthy of a separate announcement. Definitely gonna take my sweet time playing through to enjoy this but I also can't wait to play through the whole thing. Glad that you haven't abandoned Quake. 
I've abandoned my frankenmod and jumped ship. Will say, the backpack pickup sound is a bit slurpy. Something subtle and snappy would be nicer for the amount of times it gets played. 
Congratulations On Getting This Out The Door 
Really enjoyed the beta version I played of this. And now there's more maps!

I look forward to evetually playing through Quake on nightmare using this mod. 
just only reading about the Copper changes is a nice experience :) 
After reading about the changes in skill levels I
really want to replay the original game on nightmare skill 
Played 3 First Maps 
including secret level.
incredible job, lunaran / scampie!
i like those subtle gameplay fixes here and there. and the levels are just top notch in atmosphere and gameplay.
Just In Time For The Weekend 
Gonna give this a go tomorrow along with bunch of other stuff I still need to play. Congrats on releasing :) 
Got up to secret level so far. Good stuff.

Agree on the comment above about backpack pickup sound.

When picking up box of nailgun ammo, it says "You got nails", but with backpack it says "1 Spike" for example. Is there any difference?

And, to maintain consistency, when picking up health, it says "You were healed by 15" or whatever, would be nice to have same count info about picked up ammo from boxes, especially considering the Copper changes. 
An actual proper, coherent, "AAA" quake episode for the first time in god-knows-how-long and people are complaining about the backpack pickup sound? srsly?

Srsly though, I'm about halfway in and this is some awesome, true quakery. More thoughts later but so far this is some goooood sheeiiit.... 
Terra 2: Underdark Boogaloo 
Quite surprised at how new all of those maps actually are - a lot of the pack is the result of stuffing dm4jam + grendel + uwjam into a blender. The relatively short/id1 size of the maps made the whole pack a lot more digestible - I've played the entire thing* this morning.

Start: Nice idea, very nice visuals. Couldn't find what triggers the Quad Damage sequence. Favorite bit was the id episode gates, very competently crafted small vignettes.

Map 1: I've never been too keen on the nondescript dapak theme but this is a nice extrapolation of it, closer to classic ID in ethos. Rather impressed at how much gameplay could be derived from just one func_plat. The nailgun sequence was swell, proper E3M3 vibes in that one. That dithered metal texture is rather eww, though, looks like it was taken from AoP.

Map 2: This one was less dapak and more dm6rmx/baldm4 (though that faux metal texture still stung). Ironic that for all the words about the mod making water gameplay allegedly more fair, this map then hits with an underwater sequence that would rival even the biggest excesses of uwjam. The gold key room was A+ but bloody Quakeguy bodies as environmental storytelling is probably the oldest trope in existence.

Secret map: Forgot it was a q3dm2 remake at first, so the first area made me think it's the jam1 map revisited. An interesting interpretation of a boring source map.

Map 3: Damn, this one goes from 0 to 100 really fast. My usual strategy i.e. "run forward like a madman and deal with everything as half the monsters infight" was truly and well dampened in these tight damp halls. Felt like a mix between that one wizard terra map and Sepulcher. Kind of cute to make map 3 begin with a quick Zombie + GL section, since e1m3 did exactly the same. Thanks for not making me kill every single Zombie with the Voreballs, too. Another ersatz texture, this time replacing city2_3 - worked better than the dithered AoP metal.

Map 4: The tight warrens at the start (cool) eventually give way to a much more obvious take on campgrounds (meh). I felt like the ammo starvation was much stronger in this one than the others - previously I was in a mild state of unfulfillment, here I was straight up hungry for nails and rockets. Props for the crusher sequence, I think they (as well as spike shooters) need a lot more love in general, as evidenced by the poor reception to Romero's use of them in Sigil.

Map 5: First one in the episode that didn't work for me. I've never been a fan of "gradual" theme transitions in Quake, the original game has discrete end points in every map for a reason. The almost speedmap-like simplicity of the Runic section clashed strongly with the detailed organic cave section, and I wasn't a fan of the gameplay either - I understand the need for a breather after 4+ maps of tight combat, but this one felt more like placing a RL + lots of big hordes was an afterthought. Also, it somehow managed to overuse my favorite monster aka the Spawn!?

Map 6: The second one in the episode that didn't work for me. I enjoyed the small nod to Contract Revoked with the teleporters, but the electrode puzzle was annoying and unclear (why make the button visible again after each electrode lowers?), and I wasn't too keen on another lunsp1 type scenario.

*End: Played for 30 seconds before realising it's practically unrelated to the rest of the pack. Should have been a part of the mod rather than the episode probably.

Skill 2 demos, if you care 
Small niggles with the mod:

- Making the axe smoother is nice... but taking the 48fps uncanny valley motion from The Hobbit trilogy and applying the Scrags and Rotfish was fully unnecessary, I thought you were on team r_lerpmodels 0.

- There was a beautiful moment in map 2 (or 3) where a Z-Aware Ogre couldn't hit me, while it easily would have with the old code.

- I can now make voreballs crash into walls simply by strafing in front of a Vore in a small circle for a short while - not sure I would call this an improvement.

- Applying all those small bandaids to the core experience, while ignoring the biggest problem i.e. the extremely ineffective monster pathfinding, was the single biggest missed opportunity in this mod. 
Though it gave me extreme 2008 nostalgia (it's like the old Lunaran never left func!), spending an entire paragraph of your documentation to snidely snipe at Kell is just petty, and the content was patronising. 
Released just n time to celebrate 🎉 
Did you play one of the original Episodes with the mod? 
Just when you thought the old dogs were dead and gone... Absolute Awesomeness! Just in time for the Quake awards.... 
Stop complaining, before I stuff you into a blender. 
I don't know why I'm even entertaining your post with a reply, if you were unable to tell that my post was 70% praise and 30% criticism - but this forum is, and has historically always been, for feedback and constructive discussion.

If you want a vacuous hugbox you should join the Quake Mapping server on Discord. 
100% Agree Re: Backpack Sound 
It's almost as grating as reading posts from a certain non-mapper. 
Careful who you're calling grating with that Donald-Trump-at-70 voice at 50. 
Can We Not? 
Skill 1 
Not sure if I was "on" last night but at least the first two levels felt pretty easy to me. Died immediately on 3rd but that was the end of the day. I'm wondering if this is an intentional result of design or the gameplay changes?

Or maybe it's time for me to embrace Skill 2.

Am I understanding correctly that armor type is now just derived by the amount of armor? So if I have 123 armor, that is yellow, and as I take damage and it ticks down to 100, it suddenly becomes green? And if I pick up another green armor, it adds to my pool for a total of 200, and then becomes red? 
- Applying all those small bandaids to the core experience, while ignoring the biggest problem i.e. the extremely ineffective monster pathfinding, was the single biggest missed opportunity in this mod.

Giving quake monsters good pathfinding sounds like a great idea...until you actually give them good pathfinding...and then you play it...and then you proceed to spend 10 X the amount of time again, coding a system that makes them just as bad at chasing the player as before but this time using "AI"

Once you have >=100 armor, you can no longer pick up green armor. 
c0burn's Slipgate mod is shaping up nicely but perhaps Copper's "Oh I give up" system is a nice compromise (at least for infighting):

Infighting monsters who fail to successfully damage their target for 15 seconds will give up on the infight and revert to their previous enemy, so Ogres on plinths no longer accumulate permanent fan clubs milling around their feet. Monsters who do not have a ranged attack will give up after 10 seconds.

It would be nice to have something similar for monsters stuck on geo. 
Giving quake monsters good pathfinding sounds like a great idea...until you actually give them good pathfinding...and then you play it...and then you proceed to spend 10 X the amount of time again, coding a system that makes them just as bad at chasing the player as before but this time using "AI"

This was exactly my experience.

I went full a* node network, the works. When the map is as navigable for monsters as for players, monsters very effectively drain out of every room straight toward you and never stay remotely where you put them. This makes initial placement of monsters basically meaningless, in a game where your position relative to monsters can be very important.

So, I started adding exceptions and soft 'breaks' in the network to try to corral them into behaving the way I expected or desired ... at which point I realized how stupid I was being.

The lesson was that Quake's shuffly bump-around pathfinding is actually pretty important, as flawed as it seems.

In a mod like In The Shadows, though, where there's entirely new gameplay built around managing the danger of monsters being able to follow you really effectively, it's critical. In run-and-gun Quake, though, not so much. 
AD's Solution a tether that will keep the monsters in a certain radius. Limited and I am not sure what maps have used it. 
I get that for some people, monsters chasing you around might feel cool (for a bit), but again I will double down on my initial statement. I'm glad Lun shares the sentiment.

The lesson was that Quake's shuffly bump-around pathfinding is actually pretty important, as flawed as it seems.

This is one of quake's great laws imo. 
Is there any middle ground between "keep this monster in its general area" and "let this monster freely roam the map"? In the vast majority of cases, I would say probably not, so a on/off spawnflag would solve a lot problems.

The AI being insufficient was very noticeable at the end of map 5 when the two Shamblers very obediently failed to follow me when I retreated up the staircase. 
A brand-new monster type whose entire shtick is his ability to chase you perfectly around the map could be one way of slotting it into quake without breaking the rest of the game.

Con: but he may just draw attention to how dumb the other monsters are and make the player think "why don't all the monsters chase me?", at which point I'll just do a picard-style facepalm. 
Start And Map 1 
I spent a lot of time just exploring the start map and the first map. The start map was such an awesome concept and it's crazy how well you managed to transform e1m1. I managed to work my way to the quad and the pathway to get there was genius. It felt like exploring an entirely new map as I worked my way backwards. I wish that the quad lasted longer and I'm curious if it's possible to clear out all the enemies before it expires. I only gave it one shot and I wasted some time while the powerup was active trying to see if I could find the SSG but it still looks like you really have to haul ass.

Like I said, I'm taking my time to go through the pack in order to really savor the experience but the start map and first map are already excellent. The combat in the first map was especially good. It was challenging without being unfair. I did get a little frustrated playing through saveless since the grunts shooting through the grates combined with the ogre grenades was a bit tricky during the trap sequence, but it was still fair and that's the kind of challenge that I expect on higher difficulties. I'm really glad that you released an entire episode to accompany this. 
In modern shooters there is generally a volume representing an "encounter zone" which enemies won't leave. This is an easy way for designers to keep all the enemies in a room/combat from following you into the next room/combat space. (also necessary because rooms are streaming in and out of memory pretty aggressively as you progress.) In MMOs there is often a tether distance from the spawnpoint. Something like that might be a sufficient bandaid to help reign in monsters with out too much hand-authoring of behaviors.

Or, "monster clip" brushes placed at connections between major areas, could serve the same purpose.

You still need extra behaviors to handle all the edge cases this creates, such as what to do if player is inaccessible. You probably don't want all 30 monsters clumped up at the doorway where you left the area -- maybe they need to give up and go into a wander/guard behavior or something. But the current behavior creates plenty of clumps just from trying to walk blindly towards you, just the clumps are smaller and take longer to appear.

So yeah, it's not a simple addition. Maybe there is a version of it that solves the worst of the current AI problems without changing the character of quake combat too much. 
rein, not reign. 
Also just to confirm that I haven't been getting lucky, ammo pickups no longer disrupt the player's melee attack animation, right? I didn't see this addressed specifically in the readme but it was always annoying how you could eat a shot to the face from the second grunt in e1m1 on skill 2 when you pick up the shells while trying to melee him to death.

On the subject of sounds, I don't have a problem with the backpack sound. I actually like all of the sound choices so far, especially the axe making noise when used on an enemy. If any sound strikes me as a bit odd though, hitting a secret door with the axe kind of sounds like smacking a beanbag. Not a problem for me, just notable if I'm going to be nitpicky about sounds. 
Is there any middle ground between "keep this monster in its general area" and "let this monster freely roam the map"?

There is, kind of: Quake doesn't hard-lock monsters into their start areas unless the level designer does it with doors/platforms/etc, but it does soft-lock them with their own derpiness. While they don't always find their way out, sometimes they do, and when is more or less random. Encountering a monster that's not where you left it is an emergent surprise, the kind of thing that feels better when it's serendipitous than when it's a calculated monster closet backspawn.

I'm beginning to feel that part of level design for games like Quake is relinquishing the need for total control and configurability down to the spawnflag, and accepting that while you place every monster with a purpose and to fill a role, each one is also kind of a wildcard. At the end of the day, the player is an even bigger wildcard, and they have more fun when you let them be that.

If they move to a more advantageous position and get some easy kills, let them have that reward, especially if you just put them through three torture arenas where advantageous positions were nearly impossible to maintain. 
I wish that the quad lasted longer and I'm curious if it's possible to clear out all the enemies before it expires.

Yes it is. You have to haul ass but yes. 
I took the backpack sounds straight from AD because I didn't remember anyone complaining about them then. :( 
I like the new "door locked" sound a lot
I just quickly took a look (listen, rather) in AD 1.70 final for backpack pickup sound. It sounds exactly like regular ammo pickup, just like it was in ID1. At least those backpacks that were dropped by monsters behave like that.

I loved UDOB. Thanks a lot for provided entertainment. Highlights for me included

- raising platforms for ability to breathe
- gibbing some zombies with voreballs
- fake exit ambush
- secrets behind 3 golden keys
- that area when a lot of spawns... spawned
- arenas in the next to last level, especially the one with square platforms sinking in lava

Found Ring of Shadows at "appropriate" time only in one level, it was funny to watch monsters being confused. Other times I ended up finding them later when stuff around was dead.

Visually everything looks great but that goes without saying.

Can't say I'm a fan of such Chton style (I think it was similar in Contract Revoked?). That's the only major thing I didn't like in UDOB. 
Re Backpack 
AD backpack is a secret item that gets equipped onto the player, the sound makes sense. Having the same sound play for enemy drops is a bit too noisey. 
#42 #43 
This makes sense. In AD when you find those backpacks it's usually a secret so the louder, longer sound seems to fit. It's much more rare to hear this that in "Coppah".

Hearing it over and over feels "louder" to me overall than the standard AD experience. On my end, there are probably a few things going on that contribute.

IIUC all sounds in Quakespasm have a high pass filter applied that cuts the sound a bit in Windows. In Mark V, everything is a touch louder as it doesn't apply this. I use Mark V for straight gameplay session unless there are compatibility issues with a given map. 
UDOB Commence 
T-minus fifteen minutes. 
Quick FYI... this will be broken in Linux Quakespasm until PAK0.PAK is renamed to pak0.pak.

Not sure if there are any other such issues down the road, just got started. 
Well that's a fuckin' awesome startmap, very good first two maps, and initial signs of fuckin'-awesomeness on the third. Out of time for tonight but I'm really happy to get to chew on an episode of full maps from you two guys. 
Will Play Later, Maybe On Stream Who Knows 
But in relation to the AI conversation earlier I would like to see separate monster/player clip brushes at some point like in Quake 2. I think this would allow mappers to make seemingly smarter AI without any coding required. 
Played 1st 2 
very impressed.
2nd map in particular. OTP's comments about underwater gameplay are off. It was close but I survived and there were adequate hints to approach the section differently than one is 'trained' to through normal quake play. Also a good demonstration of new megahealth parameters. Great use and re-use of water area, and loved how the arena combat section opened things up down there too. So beautifully constructed from a gameplay perspective and super enjoyable aesthetically also.
BTW that arena which opens the water pits was perfect - I barely got out of it with 8 health.
It reminded me of a proper DOOM ambush, or maybe the big ambushes from some of the MEXX maps.
Great job so far, looking forward to the rest when I have time. 
Will Upload Demos Once Completed 
I just popped in to say I am enjoying the maps so far.
Not really sure what all the hubbub is in regards to the backpack noise, it sounds alright to me. 

Skill 2

I got my arse kicked. I did manage to finish end.bsp but I died so many times that I just save scummed it (and quake demos hate that).

The maps were really good but there were some slaughter combat moments that I wasn't expecting (like the campgrounds remake map, that got me a few times).

I like a lot of the changes to the mod. I hope many of the changes make their way into dumptrucks mod or vice versa (like flame sprites, breakables etc)...

I love that the RoS is now a viable power up when in combat rather than 'sneak past everyone before the timer runs out'.
The NG/SNG changes are great too, you've managed to make both guns worthwhile for different situations.

I think many of the changes together make the game a lot harder, z-awareness, turret enforcers, shambler dance nerf, armour degradation, reduced ammo drops...

The increased difficulty was a bit of a shellshock, I am definitely going to try out a few other maps with this to see how it plays. 
Agreed on all points above. Shambler’s are legitimately scary for me without perf 
The udob maps are sublime. Or maybe it was the mod? hard to tell?

I love how the mod makes a lot of rather significant changes, but still feels very vanilla. Most of the time you can't tell the difference. The armor change sounded too invasive but it works well. I hope every mod from now on is based on this.

Had never played with this "autosave" feature before but that is great too. Not having to think too much about saving really helps immersion, and makes the consequences of your actions feel more permanent. I didn't see how this system actually works documented anywhere?

Funny to play the q3dm6 inspired map and seeing the curvy ramp (to the railgun) and thinking.. huh, this really feels like q3dm6! Then turning around and seeing the rest of the level :) 
I saw my game save a bunch of times but every time I died I always went back to the beginning. 
Load Auto 
In console 
oh nice, wish I had figured it out at the beginning 
I had a nice system rigged up where dying and pressing 'fire' would load the last autosave instead of restarting the level.

It worked great, until scampie sent me a long test demo and I couldn't watch any of it. the first time he died, the demo would playback the recorded 'stuffcmd("load auto")' and the demo would end and load my last autosave. :p

so, we had the info_player_start fire the autosave entity in every map, so that 'load auto' was always safe to type at the console, and had to leave it at that. Any more invasive autosave system than that would need some manner of engine cooperation, but what form that would take exactly I'm not sure. Ignoring stuffcmd in demos would break 'bf', and also all the fog stuff in Copper, Honey, and AD, so that's maybe a no-go. Technically we're abusing stuffcmd by doing this anyway.

Something a little more robust, but prone to breaking for other reasons, might have been for the autosave entity to stuffcmd an alias that was masked to 'load auto' in quake.rc. Then if people wanted, they could re-alias it to something that would do some of that hacky config-based scripting from the old days, where quickload was rebound to 'load auto' until the next time you hit f6, which would rebind it to 'load quick', so f9 always loaded the most recent save ... or something. Still doesn't let you just press 'fire' to restart at the last save, though. 
Also, thank you all for the feedback, be it praise or constructive criticism. I'm glad you're all playing it and (mostly) enjoying yourselves. 
I had no idea about "load auto", I did a search of the readme and couldn't find anything explaining. I probably would have added something to explain how it works and instructions on loading "auto". 
A fantastic set of levels with many clever setups and surprises. Brushwork and texturing were top notch, plenty of eye candy. Difficulty on hard was just the perfect amount of hard, where I exit the level with only 5% of my health left.

I didn't mind the gameplay changes that copper brought. They are a bit different than what we're all used to but its not a drastic change. The backpack pickup sound didn't bother me either.

First run demo's through the entire episode, hard skill:

Great job to Lunaran and Scampie! This one is a real winner! 
Autosaves are supported in single player - type 'load auto' at the console to load the last autosave.

This was in the udob readme not in the copper readme except in the modding section:

target_autosave: saves the game to auto.sav when triggered, can be loaded from console. 
the big platform in e2m6 suddenly started to go up again after I have killed the zombies :)_ 
Not The Romero Lift 
I can't get it to happen, so there's more to it than killing the zombies, and the demo only shows after it happened. Can you reproduce it, Ankh? 
My Experiences 
I've been excitedly playing the vanilla episodes on nightmare with this mod (on QSS 0.93.1) and been liking it! My favourite changes:
+ Being able to shoot through enemies makes killing them just that much smoother and more fun
+ Making the nailguns distinct from each other
+ Making the Ring of Shadows resemble Doom's partial invisibility makes me actually fight through parts that I used to just skip with the RoS.
+ Changes to the nightmare difficulty.
+ Chthon feels really tough now. I actually died an embarrasing amount of times against him.
+ Rocket economy feels a lot better now, even though you can still pretty easily max out your rockets in the vanilla episodes. :D

Some of my issues:
- QSS seems to glitch out with the mod. For example in E3M3 the squishing func_trains that hinder pushing those floor pushplates have some sort of weird wait time with them now. They stay down for a few seconds before getting back up. Even in general there seem to be weird delays with triggers firing and stuff.
- Enforcers dropping nothing. Even though the ammo balance with the TB in later levels felt more "right", I still miss the dopamine hit of looting enforcer backpacks. I guess you did consider really hard on whether to allow the enforcer to drop 1 cell opposed to nothing at all, but still. Well, perhaps you chose the lesser of the two evils.
- Whenever a map starts, the player makes the gasping for air sound for some reason.
- Would it be possible to adjust the player's mug to have the completely healthy face at 50 health in nightmare difficulty, or would it require engine side changes?

I might have had something else in my mind, too, but I'll write them when they come to mind. Thanks a lot guys, for the GREAT mod! :) 
Now I Remember 
Quite a major hiccup in QSS is the particle system, which seems to "clog up" in this mod. I think a map starts out okay, but as you keep playing, the amount of particles decreases and decreases, until you see like no shotgun impact particles, for example. 
I can't reproduce the e2m6 lift issue. I think the lift was blocked by something and started to move up. Could it be a trigger that turned solid somehow? I think I got a hit of damage when before it started to move up.

I have also observed the strange e3m3 squisher delays mentioned by Esrael

One time the silver key at start of e3m2 returned to me somehow. It went down but then the lift with key returned. I couldn't reproduce it.

Playing in quakespasm with copper mod only. Nigtmare difficulty. 
Had The Lift Issue Too In QSS 
I also had the lift go back up in E2M6. But to be fair, I've had issues with the lift even without the copper mod (although maybe not quite as bad as the lift going back up).

Even without the mod, in QSS, quite often some of the pickups in the lift or some gibbed zombie heads start falling through the lift and start a perpetual fall down with them wrapping through the level constantly. 
I have replayed almost all original levels on nightmare difficulty. I really like it.

What I like:
- limit of 50 hp on skill 3 - such an simple change but the pressure is much higher. Few mistakes and you can be dead. It keeps you on your toes
- ring of shadows - I started to use it, it really helps
- reduced rockets - time to change from excessive GL usage
- nailgun - faster nails is great
- ogres in skill 3 - a surprise grenade in your face from time to time
- megahealth is very rewarding on skill 3 - the hp boost allows for some bolder action
- pent protecting the armor - in original game I never really have used the pent because I felt armor was more valuable than hp, now I could finally use it a lot

What I have observed:
- some monsters die faster - knights, shamblers
- super nailgun - is it more powerfull now?
- enforcer firing pattern (on skill 3) - not a fan
- the voreballs seem to track me easier when running around a column
- the big rocket ammo box looks too bulky for me 
About The Silver Key In E3M2 
I think I used to get the problem with the silver key too, but that was when I was playing regular Quakespasm with higher than 72 FPS setting. Do you have the FPS set higher than 72? Having a high refresh rate also tends to cause the lift issues with the player taking damage and then the lift turning back in the previous direction.

In QSS the physics are made independent from refresh rate, but still there are some occasional hiccups, such as with the Romero lift in my previous post. 
what is the command to check fps settings in quakespasm?
I have never changed it from 72. 
I agree that I miss the enforcers' backpacks even though in 90% of levels where used it was a useless drop. Would be nice if they gave like 5 armor or something. 
I really reall like doing the new vore damce though. 
Underdark Overbright Start Bug On Linux? 
On Linux, using Quakespasm on the start map of Underdark Overbright, I can not get passed the doors to the lift and they seem to be bugged as well. They open, slowly, at different speeds and go too far. You can then see out to the "void". Not sure if this is a known issue with the mod or the Quakespam engine (on Linux maybe?).

I'm "stuck" at the screen shot location by an invisible wall. It is like the doors have moved, but also have not moved.

Running `map end` also produced a error where I could not continue. The small amount I have seen is great, just want it all :] 
My demos of the start map and the first 3 maps.
Awesome levels. I had so much fun playing.
Skill 2. On the edge. 
rename the PAK0.PAK to pak0.pak and it should fix a bunch of issues 
Dumb Question 
Does the mod support QSS? Or does QSS support the mods features?? 
Copper does not make use of any QSS specific features, so the benefits to using QSS with Copper are simply whatever benefits you get from using QSS anyway. Such as randomly reversing lifts, it would seem.

The download has been updated with a properly lowercased pak0.pak and (hopefully) all the typos and inconsistent spawnflags in the .fgd fixed. 
That Blinking Light Change <3 
Just me or does it look amazing to everyone? 
Speaking Of Which... 
... when I tested Copper I noticed there are several textures of... stuff hanging around that, correct me if I’m wrong, require alpha values to be recognized correctly. So it seems that, while not QSS, it does depend on a few things to be displayed correctly... 
Conclusion: Amazing 
I finished my first run through and overall, the maps were amazing. The use of certain mechanics was brilliant such as during the fight in the lava pit where the platforms lower after stepping on them. I don't know if anyone has done something like this before in a Quake map but I thought that it was really innovative. I also loved the fake exit gate ambush and it put a huge smile on my face. The fight against Chthon was brilliant although it was pretty challenging and I eventually resorted to saves. However, this is how boss fights should be and I wish that we could have more innovative boss fights in user maps.

I did miss some vanilla features such as the one that Esrael pointed out regarding ammo drops. However, many of the other changes were great such as the nailgun/super nailgun changes. I liked having an incentive to resort to either one depending on the situation. Great work and thanks for putting this together. 
E3M15 Problem 
Does anybody else have a crash to console when trying to load E3M15?

MarkV gives me "Host_Error: AllocBlock: Full" when trying to load this map, either from menu or after leaving E3M14. 
Wrong Post 
Ah, forgot what I wrote above, wrong thread.

That being said, amazing episode. It felt almost like an official release, similar to DOPA. The mod blends in quite nicely. Always hated when you lost armor in spite of having the Pentagram active, among other small things. Feels like a late but welcome polish. 
Really satisfying episode, I've got a bit of an urge just to play it again.

Map remixes are my kryptonite BTW so good job with that.

Favorite changes in the mod so far: ring of shadows, nailguns changes, multi-key-carrying, drowning mechanic. Also nice: gibbing downed zombies, and spawns getting amnesia.

I agree that the backpack pickup sound is less appropriate when used for a lot of monster-dropped items as opposed to the occasional special pickup.

Not completely sure about all the other monster changes yet, but they seem ok-to-good at first glance. 
Monstah Gameplay! 
Awesomest gameplay of the decade! Tons of fun, infighting, ambushes, the works.

Great, well thought out secrets (Btw, in one of the maps it's impossible to get 100%, am I right?)

Somewhat harder than the original, Ogre and Vore attacks get me more than they use to.

Great work, guys. Thank you, you are great! 
1) It is not impossible to get 100% secrets in any map. I wouldn't do that to you. You missed a gold key :)

2) Rocket or grenade jumps are not required anywhere, for either critical progression or secrets. There's always a way. I don't ever really do anything to prevent them, though, so speedrunners shouldn't feel excluded. (except maaaybe by udob5.) 
My demos from maps 4,5,6 and secret map. Skill 2.
This was crazy stuff. Amazing maps and copper quake. 
So in udob3, what's the intended way of getting the barred GK by the wooden ledge with the SK? Far as I can tell the iron bars are opened by a button below, but by the time you get off the elevator the bridges start retracting and the bars are shut. I needed two rocket jumps to get up there in time. 
Don't Take The Elevator 
Would it be possible to adjust the player's mug to have the completely healthy face at 50 health in nightmare difficulty, or would it require engine side changes?

Unfortunately no. The choice of hud graphic is hard coded engine-side, based on player health/100. Not without CSQC, which I don't want to require for something so minor. But it bothers me too.

The extremely delayed crushers on E3M3 are a result of Copper. Both crushers are func_trains with a stale 'wait' key. That didn't do anything in id1, but I gave trains a custom pause time at each pathcorner and made 'wait' the keyvalue for it in keeping with all other func_ behaviors. I didn't notice the E3M3 crushers now wait for 13 seconds in both positions.

I was running through Quake with Copper not often, but regularly, but I didn't do one last final run-through like I should have and this slipped through.

I'm debating the best solution. Keyvalue inconsistency between func_train and other func_*s isn't desirable, nor is leaving the bug as is. Perhaps including .ent files to take care of these specific problem cases in the original maps? 
.ent seems the easiest way to fix it. 
...or Two... 
" You missed a gold key :) "
Good. As if I needed an excuse to replay this! 
The Secrets Are Very Well Done 
not impossible to find when you are looking for them,
some new ways to hide them,
nicely located,
visually attractive 
Ain't no way to get that blasted barred gk without rocket jumping. Nope. Too slow to use the megahealth plinth, WAY too slow to use the elevator, teleport can maybe save on 1 rocket jump. 
Incredible Mod 
I loved this mod and your take on Nightmare takes the challenge to a new level. The start map stands out as well, the way this level has been revisited in a decayed fashion really stirs nostalgia.

#39 answered a question I had, but does anything special happen when you kill all foes? I only have one secret left to find so I'm wondering if that's it. 
I found the way, now RJ required, just need to be quick 
no RJ required 
It's A Better Quake 
I never understood why the Pentagram doesn't protect your armor, and losing health AND armor underwater when drowning felt unfair already during my very first playthrough. This mod fixes these annoyances and many more. Play the original episodes with this and you will have a hard time going back. Romero would approve, I am sure! 
Thank You ... 
... for a thoroughly enjoyable episode of traditional Quake goodness.

Some of my all-time favourite releases are episodes of more-or-less id1-sized maps with carefully-constructed gameplay: things like bbelief, contract, and terra. This pack is right up there with them in terms of quality. For me, it's these sorts of releases that most closely capture the feeling of playing the original game.

In addition to the various good things that have already been mentioned above, something I really appreciated about these maps was that secret-hunting was fun and satisfying. The relatively "modest" scale of the maps (by modern standards) meant that the maps could get away with having some fairly devious and tricky (and therefore, satisfying) secrets without it becoming impractical for the player to find them.

This is a case where I think id1-sized maps like these have an inherent advantage over modern XXL maps. In a really big modern map, I might reach the exit with e.g. 27 of 30 secrets, then go back and explore and get to 29 of 30, and then feel discouraged because the prospect of finding that final secret in such a gargantuan environment is like finding a needle in a haystack, and not much fun at all.

In UDOB, I was able to find all of the secrets without getting bored and without resorting to cheats. I liked that. My favourite secret was the one in udob3 that others have mentioned, where you have to get to the gold key before the bars close: finally working that one out was very satisfying.

I also like that the individual maps appear to have sufficient supplies to each be playable from a shotgun start, and that a shotgun start on Nightmare seems tough but not completely unbalanced. This is great for replay value.

I'm looking forward to playing through the id1 maps with Copper, and will add my thoughts about the gameplay changes in the mod when I've had more of a chance to digest them. 
I Also Have ... 
... a bug report, and a humble patch submission to make Copper detect, and automatically correct, this sort of bug.

I found that I was unable to get 100% kills in udob2 on Normal skill: I was stuck at 53 of 54. I did some investigating, and it appears that the culprit is the monster_fish at "-928 -88 -224". This fish is configured to be present on Normal and Hard, has the SPAWN_TRIGGERED spawnflag, and has the targetname "fishyfishy". However, the trigger_relay that targets "fishyfishy" is only configured to be present on Hard, so on Normal the poor fish cannot be triggered, and remains stuck in the cosmic interstice.

I should preface the rest of this post by explaining that I am a cleptomaniac player who always wants to finish every map with 100% kills and 100% secrets. I am not sure whether this is normal, or even whether it is healthy.

In any case, it's my experience that this sort of bug -- where a triggered-spawn monster cannot be triggered, either because it has an unmatched targetname (possibly limited to a specific skill setting), or no targetname at all -- is historically very common in maps for any mod that implements triggered-spawn monsters. It's just so easy for this sort of thing to slip through.

Because I am the sort of player I am, I have long since taken to fixing kill-count bugs in maps and mods for my own playing pleasure. In general, I've found that it's best to make a mod detect and automatically correct map bugs whenever possible. In the case of a mod like Copper, where other mappers are encouraged to make maps for the mod, this seems even more desirable.

It would be really great if Copper could do the following for triggered-spawn monsters:

* On map start, check whether the monster has a targetname and whether the targetname is matched by the target (or target2, target3, or target4) field of another entity.

* If the targetname is matched, finish setting up the entity, and update the total_monsters count.

* If the targetname is unmatched, then the monster cannot be triggered, so print a warning message (for the mapper's benefit), and remove the entity without adding it to the total_monsters count.

I have created a patch that implements this behaviour, which I've uploaded here:

The only changes are as follows:

* monsters.qc: modified monster_spawnsetup

* monsters.qc: added monster_spawnsetup_go

* utility.qc: added dprint7

The comments for the functions should hopefully explain why I've done things the way I have.

Lunaran, please do absolutely whatever you like with this submission, including ignoring it if it's presumptuous. 
Just Here To Say I Like Copper 
Thanks dude, with your clue I finally figured it out. I'd call this one a bit counterintuitive. 
I found that I was unable to get 100% kills in udob2 on Normal skill: I was stuck at 53 of 54

dammit dammit. Every now and then I'd make a bug like that for myself, where a spawned monster was unspawnable on a certain skill level. Your patch is pretty much just what I would have done (ie detect it and make it a loud error) had I recognized the systemic need for it before release. Thank you for the patch!

I'll put that in. It's now on the short but growing list of stuff to fix:
- better backpack sounds but for real this time
--- old ammo noise for dropped packs, new one for placed packs
- coop starts
--- add to start.bsp
--- degrade to sp start when missing
--- teleport any touching players a little distance away instead of telefragging
- fix cthon <-> ch'thon
- address ch'thon snipe-on-teleport
- e3m3 crushers are slow (stale train wait key)
--- needs e3m3.ent
- error when a monster isn't triggered by anything that exists on this skill (iw's fix)
There's also a minor issue on the underwater map where one of the door textures glitches due to occupying the same space as an adjacent rock texture after the door opens. Didn't think it was significant enough to mention before since I didn't think there would be any patches, so I don't remember which door it was. 

"Chthon" is fine. 
E3M7 Zombie Platform Bug 
Playing currently the original Quake ID1 stuff on Nightmare with Copper (clean install, no UDOB). Only thing I added is pak1.pak with backpack sound that I copied from lock1.wav from ID1.

In E3M7 there's a certain button player has to push and it also should make a portion of the floor to slide open and platform with some Zombies to rise. The floor opens, but the platform doesn't go up, there's an "elevator" sound though for a brief moment.

Here's a link to the pic of the described part:

It's no big deal, unless player falls down, then there's no normal way out.

Also in one of previous levels something was off with Fiend spawn, it got kinda stuck in running animation, where as I remember it always jumped immediately at the player. I think it's at the same part with a crossroad bridge, with two crushers (I think they were reported above to be slow) on the sides.

Here comes totaly useless subject, but how about also item pickup messages consistency? The original messages are "You *got* the nails", but some of the new ones are "You *get* ...". Also in UDOB it was "spikes" from backpacks, not nails for some reason. I like the "You are healed by XX", why also not do the same for ammo, especially considering that in Copper some ammo types have different pickup amount. 
Func_door Problems 
I believe I've found the bug that's affecting func_doors in various id1 maps. This is the cause of gila's problem in e3m7 and Ankh's problem in e3m2, and seems very likely to also be the cause of the problem in e2m6, though I can't reproduce that one on-demand to test it.

The issue is in the func_door spawn function. The original code had the following lines:

if (!self.wait)
self.wait = 3;

In Copper, this has been changed to:

self.wait = zeroconvertdefault(self.wait, 3);

This results in a "wait" value of -1 being converted to zero, a value of zero being converted to 3, and any other value remaining the same. This is different to the original behaviour, which just converted a value of zero to 3 and left any other value the same.

The problem here is that a "wait" value of -1 has special significance to the func_door code, and should not be changed. (More pedantically, any negative "wait" value has significance, but -1 is the value that the id1 maps use by convention.) In particular, the door_blocked function interprets a negative "wait" to mean "this door should not reset to its previous position if it is blocked".

So the result of the change is that doors with a "wait" of -1 will reset to their previous position when blocked, even though they aren't supposed to do that.

Restoring the original behaviour fixes e3m7 and e3m2. The platform with the zombies in e3m7 always gets blocked temporarily on its way up, which is what caused the bug to manifest. The silver key platform in e3m2 can get temporarily blocked if its hits the ogre in the room below as it's descending. The ogre is walking about, which is why this doesn't always happen.

The Romero lift in e2m6 is also a giant func_door with a "wait" of -1, so I expect the same bug causes that to go back up, though I couldn't reproduce this on-demand (it only happened once while I was testing, for no apparent reason). The mystery for me would be why it would get blocked, because it shouldn't be possible for anything to obstruct it. However, there occasionally seems to be engine weirdness in general with things blocking when they shouldn't? 
Awesome sound, too bad it doesn't get played in END.BSP anyway :(

Who made it and how by the way? 
ah, I shouldn't have zeroconvert'd door.wait. Another rush typo.

Thanks, iw! 
Nice work. 
maybe mankrip needs this. bump 
E4M2 3 &quot;item&quot; Teleports 
In E4M2 there's those 3 teleports that take you to MH, YA or Silver Key. They are also marked with those items. But with Copper, these items aren't there:

In ID1 it's fine. 
Awesome sound, too bad it doesn't get played in END.BSP anyway :(

Who made it and how by the way? 
Lunaran: glad I could be of help. I'm having good nostalgic fun playing through old maps with this mod.

I'm currently working on a QuakeC-based workaround for the "stale entity keys" issue. I've bumped into the same thing in the past, and I'd like to hammer out a decent general-purpose solution to it. I'll share the code when it's finished, will probably get the chance to do that within a day or two. 
What do you have in mind? I'd love to know if there's a more clever way around it than an opt-in "please do it the special new way" selector on worldspawn or something. 
This was a blast and I'm very happy to see it's been well received! Here's my Full playthrough with rambling and commentary
that's just a JPEG 
That's his whole playthrough with commentary, summed up in one picture. 
Thanks for pointing out, here's the correct link for my playthrough: Full playthrough with rambling and commentary 
Sanitizing Entity Fields 
Lunaran: the term "clever way" would probably be too generous. This is an ugly problem, and there doesn't seem to be a silver bullet.

My goal has ended up being to create a single QC file, compat.qc, which could (in theory) be added to any existing mod, and which provides the tools to implement an extremely light "compatibility mode" as painlessly as possible.

Because my target is "any existing mod", I can't assume that the mod's mapping interface can be changed, so an opt-in worldspawn key is a no-go.

I should stress that I do not assume this module is something you will necessarily want to add to Copper. I have simply used Copper as a test case while implementing it. I'm presenting it as something of possible interest.

How it works:


By default, compat.qc will automagically enable the compatibility mode for the stock id1 maps, but not for any other maps. This default behaviour can also be overridden via console commands, allowing a player to play non-stock vanilla maps (which aren't auto-detected) in compatibility mode if they really want to.

It turns out that it's really easy to detect whether one of the stock id1 maps is being played. They all have known file names, so compat.qc checks "world.model" once, on map start, and enables compatibility mode if the file name is one of the stock maps. It's common for mods to provide a "start.bsp" that shadows the stock one (and UDOB does this with "end.bsp" too), but that can be distinguished by checking some other field as well (e.g. "world.message").

This alone makes it feasible to address compatibility with the stock maps, which seems like a big win.

But we've also 20+ years of custom vanilla maps that a player might want to play with whatever mod we're talking about. They can't all be auto-detected.

As a better-than-nothing workaround, compat.qc comes with a config file, compat.cfg, which a mod can load from its quake.rc file. This defines console commands allowing the player to override the default behaviour:

compat_auto: restores the default behaviour.

compat_always: always enables compatibility mode on map start, allowing custom vanilla maps to be played. (This will break maps that are actually made for the mod, and the command warns the player about that, loudly.)

compat_never: always disables compatibility mode on map start. Not really useful for the player, just here for debugging.

Given my self-imposed restriction of "should work with any mod", I think this is the best that can be done, though I'd love to hear of anything better.


compat.qc manages the compatibility mode, but by default, the mode doesn't actually do anything. To make it do things, functions are provided that can be called to sanitize fields (and spawnflags) only if compatibility mode is in effect.

So to fix the func_train problem that affects e3m3 (and e4m4, apparently), only a single line needs to be added near the top of the func_train spawn function:

COMPAT_SanitizeFloat(wait, "wait");

That's it. If compatibility mode is in effect, the "wait" field will be cleared, and a developer message logged. If compatibility mode is not in effect, this is a no-op.


There are equivalent COMPAT_SanitizeVector and COMPAT_SanitizeString functions, and also COMPAT_SanitizeSpawnflag (some entities have rogue spawnflags set).

A mod using this doesn't need to foul up its code with "if/else" wickedness.


Lunaran: as I said above, I do not assume this is something you would definitely want to add to Copper. But if you're curious, a patch implementing this is here:

Changes to existing files are marked with "// iw" comments.

The following things are sanitized when in compatibility mode:

- func_train: "wait" field (affects e3m3, e4m4)

- path_corner: "speed" field (affects "Contract Revoked" maps)

- All non-boss monsters: all new fields and spawnflags (just to demonstrate how easy this becomes)

- In general: the "COOPONLY" and "NOTCOOP" spawnflags (ditto)

In principle, one could go through every spawn function of every stock entity and sanitize every new field and spawnflag that the mod adds, to pre-emptively fix any as-yet-undiscovered problems. I started doing that, but then I realised how many extensions you've added to the stock entities, so I stopped. =) 
Awesome episode. For me it's up there with Zerstörer and a couple of other ones in some kind of unholy pantheon of episodes. From the brilliant startmap to the boss fight, I think it was just about perfect, with a nice arch from "realistic" to gradually more and more abstract level design. But I loved the last two levels as well. Lots of neat surprises and ideas throughout. It's also one of those rare maps/episodes that I restart as soon as I've finished it. For one thing, I have a bunch of secrets to find. Anyway, many thanks for a brilliant episode. 
Yeahh. I've been changing and rearranging code in Copper for a long time. It grew out of the LunSP2 source, which I started right on top of the LunSP1 source, which is from 2003. That's 15 years of "oh this could be cleaner" revisions and "oh I'd like to have this" additions that probably make truly universal compatibility a pipe dream.

Had I started this project from scratch more recently, there might have been more compatibility with progs_dump, but since I started it almost from scratch a long time ago, most of the parity is with Quoth, which was the only big-mapper-feature-add for a long time.

Compatibility isn't limited to just formerly dead spawnflags and keyvalues, either. Very careful mappers would sometimes offset their ammo pickups based on how the models looked, and not the physical bounds of the pickups, and in Copper they'll appear off-center or even z-fight with each other (the ammo in the dapak maps is frequently screwy). Or map hacks: preserving 100% of them was impossible without leaving 100% of the code unchanged, since any free function was eligible to be a notnull's .use(). Does compatibility mode mean maps as hacked as Ascending and Descending work?

There are also already cases where the gameplay changes themselves might soft-break a map, like if Enforcer or Ogre drops were expected to fuel the LG/RL for the entire level.

Just saying "compatibility mode" implies a guarantee that can't be given. :( It's also on the user to remember to be in the right compatibility mode, and it puts these COMPAT_ calls all over the place ... still, this is an impressive patch. I'll give it a think.

I also did not realize Contract Revoked didn't include a progs.dat. this weakens my opinion that it's only critical to support eXmY.bsp, and that the chips can fall where they may everywhere else.

Guess I'm playing Contract in Copper this evening. 
15 Years! 
Wow. I remember playing lunsp1 when it was released, but I hadn't realised it was so long ago!

Considering 15 years of changes, Copper does ... really very well for compatibility. I'm impressed.

Agree 100% that Q1 map-mod compatibility is a bottomless well of absolute despair for all reasons stated.

>>> Or map hacks: preserving 100% of them was impossible without leaving 100% of the code unchanged, since any free function was eligible to be a notnull's .use().

This is so true. I once "harmlessly" refactored barrel_explode and completely broke gmsp3. =(

Nowadays I just assume that maps that use negke-level hacks are a write-off in terms of mod compatibility, exactly because of e.g. info_notnulls calling functions that should be private.

To play new vanilla releases, I use a custom progs.dat which fixes exactly one thing: the Rotfish kill count bug, which I can't cope without. Map hacks have frightened me about compatibility that badly.

>>> Just saying "compatibility mode" implies a guarantee that can't be given. :(

Thanks for pointing this out. Now that you say it ... yeah, I'm inclined to agree. This is a "compatibility mode" to address an *extremely specific* compatibility issue, which is the stale spawnflag/field awfulness. It's not meant to be anything more than that. (My comments at the top of the file make it sound too magical -- gah.)

And yeah, end-user expectations. Right now I have no clue what else to call the module. =( But thanks for the reality check.

BTW, even if my pet idea isn't the way forward: how high a priority is stock engine compatibility? An ent file to patch e3m3 would be ignored by the stock engines.

It's more compatible (if ugly as sin) to include a map-specific hack in the progs. E.g. at the top of func_train:

if (world.model == "maps/e3m3.bsp")
self.wait = 0;

This is so ugly, but it'll work for everyone, even people playing with the WinQuake they downloaded via Steam or whatever. 
That's true. I did advertise that Copper works with any Quake, I guess I can't go back on that now because of one crusher. I gave Copper a try in WinQuake and there was a charming joy to running around in blotchy pixelated 256-color mode again.

Now I have to decide between the abstract badge of honor of being DOSQuake compatible and the abstract badge of honor of not having map-specific hacks in the progs.

A third answer: since all of the problems actually witnessed in the wild seem to stem from func_trains, a Copper-opt-in spawnflag on just func_train is a lot less offensive to my delicate sensibilities. I think I'd only have to update one func_train in all of UDOB (which is going to get an update when Copper does anyway). 
Worldspawn Key 
Lunaran, what's your take on the other possibility, of requiring maps for a mod to self-identify as such by setting a worldspawn key?

This seems tantalizing to me because I could unambiguously distinguish between "a map made for my mod" and "a map not made for my mod", and then switch behaviour (e.g. sanitize certain fields) accordingly.

Just brainstorming:

* It would allow a mod to add a new bugfix even if some terrible backwards-compatibility problem with a specific entity is only discovered far down the road, after people have started releasing maps for the mod, when it wouldn't be possible to add an opt-in key to that specific entity anymore.

* A worldspawn key could be set automatically by a .fgd file (I think?), so it's only the mappers using .def files who would have to remember to set the thing (I think?).

But it sounds like you've already considered this option, so is there a downside I'm overlooking? 
Secret Map? 
*slightly spoilerish*

Replaying the episode, I found the button in udob2 that switches the portal to a ”secret level”, but the level in question is udob7, which of course is part of the episode normally as well. Am I missing something here? 
That's the usual convention of naming secret levels, going back as far as E1M8. 
With a key on worldspawn, we only solve the problem of the player remembering to set the right mode by making the mapper remember instead. It doesn't solve any of the other problems of maintaining two different code paths for everything, which has the potential to be a nightmare of bugs. 
I should have been more clear, I was more thinking about the choice between "key on worldspawn" vs. "key on just func_train" (or whatever affects a given mod) -- both require the mapper to remember something, and both result in two different code paths. Certainly taking advantage of any of these approaches would need to be judicious, and justified in context. Again, I'm thinking generally, and I realise that my own reasons for being interested in these issues aren't really applicable to Copper, so I'll stop rambling about map compatibility and try to get back on-topic.

Having a blast revisiting old vanilla maps with this mod!

* First mod ever to make me think "Oh cool! Another Ring of Shadows!"

* Vores much less tedious to dispatch. There's a sort of a Vore-dance now, where previously there was more of a Vore hide-and-prod.

* Playing the new Nightmare for the first time (UDOB maps), I was constantly on edge about the low health ceiling -- I found myself burning health boxes just to get from e.g. 44 health back up to 50! Been a while since I felt that worried playing Quake.

P.S. on my travels I've come across and squashed some (small, specific, run-of-the mill) bugs -- one is the issue with the "fake" items in e4m2 not showing up, which gila mentioned, and a few other things. Lunaran, I'll aim to send you my findings in an email sometime in the next few days, when I get chance -- don't want to clutter this thread with any more technical stuff than I already have. 
E4M2 fake items: it was the habit Sandy had of using target and killtarget together, so the items thought they were trigger-spawned. Found it, will be fixed in the next version.

When I found out that items with targetnames were problematic (like as the targets of spotlights highlighting them) I should have made it a spawnflag too, to match the monsters, rather than write something silly like SUB_VerifyTriggerable(), but I think I did that in 2010/2011 and never remembered that E4M2 had fake items. :( I was on a 'make everything smart and automatic' kick.

Please, send me the rest of your list! 
Perfect Episode 
Quakecast Interview With Lunaran 
Everyone, here's the newly released Quakecast episode where Dumptruck and I talk to Lunaran:

Quakecast Interview with Lunaran 
maybe I have missed the info somewhere but what are some recommended maps to play with copper quake? I have played the original game and all maps which came with the mod. Need more! 
The creators of the mod recommend the following:

Februus Depth (februus) by czg
Ripe with Decay (sm175_scampie) by scampie
Antediluvian (ant) by metlslime
The Horde of Zendar (zendar1d) by sock
Bad Dark Cistern (dm456sp) by negke

at the bottom of the page (see "Pairings")

But I guess you can take almost anything that is not a mod (or doesn't require another mod and/or mission pack) and use it with Copper. 
Lunaran: email w/ misc bugfixes is sent. If it somehow doesn't get to you, please shout here to let me know. 
thanks for the list
Februus Depth was crazy hard on skill 1 :) 
how can I play the The Horde of Zendar? It has it's own game directory... 
Just Copy The Bsp And Lit Into The Copper/maps Folder 
the files in /zendar are just modified health pickups iirc. 
#145 Ankh 
If I'm not mistaken...

Copper has a "pak0.pak" file W/progs.dat
Zendar has a "pak0.pak"+"pak1.pak" NO progs.dat

So... rename the Zendar files:

pak1.pak to pak2.pak
pak0.pak to pak1.pak

Then copy those into your Copper Folder.
PLAY Copper and then "map zendar" in the console!
Or if you use SQL select it from the list.

***ASSUMING you have no OTHER pak files in Copper other then the one that came with it. 
Doing it mfx's way is better if you want to just play the map once and forget it's there, but if you move all the Zendar pak files into /copper you'll be importing zendar's ammo treasure chests, so remember to get rid of it when you're done or they'll be everywhere.

Patch coming soon! 
Zendar Has A Custom Skybox! 
Playing Zendar in Copper is "better" with ALL of Zendar's content!

But I should have put in what Lunaran stated. 
Thanks For Help 
I ended up making a copy of the copper folder. Renamed the folder to copperzendar and added the pak files from zendar as damage_inc described.
Everything works. And since I want to replay only once, the new dir will be deleted afterwards. 
The Chthon fight was both very classic and very refreshing at the same time. Made me nostalgic for the glorious battles of old.

The levels are very chunky and old school feeling and this has much in common with Machine Games excellent classic Episode 5.

Some of the new mechanics seem cool, at least on paper, but I haven't really noticed or explored them in much depth. 
Er... there an intended way to get to to END.bsp other than console command?

I played the whole thing twice and the portal (that I found noclipping) does not seem to open... 
Play All Of Id1. 
^ This 
end.bsp gives you the four runes you need if you just console warp to it - I had planned to take that out, but decided not to because I only wanted to encourage playing through id1, not to force you to.

Or, wait until I've got 1.05 ready and all the silly bugs in id1 copper that I missed are addressed. ETA still "pretty soon" on that. 
I didn't even realize that there was an end.bsp. I just played it. I didn't think that it could get better than the Chthon fight but it was amazing. Extremely creative and so much more rewarding than original fight.

Has anyone managed to find the prize after unlocking the achievement in the start map? 
Start Map Prize 
Poorchop, the best hint I can think of while trying to avoid spoilers is:

Think about how e1m1 used to be -- the places you went, the things you did (assuming you found everything, did everything).

Now compare that to the new version -- there's something missing. That something is restored after the "achievement" is earned. 
Thx, Guys... 
...I had thought about that right after posting.
But I was pretty sure it was meant as an end to UDOB.

Great job, Lun.

The new END is something else!!!! 
missed the end.bsp remaster at first too, what a monster of a map! 
Missed it too. Checked it out, excellent. So that's where the boss2\sight.wav ("new" one) plays. For some reason with "earthquake" effect it's simple and... well, effective. :) 
That was the perfect hint, knew exactly where to look after reading. Thanks. 
Is copper compatible with the original Insomnia and the map jam? 
Would you be willing to integrate progs_dump and copper?
I would,but:
1.Lack of experience with QuakeC
2.Interpreted languages and errors are irritating...what's the point of reading code line by line when you could read all the files and point out all errors?
3.School.Goddamn IIT-JEE coaching.3d Modelling.My own project. 
Neither of them will work properly with Copper. They both use custom progs.dat files. 
I did give czg07 a try in Copper. Surprisingly, it worked almost 100% issue-free. Some ambient sounds don't spawn and make console errors, but that's all.

You'll have to manually tinker to move the bsp files around of course, just like Zendar. 
what does the custom prog in the map jam actually do? 
The insomnia jam was based on dump_progs, which is very different. 
12:22, is that an Easy-only shortcut??

That is so cool. 
Easy/Normal only, but yeah. Original design required three swims on Easy/Normal/Hard, but sock and mfx convinced me of a lot of ways I didn't realize I was being skill-2 cruel across all 3.

That tunnel was actually already there and largely purposeless - I'd put it in purely because speedrunning that map would suck otherwise (requires hidden start map GL). Making it a shortcut gave it an actual reason to exist. 
No END.BSP Level Tutorial? 
can not get past the yellow shub forcefield 
Eye door = use Ring of Shadows
Lava = use Pentagram of Protection
Yellow Forcefield = use Quad (I used rockets)

These powerups also respawn on the altars 
How did you do that eye door effect? 
invisible brush triggers when the ring is picked up and for the time of ring being active (x seconds) there is another invisible brush triggering the eye door shutting temporarly re/moved very fast, I assume 
Map sources are included for you to learn all the secrets, but: target_items can block/allow a trigger based on anything in the player's inventory. In this case, IT_INVISIBILITY. although, I think this might also not work right in Coop if an invisible client gets the one 'touch' for the trigger this frame ... hmm.

The quad gate is a target_heal, which is there for healing pools or other effects but doesn't care what it's targeted at, including doors. The player can't out-DPS it without a Quad. Two players working in tandem can probably screw this up too.

There's no way to cheese swimming in lava without a Pentagram, though. 
COPPER 1.05 
Patch is done. I swear I didn't forget anything this time. I even tested the .fgd in Trenchbroom.

UDOB had to be updated, since some back-compat fixes broke a couple little things in Copper maps, so please redownload the maps too (if you want). Since nobody's released any Copper maps yet, this was my last chance to make map-breaking fixes.

(If a mod could update the OP to mention the latest version being v1.05 I would appreciate it!)

Here's a big spammy list of all the stuff I fixed. As you'll notice, iw helped a huge amount with finding bugs and suggesting/providing fixed code, and is a hero.

- Enforcer laser damage reduced from 15 to 12, to help compensate for their more aggressive firing pattern
- Monster backpacks make the original ammo pickup sound, and the extended pickup noise is only for pre-placed item_backpacks
- PAK0.PAK renamed to pak0.pak to play nice with case-sensitive operating systems
- Shamblers no longer fire lightning at cockeyed angles when their target is invisible
- Downed zombies who've had doors or crushers invade their personal space no longer become non-solid (id1 bug)
- Projectiles no longer have a random chance of nullifying a Fiend's leap in midair (id1 bug)
- The land-on-head protection delay of Fiends, Dogs, and Spawns will no longer cause them to fail to damage a player on impact if they've just glanced off of something else
- False positives related to the Ring of Shadows in monster attack checks fixed, so monsters always infer theplayer's presence from his real origin while always trying to attack his fake one
- Weapon pickups fire their targets the first time they're touched in Coop, then forget them, so maps which
fire important triggers from weapon pickups aren't broken if everyone already has the weapon
- Chthon should be less likely to instantly snipe the player when they teleport the moment a lavaball is thrown
- Quad axe no longer corrupts monster flags or sends Shub flying (thanks to Ian 'iw' Walshaw for these fixes)
- func_trains now require a spawnflag to inherit speed from their pathcorners, and the keyvalue for settingdefault corner wait time has changed from 'wait' to 'pausetime' to avoid conflicts with stale 'wait' keyson various id and custom maps (e3m3, e4m5, k1m3) (thanks again to iw for running interference on thisissue and patching all my mistakes)
- Added a developer warning when a trigger spawned monster can't be triggered by anything (more thanks to iw)
- Player can now jump while standing in the same depth of water as /id1 (iw again)
- Door wait times are no longer set improperly in the -1 case (E3M7 zombie pit platform) (iw)
- Intentionally prevented use of boss_death10 killcount hack, as it was only ever used to balance the rotfish killcount bug, which was already fixed (iw)
- Trigger_relay no longer objerror()s if not targeted (is a warning in Fitz+ but an error in stock engines,which caused them to crash e1m5 & e1m6) (iw)
- Items which are targeted and killtargeted by the same entity no longer fail to spawn (E4M2 'fake' items) (iw)
- Fixed some monsters (Enforcers, Scrags) being able to see and attack the player while in water, causedby arcane conditional failures in engine trace behavior. is this the last bug in traceline2? only the shadow knows ... (found by iw)
- Spikeshooters that are triggered more frequently than their 'delay' no longer fail to ever fire (iw)
- Changed late monster/secret stat updates to MSG_ALL (iw)
- Monsters do their drop to floor test late enough to be properly positioned on movers that don't start at their zero point, important if the movers start in lava/slime (iw for president)
- Fixed runaway loop error in bbin1 caused by item spawn code (iw is now my husband)
- Biosuit lava protection max depth changed to 16 units (used to be 24, which seemed too deep, and the above water jump fix made it grow to 28)
- 'light_lev is not a field' spam in developer mode silenced
- Powerup sounds are now always precached so sounds aren't broken when using powerup impulses (registeredQuake has fewer total sounds in it than the original .exe's MAX_SOUNDS limit, and memory is free right?)
- Doors with a +0/+a animated texture don't desync animation state when blocked or triggered repeatedly
- Fog change entities now work for all clients, not just player 1
- Gibbing a fish no longer makes bubbles
- dev_trigger and dev_invoke cheats no longer work in multiplayer
- Added 'trigger_inventory' to address the fact that a trigger_multiple targeting a target_items to test for a player's stats/inventory only works for the first client due to default trigger touch logic
- Numerous .fgd errors fixed (monster spawnflags, etc) (thanks fairweather)
- Fixed typo in Chthon death notification
That's not the right link. The old link is the right link.

(Old versions of copper and udob are in /files/old/copper1.0/) 
updated the thread. I am confused still about which link is the right link, but the OP just points to your download page so it should be fine. 
Link Is Working Now 
Thx for the Update! 
Cool. Looking forward to an id1 nightmare playthrough! 
Wouldn't it make more sense if a fiend were to kill the player by landing directly on their head?
While not fun,it could be useful.....maybe for a horror mod.Maybe. 
Ijazz - Fiend Head Land Bug 
It's clearly a bug in the code though. It happens so rarely that it's not something the player can get used to or anticipate when it happens either, so you just get "what the fuck, why did i die?" instead of "darn it, I failed to dodge the fiend's well-communicated special insta-death attack again that's totally different to his usual jump attack". 
huh....time to mess around with qc and ef_glows 
The teleporter secret in e3m5 does not seem to work with this new version (1.05). I tried with the version quake injector downloads and vanilla witch both worked. I launched the game (1.05) with a new shortcut with -game copper and the problem persisted. 
@A_COC0NUT: I'm not sure why e3m5 is giving you trouble -- if I play e3m5 with Copper 1.05, all secrets work as expected. I'm testing with QuakeSpasm 0.93.1.

If you could give a bit more info, I might be able to help diagnose. My first questions would be:

* Which engine are you playing with (and what version number)?

* e3m5 has two secrets with teleporters: the first secret, which is in the hallway with the flashing lights, and the last secret, which is in the room with the exit portal. Which one isn't working for you?

* When you say the teleporter secret doesn't seem to work, do you mean that the teleporter is failing to teleport the player, or something else? 
sorry I was a bit too vague. It is the first secret in the flashing hall. The teleporter in the secret does not trigger. I am using VKQuake 1.01. Thanks for any help. 
@A_COC0NUT: this is just a guess, but are you by any chance loading a saved game on e3m5?

If so, could you try letting QuakeGuy die, so that the level restarts, and see if the teleporter works after that? 
Thanks. I feel like an ass now since that is such an obvious thing to try in the troubleshooting process. It works now. 
There's no reason to feel like an ass; you've raised an important point, which wasn't obvious, and which might affect other people, too.

The underlying issue seems to be that Copper v1.05 is not backwards-compatible with saved games from Copper v1.00.

Based on your description, my hunch was that you had saved your game with Copper v1.00, then installed v1.05, then loaded the saved game. If I do this, I can recreate the problem you described in e3m5.

Unfortunately, because v1.05 makes a number of behind-the-scenes changes to the code, if a v1.00 save is loaded, some things (like teleporters, evidently) will go out of sync. I expect this would affect saves for any map.

The reason I suggested dying and restarting the level is that that will refresh the state of everything in the current level, which will likely fix issues in most cases (though it may not fix all issues in all cases).

I should emphasize that the lack of save-game compatibility is not a mistake on Lunaran's part. Because of the way Quake save-games work, it's practically impossible to make significant changes to a mod without breaking save-game compatibility. And there were some significant changes in Copper's code between v1.00 and v1.05.

However, I think the fact that v1.05 is not backwards-compatible with v1.00 save-games is not documented anywhere at present?

Lunaran, would it be worth pointing this out to players, if only as a note on the download page or something? 
Yeah, that's a good point. Demos probably aren't compatible either. I've updated the downloads page to mention this.

Regarding Fiends on heads: one of the reasons the land-on-head kill seems like a bug is that it's framerate dependent. Damage happened every frame a touch was called for, which meant more instant death when the engine can call those touches more frequently.

It's worth noting that Fiends (or other leaping melees) landing on your head is still very dangerous. If you don't dodge in time and you do wind up in a stacked bounding box situation, the damage still happens every 200ms, which in a Fiend's case is ~240dps (as opposed to every 14ms, for a ridiculous ~3200dps). That's still pretty scary, but a fraction of a second is actually a decent reaction window in Quake - enough time to get out from under the thing before your situation gets too bad.

It's so rare, though, nor is it really obvious why bounding boxes that touch in two different planes should cause such drastically different outcomes. 
GroĂźartige Episode 
In the last 2 weeks I've played the episode through once. Here is the result of my efforts! That's a complete 100% through run. Right now I'm playing the end level, which you have to load separately.

Copper Quake - Underdark Overbright - Trapped in the Past - [100%]

Copper Quake - Underdark Overbright - Space Jam - [100%]

Copper Quake - Underdark Overbright - House of Pain - [100%]

Copper Quake - Underdark Overbright - Pit of the Living Dead - [100%]

Copper Quake - Underdark Overbright - A Saint Nobody Has Heard Of - [100%]

Copper Quake - Underdark Overbright - Last Waltz - [100%]

Copper Quake - Underdark Overbright - How Deep Is Your Lava - [100%]

Copper Quake - Underdark Overbright - A Drowning - [100%] 
hey those links don't work, it just redirects to "my videos" 
Sorry About The Wrong Links. 
Copper Quake - Underdark Overbright - Trapped in the Past - [100%]

Copper Quake - Underdark Overbright - Space Jam - [100%]

Copper Quake - Underdark Overbright - House of Pain - [100%]

Copper Quake - Underdark Overbright - Pit of the Living Dead - [100%]

Copper Quake - Underdark Overbright - A Saint Nobody Has Heard Of - [100%]

Copper Quake - Underdark Overbright - Last Waltz - [100%]

Copper Quake - Underdark Overbright - How Deep Is Your Lava - [100%]

Copper Quake - Underdark Overbright - A Drowning - [100%] 
That shambler model is so ugly I barely recognized it. 
Holy Fuck. 
That is not only comically ugly looking, but also broken less than a minute in - that Nailgun in map 1 is supposed to be a ramp jump!!! 
Graphical upgrade mods don't get a lot of love around here (although I understand why) but thank you for sharing! 
Pretty Sure This Hasn't Been Posted Here Yet 
Just loaded up the mod for the first time, I'm very excited to try it out. I noticed that the jump sound is truncated when jumping in shallow water, like in the start map of udob. It seems to be linked to water depth, as the sound lasts longer when jumping from slightly deeper water. I guess it stops playing when the player model completely leaves the water brush?

Also loaded up E1M1 with Copper and got the same bug. 
Underdark Overbright
Scale 1-5, Higher is better.
Finished: 2019.10.25
- [x] start 4
- [x] udob1 4
- [x] udob2 4
- [x] udob7 4
- [x] udob3 4
- [x] udob4 4
- [x] udob5 4
- [x] udob6 4
- [x] end 5

Verdict: 5/5 for very high quality across all levels, which is unprecedented. A must play. 
Stuck On End Map 
I can't figure out how to get up on the ledge above the water in the beginning of the End map. The lava looking teleporter doesn't do anything. Is this a bug? 
Since this thread got bump up let me ask a question for Madfox. In the Chasm mod, When a new chasm monster attacks an enforcer, the enforcer will turn around and run towards the attacking monster, but never firing back. I know that the copper mod makes extensive changes to infighting, so I am curious to see how infighting works and what could be causing the enforcer issue? Perhaps Lunaran can shed some light? 
RE: Stuck On End Map 
I figured out what was causing the weird bugs with the lights near the easter egg area and the teleball_spawn on the End map.

My unzip program was set to unzip UDOB without the full paths, so it was putting all the files in the same folder instead of their subfolders. I did a fresh install of Copper and UDOB and got things to work.

There is also a setting to make sure extracted files have a containing folder and that should be turned off. Otherwise, it will create a UDOB folder inside Copper, which will also cause a problem. 
Use 7Zip 
7 Zip 
7 posts not shown on this page because they were spam
You must be logged in to post in this thread.
Website copyright © 2002-2020 John Fitzgibbons. All posts are copyright their respective authors.