News | Forum | People | FAQ | Links | Search | Register | Log in
Spawn-B-Gone | Remove Any Enemy Type From Maps/levels For Quake
Hey everyone! Figured with the new remaster release, it was as good a time as any for me to officially put up this little script I've had for a year or so now.

https://github.com/kellylawrence/spawn-b-gone

Spawn-B-Gone will remove selected enemy types from maps/levels for Quake, and should also work for any fan made maps or mods such as Arcane Dimensions, Quoth, etc. (While not tested, it could potentially work for Quake 1 engined based games such as Hexen II for example.)

I made it because I suck at video games. The original goal was to create something that would allow me to remove Spawn enemies from any Quake maps. They are by far Quake's worst enemy type (IMO). I didn't want to have to manually determine which map featured them, open said map, edit it, and save each file in a map editor, so I tried to find a code solution that could somewhat automate the process.

In the readme, I mention it being for the computer release, but if you have access to the .pak files for your device, it should work for that, as long as you can replace them.

Let me know if you have any questions. If you have any suggestions for improvements, let me know, or feel free to open a PR!
 
Well, that's an interesting solution to this type of user need. Reading through how it works, I had a few other thoughts which you may have already considered:

1. A replacement progs.dat which silently kills spawns when they... spawn. (not compatible with mods of course, unless you do this for each mod that has source code available.) But it has the advantage that it won't break logic that unlocks doors after X enemies die, that sort of thing. (the enemy would insta-die and then send the correct message to the trigger_counter.) Of course at that point, you could make a mod where spawns still exist but don't move and only have 1 HP.

2. A batch process like your current one except it spits out .ent files (this seems better overall, doesn't require backing up the bsp files, doesn't require re-packing them, and doesn't have problems with byte length.) It does require an engine that loads .ent files, however. 
Dude, I Suck Better Than You! 
Is there a command to kill all monsters at once, while starting a map, except killing the player? 
.ent Files 
@metlslime I'm not familiar with .ent files, but based on some quick lazy searching, I assume it allows you to override entities (or specific values for entities) from map files. Would you happen to have links to any documentation for that, or an explanation of how I might format one to do what you've suggested? Best I could find was this https://jkhub.org/forums/topic/10064-adding-entities-to-maps-after-compiling-editing-base-maps/ 
Ent Files 
I can't easily find a tutorial on google, so here is the short version: .ent files are text files with the same name as your bsp, but the ".ent" extention. They basically contain all the entity data that is normally in the bsp. You can export them a few ways:

1. open the bsp in a text editor, find the "worldspawn" entity and copy everything from there to the end of the human-readable stuff. Each entity should start with a { and end with a } Then paste into a new empty text file and save as mymap.ent

2. in darkplaces load the map and then use the command "sv_saveentfile" -- this writes out a file to disk

3. In Mark V load the map and use the command "copy ents" -- this copies the entire map entity string to the clipboard., then you can paste it into an empty text file and save as mymap.ent

There are probably some command line tools out there which will do it to, but I don't specifically know what they are called or where to find them. 
 
e4 is my favourite Quake episode, so I guess this isn't for me.

A .ent file is a straight up replacement of all of the entities in a map. Use it in conjunction with a BSP file, just like a .lit or whatever. It's just a plain text file specifying new entities, and can be used for making changes without needing to recompile or otherwise modify the map. Very good if you want to leave your original maps intact (which you should). 
Thanks 
Thanks metlslime/mh! Just tried it in QuakeSpasm and vkQuake (My go tos), and it worked as expected. Unfortunately, it seems the new Kexengine version doesn't seem to support .ent files.

I do like the idea of a less destructive way of making changes like that, and not having to double up on space for map backups would be a plus as well. I'll see about implementing this solution into what I have! 
 
I replied to this on reddit but it was negative; ill give some constructive criticism now.

As mentioned on reddit, this can break maps that require monsters for progression.

What I suggest doing instead is replacing the monsters with another monster type of the same hull size.

This will still ruin the gameplay set out by the level designer so I dont really agree with this mod, but at least it wont outright break maps. 
 
Thanks for your suggestion about swapping enemies instead of replacing them. I had initially tried swapping some enemies with Rotfish, but I think the non .ent route was causing it to make maps not load at all. It seems like enemy swapping with the .ent suggestions above would probably be the best option going forward. 
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.