News | Forum | People | FAQ | Links | Search | Register | Log in
Q1SP: Dead Memories
IDBase Q1SP.

This was made in the last month as a way of breaking out of my own laziness. Enjoy. Post some Fitz/Quakespasm demos, I enjoy watching others play my work!

Screenshots:
http://imgur.com/a/5ieBq

Download:
http://www.quaketastic.com/upload/files/single_player/maps/scampsp1.zip
First | Previous | Next | Last
 
yeah, likely actually Quoth wouldn't be bad 
 
but if I'm going to have custom qc, I'd rather something I can mod myself :> 
9/9 Secrets 
This was a great fun map that felt true to id base while featuring skillful brushwork and unique cool geometry (I especially liked the rounded triangle room.)

I played on Hard, got all kills and felt it was a nice mix of hectic fights that rarely frustrated mixed with some downtime sightseeing. I never ran out of ammo because I play conservatively and used cover a lot. BTW, cover really helps in the final arena - use what's there and live to see the exit.

I only had to backtrack to find one secret (the Pent). The other eight I found as I went. So this is a fun map for secret hunters and it shouldn't drive you mad looking for a full score. I liked the unique message for each one.

It exits to an unfound scampsp2 and that bodes well if it means the second is on the way. Negke is an excellent map defect finder and beta tester as I experienced his helpful quality focused feedback on my Travail maps so he would be a great help on the sequel. 
5/9 Secrets 
Because I am super awesome at Quake!
http://www.youtube.com/watch?v=pXasK5Aitv0

I actually found 6/9 but wasn't recording at the time, boo.

I like the constant action on this map, very fast paced, reminds me very much of the id1 maps. The quad run was awesome.

Nice use of circular areas and curves, the connecting corridors felt a bit dull in comparison however.

A++++ would play again 
Triangle Room Club 
Oh mighty scampie, please accept this humble demo as an offering!
http://www.btinternet.com/~chapterhonour/scmappy.zip
I played on normal skill because I'm too absent minded to change it before loading a map.

I'm in agreement with scragbait that the triangular design of the gold key room was particularly eye-catching, and the map as a whole had a very strong and consistent build.

Combat was a blast too, there were several fights where I felt that jockeying for position within a room was worthwhile rather than just sniping from cover at the opening, which is always good. I also liked the use of monsters atop boxes to prevent them from wandering away from their sniper spots (although there's a knight which does that in the demo, who seemed harmless until I killed him...) Who needs monsterclip?

So yeah, now I'm gonna go away for the evening and hack your map until it's under 600 entities and 256 models. Laters! 
 
that goddamn knight.

he walks onto that crate, but won't walk off it. 
 
also, how the hell did the dog get in the water in your demo? :O 
Why Would He 
when he's having such a crate time? 
You Know How You Get In The Vent In This Map? 
You have to make a grate shot. 
Dog Acrobatics 
I think he must have jumped at me from the side and landed in the water.

On the entity hacking front, I managed to wrestle it down to 585 on load using a trick to remove all the "ambient_x" entities. If you add

"think" "SUB_Remove"
"nextthink" "0.1"

it removes them to make way for more entities. The sounds themselves play without the entity.

It's not really enough by itself though, because if you rampage through the map in a blas� fashion you'll build up enough entities through gibs or backpacks to exceed 600. Next I'm gonna look for any idle entities which can perform double duty as trigger_relay ents...

I'm pretty sure models could be pushed under the limit by just turning each trigger_teleport for your monsters into a point entity. Just being in contact with the monster should be enough to teleport it. I'm too lazy to do it tonight though because I'd have to perform a full compile which would probably involve a loooong vis. 
 
Yeah, the point ent trigger_teleport was suggested to me, but by that point I was far too lazy to redo them and was over other limits anyway. 
Preach WTF 
Why didn't you post that earlier? Would have saved me a shitload of frustration. Nice trick, good to know.

I saw a few trigger_relay ents that could be cut. Among them is the one that killtargets shub and the intermissions (trigger_counter can do this directly). Can't remember the others. :P

Pro tip for certain cases, not necessarily in this map: doors can fire their targets with delay if you add a "use" "multi_trigger" field. No need for an extra relay trigger. 
New Tricks 
Really I should have asked to see the map, I can never remember these things when on the spot, but when I look through the entity lists they come back to me. This time it actually took me running it in an unreleased version of a mod in which I made a drive to optimize entities. Running the map in that mod instantly put it under the limit so I spent a while trying to remember which optimisations I had coded!

Two random facts that should be tied into saving entities and trigger_relays. One which you should always be mindful of is that whenever an entity has .delay set, it actually spawns an temporary entity to perform the delay. So the exploding slipgate sequence increases the number of entities in the map by 4 or 5 for the second before they start exploding.

The other is that trigger_relay entities are less entity count friendly than trigger_once are. If you have a trigger_once then it removes itself after firing. In examples like the trigger_relay targeting the exploding slipgate, the trigger will only be fired once. In this case we can use the trigger_once code to make new entities which tidy up after themselves:

{
"classname" "info_notnull"
"use" "multi_use"
"wait" "-1"
"target" "unleash_the_zombies"
}
 
 
Ideally, all these tricks and information scattered across the various threads should be reposted in a central location (progs.dat thread, quoth thread, optimization 101 thread etc). But ho! It will never happen.

To make it even one step simpler, just use a trigger_once with notouch instead of the notnull.
Also, sometimes using a trigger_once entity is preferable to a relay anyway, since relays lack the "wait" "-1" funtionality. And they can't be used for the sound hack, either. Speaking of which, the Shub sound setup in the map uses more entities than necessary (would only need a single trigger_once). 
Negke 
It used to use the shub death sound, which I didn't relieze was a looping sound... and I was basically throwing entities at it to make it stop once the first wave spawned (and it would... sometimes...)

Just didn't go back and clean it up.

fear my incredible laziness! 
Ladyness 
I had quite a fight with the death sound myself in that one DMC3 map. Ended up using some weird-ass setup where a door has shubdeath as stop sound and moves far away after a few seconds to make it stop. Dem hax 
First Things 
So there's a kinda weird edge case here which fitzquake doesn't report as an error. If you exceed the 600 entity count but drop back under it before the first two frames are up the "standard limit exceeded" message doesn't print. If you set fitz max_edicts to 600 and then run the map, it won't load because it runs out. Presumably the same thing would happen in standard engines, but I can't test because they hit the model limit first.

That means that while these tricks are nice, none of them are good enough to get the map loading on standard engines. Fixing ambient entities progs side would suffice but that's no fun!

As you say, trigger_once with notouch is enough here. The info_notnull way can be useful if you're doing it through an editor which doesn't like point entities with the same classname as brush entities (and adding another model would defeat the other limit here). Anyhow, back to work... 
 
"Ideally, all these tricks and information scattered across the various threads should be reposted in a central location (progs.dat thread, quoth thread, optimization 101 thread etc)."

Yep it is amazing how much stuff is scattered all over the place, finding it is not easy and involves trawling long thread here at Func. 
Current Score: 4 
So I saved 4 entities by overlapping trigger_relay entities with the info_player_spawn, info_player_spawn2, info_player_deathmatch and the secret info_intermission.

Next step (which I only thought up after deleting half this post) is to go in and turn enough of those ambient entities into trigger_relay hosts rather than self-removing entities, because getting the map to load is more of a win than saving the entities straight off. 
Close But No Cigar 
With those tricks I managed to get the map to load in fitz with 600 max_edicts and skill. Unfortunately I think I've copy-pasted something wrong along the way because the hell knights didn't spawn in the ending fight, but otherwise the map was under the limits*.

I might start from scratch tomorrow, this time fixing enough of the teleporter models so that the model count is below 256. You'd have to throw out any entity hacking progress for any change that need recompilation anyway**.

*If you played belligerently enough, refusing to find a single secret, killing all the enemies but collecting no packpacks, and spraying nails across the longest distance you could find it was still possible to exceed max_edicts, but realistic play was fine.

**We can't reduce model count through entity hacks, because even if we removed all references to a particular model in the bsp, it gets precached automatically just through being in the bsp. 
 
You can also save 10 or so models also by making several func_illusionaries into brushes again. Wires, tops of crates/grates. They were only illusionary because I didn't like the little view pop as you walked over them and moved up 4 units. 
 
and the wires/lights in the vents don't need to be illusionary either, they just are! 
Quite Liked This 
found it a bit easy on medium skill but very polished looking map (not counting the tech stuff mentioned above), especially for a month's work.

Bring on scampsp2. 
More Fun Bugs 
Getting closer, I swear.

But when I recompiled I found that the ogre atop the first slipgate was coming out rotated 90 degrees. I know I hack a lot of entities, but I was sure I hadn't done anything to provoke this. Looking at the original map, the angle for that teleporter is "-1.40334e-014".

This works fine in the quake engine, but there seems to be an unfortunate bug in Hammer. When you load the map file, it appears that Hammer first rounds this value off to an integer incorrectly, by not bothering to parse past the decimal point to find the exponent. This means that it gets rounded to -1.
So what Preach, the editor is still out by less than 1 degree, who cares?
Well, that's what makes the bug unfortunate, -1 is the hack used to indicate an entity facing straight up!

Ho hum... 
 
Why Radiant apparently sets that as the angle when all I likely did was rotate it 90 degrees with it's own rotate tool is lovely. 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.