Babel: A GZDoom mod (3.0.0+)
Note: GZDoom 3.7.2 is currently broken and many projectile effects do not work properly. 3.6.0 and under work fine
Current Link is: https://mega.nz/#!fokCgb4J!OtyUkqVPh5eH5M1KSNa-7vC722vazJ5_e_n2Xz-KwAM
Monsters Only Link is: https://mega.nz/#!XxNl1Aia!LMQuCYzTw7P6G_Yr1cgiIJYbNa5So2BSDV1IWdIKC5M
Please note that the Monsters only version contains many tweaks to facilitate universal compatibility and as such may be more or less balanced depending on the weapon set used
Babel is a mod I made for Doom. This site is pretty bare but will hold the download links and some other info so that I don't have to keep changing the link on MEGA every time I fix it.
Babel was designed around the concept: What can be added to Doom that makes the game more dynamic without detracting from the core gameplay experience? To that end the mod is pretty heavy on the gameplay tweaks and contains a few completely new systems that the enemies use, but overall shouldn't feel overly unlike Doom. An imp is still an imp, but in Babel the imp isn't just a meatbag with a weak attack, it's trying to kill you like a demon would. In addition, each weapon has been molded to fit a certain general role so that each weapon has it's own applications and thing that it's good at. There's still definitely a power scale in the arsenal, but no weapon ever gets completely obseleted.
Synchronization and Chaining
In addition to the plethora of new enemy attacks in Babel, the key enemy-benefitting feature that has been implemented is Sync-fire and Chain-fire. Simply put, synchronization is the ability to tell other enemies that you are attacking, and those enemies can choose to join the attack. Chaining is the ability to tell other enemies you have finished an attack, and have other enemies continue it for you. Monsters generally have one ability or the other, but never both at once. What this means is that monster groups are often far more aggressive than in vanilla, and softening up a horde will have the secondary effect of reducing the amount of sync/chain signals being sent, reducing aggressiveness.
In more detail, a good example of synchronization is Imps. Whenever an imp begins an attack, it sends out a signal to all other imps that it can see (within a certain range). Each of those imps has a certain chance (which in this case is ~40%, but varies by signal sender) to choose to join the attack, and if it does it then determines if it can actually hit with an attack. If it can, it then also initiates an attack. It's important to note that joining a synchronized attack does not send out another sync signal, so cascades do not occur.
An example case for chaining is the Mancubus. Like the imp, it has a certain chance to join any chain signal sent to it, but instead of those signals being sent at the beginning of another Mancubus attack, in this case another mancubus has finished an attack string and sends out the chain signal to its fellow mancubi. The key difference here is that the chaining monsters can themselves send out chain signals at the end of their attack strings, potentially creating a nonstop flood of attacks if there are enough recipients. However chains in practice differ from syncs in that syncs often begin with many monsters attacking and end with only a few, whereas chains beging with one monster and often end with many attacking.
Some monsters can chain or sync to monsters other than those in their species, but those are relatively special cases. Most of the time a monster will only signal monsters of the same type.
Now of course it wouldn't be fair to have these powerful new monster abilities without something for the player right? Fear is that thing. Most monsters are now no longer totally mindless, and can be frightened with the appropriate amount of coercion. All monsters except zombies, lost souls, bosses, and the archvile now have internal fear meters. Things like killing their comrades, firing weapons, causing explosions, etc. will cause them to build up fear. Once they're scared enough, they may lose their will to fight and flee. Bear in mind that a group of monsters can retain its composure faster than a single scared individual, and the stronger a monster is, the harder it is to scare them away. However the stronger a monster is, the scarier it is to its comrades when you kill it.
Some monsters, notably the hell nobles, have attacks which can reduce fear in nearby enemies. This makes them prime targets when facing large groups, as inflicting fear is a powerful tool to survive aggressive play. Killing a boss will also scare nearly every monster which witnesses it, only by chance can they retain their ability to fight.
One of the things that bothered me about Doom 2 was that the weapons, while very fun, often had far too much crossover in effective role. Notably the chaingun obseleted the pistol entirely and the super shotgun was almost objectively better than the shotgun, barring accuracy at long distance. In Babel I've tweaked the slot roles to conform to the following pattern:
- Slot 1: Melee (obviously). Berserk now affects the chainsaw as well as fists and berserk punching leeches small amounts of life when under 80%.
- Slot 2: Accurate but weaker weapon. Good for sniping or taking out smaller targets. 3 options here, with slight variations on the theme. The PSMG is the least accurate but recharges ammo. The Heavy Pistol is the most damaging and accurate but has recoil and cannot be continuously fired at full accuracy. The SMG has the highest fire-rate and mid-level damage, and serves as a more accurate less damaging chaingun.
- Slot 3: Shotguns. High burst damage but lower fire rate. Notably the shotgun is now exactly 1/2 of a SSG in power and accuracy. Shotguns can also be swapped at any time during their reload, but the reload must finish once they're re-selected.
- Slot 4: Huge DPS and stunlocking weapon. The chaingun is now quite unsuitable for sniping, but in exchange can tear through both ammo and demons at lightning speed. Not much can even bring itself to attack through the bullet shitstorm the chaingun now fires.
- Slot 5: AoE weapon effective at all ranges. The rocket launcher also received a 50% damage buff on its explosions, and is very good at inducing fear. Rockets also accelerate in flight slightly, aiding in long-distance shooting.
- Slot 6: Huge DPS Midrange weapon. The pulse rifle, which replaces the plasma gun, is great for DPS but fires slower than the chaingun and as such is not as good at stunlocking. Pulse bolts are also faster when initially fired and slow down in flight until hitting ~25u/s, discouraging sniping in favor of the rocket launcher.
- Slot 7: High Cost Screen Clear/Panic Button. The BFG's workings have been changed dramatically. It now attempts to kill every enemy onscreen in order of beefiness, but can easily be less efficient than the pulse rifle if not used in situations that demand it.
Babel also has a few other QoL features which can players avoid screwups and wasted time:
- Autosave, by default every 3 minutes. Can be turned off if desired.
- Health pickup splitting, If you grab a medkit the game will attempt to conserve any leftover healing into Stimpacks.
- Ammo splitting, as with health, ammo will attempt to break down into smaller pickups so you don't waste any
- Smart armor pickup, you will not pick up new armor unless it actually gives you a potential durability benefit. Pressing "use" while aiming at the armor will override this behavior. No more accidentally grabbing green armor when you wanted to keep blue
I might add a few more before the finalized release
Rough version History
- 5/15/2018: SSG Gibbing was re-redone to use a virtual function, making it cross compatible with universal gibs. Many general performance enhancements and code refactorings. Should be smoother and more stable.
- 5/06/2018: Gibbable enemies how check SSG damage type again, because doing puff +EXTEMEDEATH determination was causing performance issues. Also offset fear on most player weapons by 1 frame, which helps performance too. Shrunk player plasma balls by 2 units, making them easier to use in tight spaces. Also made the Pulse Rifle's recoil smoother.
- 4/30/2018: Added wandering to Yehovah. Reduced aggressiveness to sane levels in Yehovah. Removed some overkill fast frames. Zombiemen are less aggressive overall and many sync values are altered. Sync/Chain now takes a chance argument instead of relying on a per-monster value. BFG now uses a static singleton thinker like PSMG. BFG now factors in target distance. Shells/casings now disappear better in water and make a tiny particle splash. Fixed lost soul animation.
- 4/23/2018: Mostly bug fixes. BFG nerfed (ammo use 40 -> 60, total possible damage 4000 -> 2400), still very powerful but less gamebreaking. Cyberdemon/Spider Mastermind have BFG resistance removed. Chaingunner now does not glow until firing, and has had his brightness frames changed. Plasma SMG now functions correctly on maps with Voodoo dolls (who knew it would get infinite ammo?). Also PSMG help text coloring issue fixed. There's still more work to do on the BFG to make it function 100% as a user would expect, but that's next update. Spectre ghosts are now silent to help differentiate them. Also removed email from contact list because I may have lost the password :^|
- 2/17/2018: Changed file naming convention to include a datetime. Startup name is now "Babel RC3". Chainsaws will now stun Demons and spectres more effectively, and partially disable their abilities. Fear now falls faster than before once a monster is fleeing, and can be adjusted with a better granularity (bigger monsters don't take forever to stop fleeing). Monsters will not switch targets to their own species using sync-fire anymore. Archviles can only summon 6 guys max at once (killing them will free up slots and allow more to be summoned). Weapon descriptions have been added as a prototype feature, to see them press and hold Reload. The options menu has been remade, and should be easier to work through. Player and Enemy tracers can be set individually. Enemies now eject shells on the right side and from a better location. Ricochet sounds have been added to bullet puffs to help indicate when a player is under fire and for immersion. New menu options have been added for the weapon descriptions and ricochet sounds. Also fixed a bug that would cause enemies to be afraid forever until put into a pain state (could only happen if you died and resurrected under specific circumstances).
- 1/29/2018: Reduced fear buildup on Pulse Rifle because it was way too high. Also fixed a really dumb bug having to do with the trail alignment of the Revenant's homing shot.
- 1/22/2018: Fixed shotgun model pellets. Sync/Chain now checks line of fire earlier to avoid animation janking. Sync/chain also now sends target info so receivers target the target of the sender instead of their own target (sync/chain will now work with infighting). Made most gun-based enemies use Doom's RNG instead of frandom, making them slightly more accurate and making their spread more like vanilla Doom. Added titlemap music. Removed some debug messages for the casing/gore cleanup queue, and optimized it a bit.
- 12/22/2017: Fixed a rather embarrassing bug involving death states, added more comments to some files, added _READ THIS IF YOU UNPACKED_.txt to tell people where the juicy bits are, changed shotgun tracers (again) to use the exact same underlying code as the default tracers and be only 75% as large as other bullet tracers to avoid screen clutter.
- 12/14/2017: Fixed MENUDEF, fixed Autosave Crash, fixed shotguns not working while crouched.
Contact Info: Discord: Xangi#8619 | Or just find me on /vr/, I'm usually hanging around.