Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
chebmaster

ChebSkies: Extermination Day perfected and maxable, works with BDv22test3

Recommended Posts

Tested my next update in Zandronum coop multiplayer (finally! after all those years Cheb set up a Zandronum server! For the first time in his life!).

 

Te good news: the map randomization works like a charm.

The bad news: any combination of actor flags on the skybox viewpoint that would let my dynamic skyboxes work in multiplayer (CLIENTSIDEONLY/NONETID/ALLOWCLIENTSPAWN) results in this:

(that includes *all* prior versions before the yet-not-released update)

 

Screenshot_Doom_20240429_210725.png.3e412eac6d6fffbd7c3ad76d50aea0fa.png

 

Un-frakking-fortunately.

I found a way to make the skyboxes show, at least, by removing all of those flags -- BUT that results in a completely static skybox with immobile camera, nothing more than a fancy backdrop.

 

So this awesome feature is, sadly, singleplayer-only.

 

I will re-check all maps later making sure the default camera positions aren't too egregious.

So, it is playable in coop multiplayer, just... Many maps look rather different.

Share this post


Link to post

Done April 30, 2024:
    - general: this is the Seeing Red update, Chebskies v 1.20.
    - general: removed credit screens no longer used
    - general: confirmed my map randomization mechanics working perfectly in coop multiplayer
    - general: fixed my dynamic skyboxes showing as a missing sky texture in coop multiplayer -- alas, that was only possible by making them static. So dynamic skyboxes are a singleplayer-only feature, sadly.
    - general: fixed my BFG causing notable freezes by giving the BLOODLESSIMPACT flag to all its ripper lasers. Ripper projectiles and Brutal Doom just don't mix because they cause every monster hit to bleed a bazilion times at once. Do that every tic - and, well, "FPS Died".
    - general: minor fixes to my Duke of Hell mini-boss, also added localizability
    - general: fixed tag and editor sprite for the BossBelphegor (was displaying as baron of hell), also added localizability
    - general: patched BarrelKaboom playing the explosion sound at max volume FROM SIXTEEN SOURCES AT ONCE. No wonder most laptop sound cards were having their overload protection triggered every time Cyberdemon Lord hit something, resulting in several seconds of total silence. The fix goes into Chebskies general because this bug is not yet fixed in BDv22test3.
    - brutalv21che: fixed grenade launcher grenades exploding on contact with sky (cannot fix them *bouncing* off the sky: Zandronum doesn't know the DONTBOUNCEONSKY flag, stops with an error)
    - general: added my grenade launcher grenades fix to the BDv22test3 mini-patch
    - brutalv21che: reverted some changes I made to dead mancubi a few months ago to prevent them blocking elevator doors in map 18. That, in fact, broke your ability to harvest ammo by axing or sawing the corpses.
    - brutalv21che: fixed an insidious bug causing the dead player be lost (many deaths are designed to make your real corpse invisible and spawn a specialized corpse object as a replacement - to allow it being destructible) and not counting as a dead player -- resulting in bosses behaving incorrectly playing broken attack animations or NPCs initiating dialog when you are dead (a symptom: the console command "resurrect" failing with an error about player object no longer being connected to his body). Remember, kids: NULL A -1 is a special case and is treated by the parser as Stop. If you need the object to persist invisibly, use TNT1 A -1 instead.
    - brutalv21che: added normal third person deaths for player dying to frost damage (the only source of which is Icon of Sin in Chebskies). Instead of a screen effect, camera now switches to third person like any other death. Does not affect BDv22, of course. New sprites: FZDYE0, FZDYF0
    - map 08: made the cyberdemon closet soundproof and added some block monsters lines to prevent him getting stuck between ankle-high crates
    - map 08: automap prettification
    - map 08: applied map randomization (now there are *three* randomized maps). The only thing that changes is the position of the button that opens the red key smelter hall from the inside. Now it could appear in any of the 15 monster closets -- and does *not* show on the automap.
    - map 08: fixed the northern badaboom area not asploding all at once
    - map 09: fixed one computer in the shooting range not being smasheable (broke when I was rehauling server rooms in map 061)    
    - map 23: fixed the bosses' code: his second wind form was not working as intended (the same pitfall I fell into with the final boss: the goto operator in DECORATE scripts breaks the object-oriented paradigm, always calling the ancestor's method if goto is in an ancestor's method, ignoring the descendant classes' overriding method). As a result, his second wind form (UV only) should now be much more ferocious, as designed. He catches a glimpse of you, he erupts. No delay, no usual monster logic.
    - map 23: as a side effect of the code fix, the explosion radius is now *much* bigger (as designed).
    - map 23: made the second wind form use a *combined* attack: both missiles and fire breath at the same time! Isn't that FUN? Who is FUN now, widdle bossy-bossy...
    - map 23: removed the bosses' resistance to BFG9k and Unmaker. You should NOT posess an Unmaker at this stage (the earliest secret with it is in the following secret map) and BFG9K, as modded by me, does less damage to bosses anyway. But the second wind form still retains 40% resistance.
    - map 47: automap prettification
    - map 47: hunted down the final piece of broken map geometry UDB could not automatically detect (walls between sectors and void marked as double-sided)
    - map 47: optimized sky everywhere, now uses normal sky instead of 9 line horizon.
    - map 47: spent three hours debugging the *weirdest* bug I ever saw (grenade launcher grenades exploding and flame cannon fire stream bouncing in the air above the lava-filled craters, af if there was an invisible wall there). The alt-fire grenades just hung there mid-air until they expired and exploded. I tried all sorts of things, including copy-delete-pasting the entire map and deleting all those craters and re-making them anew. Turns out...? Don't make a slope steeper than about 45 degrees. It was that simple. If you do, the game engine glitches processing bouncy and wallslide projectiles (both Zandronum and GZDoom). And you suddenly kill yorself as your grenade explodes in your face hitting an invisible wall.
    - map 47: lava now burns monsters but they avoid it. You may kick an imp into a lava-filled crater, though. He'll burn.
    - map 242: fixed one randomizable passage not closing correctly due to trees blocking its floor movement, resulting in visual glitches
    - map 242: made one too-spacious channel in the southern swamp area much more twisty and clautrophobic
    - map 311: automap prettification
    - map 312: moved Dragonslayer to the bosses' spawning room, behind the boss. Now to get it, you have to lure the boss out, maneuver around the tidal wave of pinkies and brave the dead end room. Otherwise... You get it after the battle and it is pretty much USELES in the final map. In short, only the daring souls would get to mow endless hordes down Guts style.
    - map 311: automap prettification
    - map 311: changed the door from opening as a normal door to lowering down and resized the exit room to make the temple symmetrical.
    - map 32: radically changed the final bosses' reaction to BFG9K and Unmaker. Now he has *no* resistances but retaliates with extreme aggression like an angry god. Especially to Unmaker, which covers him in liquid fire putting him into perpetual pain... To which he never flinches and keeps attacking at his maximum power non-stop.
    - map 32: changed the final bosses' turning red mechanics. His dramatic introductory six-pack thunder was his Achilles' heel making him cheesable via Unmaker. Now it is interruptable by pain... Which results in an immediate devastating punishment (he switches to nuke spam right away)
    - map 32: automap prettification
    - map 32: quadrupled the number of cube destinations. Should prevent stacking monsters on top of each other now.

Share this post


Link to post

The mighty boss of map 23 becomes INVISIBLE in multiplayer coop.
What the flying frak?! :(

Share this post


Link to post
Posted (edited)
36 minutes ago, Firedust said:

I still await the day you are done working on this :)

If you plan only playing single-player, you can just grab the current version (1.20) and play.

There are exactly two changes left to make:

1. Fix coop multiplayer issues

2. Add voice acting to maps 15,16 and 23.

Singleplayer, it is already perfect and playable, if you don't mind some dialogs and messages being text-only.

 

P.S. Figured out the invisible boss bug. Knowing the inheritance pitfall, I replaced all

Goto MyState

with

TNT1 A 0 A_Jump(256, "MyState")

Stop

In singleplayer, it worked perfectly. But in coop multiplayer, client somehow skips some states, skips over A_Jump and arrives at Stop -- which causes the boss cease to exist clientside. And the client-server sync mechanics cannot resolve that. So we have a server-side boss walking around and shooting, his projectiles being sent over the network emerging on the client mid-air, but there is nothing but empty space on the client, the boss is gone.

 

P.S. I will have to modify map 47, changing the dynamic skybox it relies on too much, with sky portal map geometry. Also, modify the skybox of map 28, so that it looks better degraded. Other than that, it's extremely minor issues, like some doors in map 26 only sounding medieval on UV, or minuscule texturing issues you need an eagle eye to notice.

Edited by chebmaster

Share this post


Link to post

The next update will be around next weekend, because I ran out of time to allocate for my hobbies.

 

For now, I have confirmed that dynamic skyboxes degrade gracefully resuilting in a well-looking static background for maps 20, 23, 26, 27, 28 and that the bypass for the timed mission works in map 19 in coop (if you fail the timed part, the path from the start gets blocked off and a teleporter opens up leading past all the timed trains).

Map 23 is currently unplayable in coop due to the invisible boss bug.

I've already rehauled map 47 and won't upload yet only because I dislike pushing half-baked updates.

 

The castle tower is map geometry instead of two 3d models (in a top layer seen from anywhere via sky portal). The jungle below is actual map geometry you can even fall into and die -- note the border between it and jungle further away implemented as part of dynamic skybox.

Screenshot_Doom_20240430_190409.png.d635ba65f712f86d2ab53528b9c41604.png

 

Also, made a fun discovery: if you use the normal map exit the next map is chosen from the server's map rotation list as you set it up. But if you use the secret exit, the secret map as linked in the campaign is used, disregarding the map rotation list.

Share this post


Link to post

NOPE. All my scripts work *perfectly* without degrading and trace local player's position on the client as designed.

 

It's the game engine that is lacking the ability to move skybox viewpoint when in a multiplayer client mode. That's why they don't work.

Case in point, map 11 with its dynamic fog simulating sun glare. When in coop, the game engine adjusts all sectors light level according to script, locally for each of two players (I used two PCs switching between them via KVM). But the script commands that change sector light color and fog color... Simply have no effect.

Resulting in this:

Screenshot_Doom_20240501_181338.png.30797eba7f1dc29d26960724dff923eb.png

I will have to set some passable color and fog color by hand in the editor, for this to have a semblance of working in multiplayer.

Share this post


Link to post

UGLY.

 

But this is the best that could be done with half the script functions having no effect.

Screenshot_Doom_20240501_185207.png

Screenshot_Doom_20240501_185239.png

Share this post


Link to post
Posted (edited)

Done May 01, 2024:
    - general: this is ChebSkies v 1.21 RC1, focused on fixing coop multiplayer
    - general: confirmed that dynamic skyboxes degrade gracefully to static in coop and that no further action needed for maps: 20, 23, 26, 27, 29
    - general: fixed a bug in my BarrelKaboom fix: was now not making any sound :(
    - map 11: applied an ugly hack to make the dynamic fog simulating sun glare work in coop in at least some capacity. Surprise, surprise: it's not my scripts failing to track the local player, it's many ACS functions having no effect in coop. That's why my dynamic skyboxes degrade to static: the game engine simply fefuses to move the skybox viewpoint as a client.
    - map 19: confirmed that the coop timing mission bypass works as designed
    - map 19: fixed minor texture misalignment on the tiled floors near the start
    - map 23: fixed the invisible boss bug - now map 23 is perfectly playable in coop!
    - map 23: nerfed the bosses' missiles explosion radius and changed the damage composition. Now damage composition is: no direct hit damage; 300 explosive in a radius of 128; 120 explosive in a radius of 300; 40 fire in a radius of 450 (the former composition was: 100..800 direct hit explosive; 128 explosive in a radius of 128; 100 explosive in a radius of 300; 60 explosive in a radius of 600) Mind that he fires akimbo with a fixed-pattern spread and won't stop firing well after you remove yourself from his sight (he switches to a saturation attack when he loses the sight of target, aiming down and spraying the ground in front of him).
    - map 23: changed the bosses' missiles animation when they hit floor to nuclear mushrooms. The old animation is only used if they hit walls (or you).
    - map 23: buffed the bosses' Second Wind form by enabling predictive algorithms for it (he leads you firing preemptively around corners -- was formerly only enabled for his basic form)
    - map 47: rehauled the geometry to make surrounding terrain not break if the dynamic skybox degraded: it now only contains distant jungle and hills while such landmarks as the castle (from map 241) and the tower (from map 23) are map geometry seen through the newly set up sky portal. Also, jungle just below the cliffs is real map geometry now -- this affected gameplay because cacoes could now retreat rather far away and snipe you.
    - map 26: fixed invalid texturing of the doorframe in the red key room
    - map 26: fixed many door sound effect overrides only working on UV (resulting in default scifi door sound)
    - map 28: eliminated one surviving instance of DOORTRAK
    - map 28: rearranged the skybox so that cathedral is straight north when degraded
    - map 32: fixed the final boss being 20% smaller in coop, resulting in his breath attacks being misaligned with his mouth
    - map 32: increased the final bosses' health in coop from 50K to 90K and raised his Turning Red threshold from 17K to 33K.

 

 

In a couple days I'll post a brief manual on how to setup a coop server real quick using only command line -- with a sample config.

 

Edited by chebmaster

Share this post


Link to post
Posted (edited)

I set up a test coop server. Bandwidth is shit and ping to Moscow would likely be shit. Using the latest Zandronum https://zandronum.com/downloads/zandronum3.1-win64-base.zip

launch chebskies with BDv21, press ~ and type in the console:

connect 217.70.20.10

 

Map rotation is choice boss arenas and hell maps: 21,22,23,241,242,26,312,32 . You can visit the secret map 47 if you can figure out how.

 

How to set up your coop server

1. Make sure you open ports 10666 - 10700 (and forward them to the PC running the server if you use NAT). Refer to your router's manual on how to.

2. Create a config, by simply modifying this file to whichever you like (in this case, chebskies-coop.txt):

// CONFIGURATION FILE FOR SERVERS

// Set the hostname.
sv_hostname "Cheb's ChebSkies 1.21 RC1 Test"


// Set the wad url - if you set this to the exact location of the zip file
// of the wad you're using then getwad will find it.
//sv_website "http://doomworld.com/crucified_dreams/crudream.zip"


// Set the banfile
//sv_banfile "banlist.txt"

// Set the logfile.
logfile "serverlog.txt"

// Force Skulltag to use the dmflags we want; don't set any defaults.
sv_defaultdmflags 0

// Reset the compat flags.
compatflags 0

// Make sure that we don't display launcher queries in the window.
// (Otherwise, logfiles will get HUGE!)
sv_showlauncherqueries false

// Set the skill level. 0 = I'm too young to die, 4 = Nightmare
skill 3

//*** Set the game mode. ***
//To set the various gamemodes:
//Deathmatch (current setting)
//deathmatch 1
//Duel
//duel 1
//Co-op
deathmatch 0
//Teamgame
//teamgame 1
//Team Deathmatch
//teamplay 1
//Capture the Flag
//ctf 1
//Last Man Standing
//lastmanstanding 1
//Team Last Man Standing
//teamlms 1
//Terminator
//terminator 1
//One Flag CTF
//oneflagctf 1
//Skulltag
//skulltag 1
//Invasion
//invasion 1
//Survival
//survival 1
//Possession
//possession 1
//Team Possession
//teampossession 1

//Buckshot Mode
//buckshot 1

//Instagib Mode
//instagib 1

//Call Vote (Change to true if you want to disable it)
sv_nocallvote False

//Friendly Fire (0.00 means friendly fire disabled, 1.00
//means full team damage. 0.50 is half damage etc)
teamdamage 0.00

// Set the limits.
//fraglimit 25

// WINLIMIT is used for the max number of wins in a duel game
// before the map changes. 

// POINTLIMIT is used for the max number of points a team scores
// before the map changes (in modes like CTF or Domination)

// FRAGLIMIT is used for the max number of frags in either Team
// Deathmatch, regular Deathmatch, or the max frags for 1 Duel.

//TIMELIMIT is used to end the match based on the time.

// Set the maximum number of players who can participate in the game.
sv_maxplayers 8

// Set the maximum number of clients who can connect to the server.
sv_maxclients 10

//Fast Monsters
sv_fastmonsters False

//Respawn Invulnerability (Set to True to Disable)
sv_norespawninvul False

//Free Look (Set to True to Disable)
sv_nofreelook False

//Jump (Set to True to Disable)
sv_nojump False

//Makes this server a public one (Shows up on the master server.)
//Set this to False to make it private
sv_updatemaster True

//Change this setting to True if you plan on connecting to the server
//Over a local area network.
sv_broadcast False

// Set the message of the day.
sv_motd "Dare you enter ChebMasters magical realm?"

// Set the RCON password.
sv_rconpassword "mypassword"

// Disallow connect/join passwords.
sv_password ""


// Set some dmflags. Should be self-explanatory.
sv_weaponstay true
//sv_nomonsters true
sv_itemrespawn true
sv_noexit true
//sv_doubleammo true

// Spawn drops on the floor.
compat_notossdrops true

// Set the map rotation.
addmap eday21
addmap eday22
addmap eday23
addmap eday241
addmap eday242
addmap eday26
addmap eday312
addmap eday32

3. Launch server by issuing

zandronum.exe -host +exec chebskies-coop.txt -file chebskies-launcher-BDv21.pk3

from cmd.exe , Total Commander or whaichever command line tool you like.

Zandronum will launch as a small GUI window that displays server log and some statistics in real time.

 

4. On a client machine, launch exactly the same Zandronum version with *exactly* the same PK3s (in this case, chebskies-launcher-BDv21.pk3 ) , open console and type

connect <your external IP4 address>

Zandronum either connects instantly (and you are in the game -- probably spectating, and have to press space to join) or displays an error message on why it could not.

 

Note that cacoes are annoying in that they dash around when you aim at them. This process repeats on the server with some delay bringing radical changes in their position, then server corrects their position on your client, they dash again... In short, networked cacoes teleport around a lot. Also, hitting a pinky with a super shotgun is really hard -- by exactly the same reason. They react to your movement -- and the server tries to unlag them. Even in LAN, with a zero ping, they jerk around too much.

 

P.S. You *cannot* have more than 8 coop players because scripts would break, that code uses lotsa arrays with length of 8.

In my opinion, even 4 coop players are an overkill crowd.

Edited by chebmaster

Share this post


Link to post

No one connected to my coop server, ever. Either no one was interested or some net screen was blocking access from outside Russia.

 

I am taking it down to repurpose for testing. It will be running half-finished experimental PK3s and no one but me would be able to connect.

Share this post


Link to post

WARNING: currently map 312 is not playable in coop due to the pinkies of the Horde turning invisible (the same crap as with map 23 earlier) as soon as they lose the sight of you.

I plan updating tomorrow after I fix the stupidiest bug in BDv21, with vehicle controls not working for the first player to join the coop game (even after respawning).

Share this post


Link to post

Voodo coding at its finest: I have no slightest idea what caused that bug, I have not a slightest idea why my fix works, I just found a working solution by flailing in the dark.

 

Turns out vehicle movement wasn't working for the first player to join the game in *any* map in coop.

I cloned the scripts that manage vehicle inputs and embedded them as map scripts in all EDAY maps that have vehicles.

And that fixed the problem (and did not break BDv22test3 singleplayer, thankfully).

But HOW...?

 

I only test multiplayer in BDv21che with latest Zandronum, I should add.

 

Done May 10, 2014:
    - general: this is ChebSkies v 1.21 RC2, focused on fixing coop multiplayer
    - general: fixed the BFG ball being invisible in coop (was caused by the same Zandronum quirk as the invisible boss bug in map 23 earlier)
    - general: fixed a bug in my fix for light post sprites designed to be always y-aligned (strictly vertical). It was forcing them to be always xy-aligned (perpendicular to view axis) instead. What an embarrassment.
    - general: fixed errors in the walkthrough
    - map 11: applied a voodoo coding hack to fix vehicles not moving for the first player to join the server
    - map 13: applied a voodoo coding hack to fix vehicles not moving for the first player to join the server
    - map 14: applied a voodoo coding hack to fix vehicles not moving for the first player to join the server
    - map 17: applied a voodoo coding hack to fix vehicles not moving for the first player to join the server
    - map 18: applied a voodoo coding hack to fix vehicles not moving for the first player to join the server
    - map 20: applied a voodoo coding hack to fix vehicles not moving for the first player to join the server
    - map 21: fixed texturing and geometry of the city buildings around the path to the boss arena
    - map 21: automap prettification
    - map 22: deleted outdated scripts that did nothing
    - map 22: fixed the NPC marines marching forward on map start instead of the first time a player steps on the other side of the blood river. Now they mile around the entrance until you move forward.
    - map 22: removed the invisible walls around the starting bridge preventing you falling into the river of blood. Reason: were interfering with the helicopter, which should be able flying above it all freely
    - map 22: added additional ambush triggering lines to account for the player flying the helicopter along the map's fringes
    - map 22: removed leftover invisible walls preventing your helicopter reaching map fringes
    - map 22: moved the story text explaining helicopter controls from map start to player joining the game (and made this script clientside only)
    - map 22: doubled the helicopter ceiling limit
    - map 22: applied a voodoo coding hack to fix vehicles not moving for the first player to join the server    
    - map 242: fixed one situational blue grate (in the hut) glitching in coop: pressing it lowered the bars on the server but not on the client. Resulting in a) you pressing it seemingly not working and b) seemingly solid bars being passable but with briefly teleporting you through the roof. Fixed by inverting their randomization behavior: are now raised in the editor and retract if the red key is not used.
    - map 26: fixed minuscule texturing imperfections
    - map 26: moved three armor bonuses obviously designed to be placed on top of a bridge but residing on the floor below it instead.
    - map 30: automap prettification
    - map 30: applied a voodoo coding hack to fix vehicles not moving for the first player to join the server
    - map 312: fixed the beastmaster's pinkies becoming invisible in coop
    - map 312: fixed the coop beastmaster sometimes firing regular pinky minions instead of multiplayer megapinkies
    - map 312: buffed the coop beastmaster from 13K to 20K HP
    - map 32: fixed boss cubes often spawning invisible monsters in coop

 

When I say "fixed texturing and geometry of the city buildings" I mean things like this:

 

Screenshot_Doom_20240509_174932.png.fd3ff056281565926d4d1f4468ef8afe.pngScreenshot_Doom_20240509_185508.png.540338659cb8ea1d2fc4fb30eacac5b6.png

 

 

 

 

Multiplayer MegaPinkies (66 of them with 2000 health instead of 666 regular pinkies with 200 health):

 

Screenshot_Doom_20240510_115241.png.1f02bbccd318eb38f9b0b5eb14c98a61.png

Share this post


Link to post
Posted (edited)

Creating code is EASY.

Playtesting and making sure your changes did not break anything takes 90% work.

 

I already have everything for the next *two* updates ready for testing... Which will take days if not weeks.

First, actual finished 1.21 with quality-of-life coop improvements -- like adding shortcut teleporters or outright respawn redirects for the humongously long long maps that are a slog to run across all the way from the start. 10, 12, 15, 42, 20, 22, 242, 27, 28.

 

Second, 1.22 with monster aiming AI upgrade for brutalv21che . Nothing radical, because it shall still remain DooM, and potentially performance-reducing, but...

Have you noticed the pause between monster beginning its firing animation and the actual moment it fires...?

Of course you have, that's a core gameplay tenet.

BUT. During that animation they keep turning afrer you even if you duck into cover, and then fire into a wall, or a doorframe edge, and that is easily exploited.

What if monsters *stopped* turning towards you as soon as they lose line of sight (or you are invisible)...?

That's what I am planning to check out (already coded everything).

So popping in and out of cover would be *punished* by a stream of fireballs flying at the last position they saw you at.

Of course that means spamming line of sight checks, one on every firing animation frame.

Will the game engine manage this on potatoes...? Only testing would tell.

 

As a side note, I checked if the animated cutscene at the end of map 13 works in coop. It does...! Amazing, I was so sure it would break and glitch.

 

P.S. I have just noticed, while examining BDv21 code, there is a commented out feature of zombies and chaingunners throwing a grenade with 3% probability instead of shooting. I can guess why that did not work: the AI is too dumb. It would require *tons* of scripting to make sure it was actually safe to throw that grenade.

 

P.P.S. I remember throwing a grenade and killing an imp. I mean, by the grenade hitting him in the head and caving his skull.
When it exploded later, the imp was already dead.

Edited by chebmaster

Share this post


Link to post

Experimenting showed much less effect than I hoped, for a performance price (every LOS check is a jump and every jump facilitates server transmitting monster state to the client -- because, turns out, clientside monsters in Zandronum never have a target assigned so they cannot attack by themselves, only when the server tells them to. Who could have thought.)

Lots of bullets and fireballs still catch on the edge behind which you take cover. Still, with spread many fly by. Me also tightening baron's triple-shot spread at distances longer than 768 map units makes him somewhat deadlier.

 

Finally paid attention to the zombies manning heavy machinegun turrets (deadliest monsters in the mod: they see you, you die: rapid fire, zero spread, 25 damage per bullet) were completely silent. Unlike, say, changunners standing right next to them. Turns out, their firing sound did not have rolloff distance set, so default was used, which is too short. Will be fixed in the nearest update (will also check enemy tank cannon firing sounds).

Share this post


Link to post

Where do those "that one boss"es come from...?

Take me and my obsession with buffing the map 23 boss, for example.

Sometimes, I have a feeling it borders on those girls who keep thinking they are fat and trying to lose weight until they turn themselves into anorexic skeletons and die.

But that can't be the case, right...? Such a silly thought. I am a rather rational man.

I just... Finally figured how to make his preemptive fire work. Not "kinda, sorta, if you squint, sometimes" but work reliably like a well-oiled player-murdering machine.

So... I playtested and failed to even get halfway through his second stage. Even with debugging aids, his preemptive targets showing as big fat targeting crosses, allowing me to read his intent, even with me knowing perfectly how his algorithms work, he just... Smeared me. His perfectly working player prediction coupled with his second form's insta-fire as soon as target is in sight, lead to me... Actually being unable to *see* him. Every time I tried finding him, peeking from behind the central tower, an avalanche of fire came my way, also obscuring him perfectly. Until one of the cyberdemon minions got me.

Share this post


Link to post

I honestly thought all maps were finalized and could only change in minor detail.

But then a thought struck me: why not?

So I went to town on map 22 and connected the castle area with the rest of the map by streeeetching that lava lake.

Now there is a bypass route that is only passable via helicopter that lets you bring your helicopter to the castle and clear it from the air. Tested it in coop where the castle is guarded by 4 (four) cyberdemons. The heli is surprisingly good at slaying them (just aim for the heads), its ammo pool is enough to support the marines advancing all over the map, then clear the castle completely.

 

Will upload update tomorrow, need some testing of my last minute changes to the map 23 boss.

 

Screenshot_Doom_20240518_211845.png.fdeedfe1d223ad36161424532cffc394.png

Share this post


Link to post

Done May 19, 2024:
    - general: this is the Cooperative Doormongering update, ChebSkies v 1.21
    - brutalv21che: upgraded most monsters' aiming algorithms. Now they immediately stop leading you if you get ouf of sight, meaning immense pain for the knights of the Door order - if you try popping in and out of cover, yo'll eat a stream of projectiles aimed at the last position where they he last saw you. Excluded are: cacoes, pain elementals, pistol zombies, volcabi, ancient arachnotrons, aracnorbs, lost souls (and, naturally, pinkies). ALSO greatly reduces them randomly spraying when you are invisible -- they keep firing in a fixed direction they thought they saw you in. Mostly affects chaingunners, rifle zombies, arachnotrons, spider masterminds, revenants firing volleys and knights firing volleys. This does NOTHING if you use brutalv22test2, obviously. NOTE ALSO this may be hard on performance in monster-heavy maps since every monsters now SPAMS line of sight checks during his ranged attack. And each such check forces the server to send a monster status update to clients.
    - general: upgraded my Duke of Hell mini-boss  to my new aiming algorithms
    - general: upgraded the heavy machinegun zombies to my new aiming algorithms
    - general: changed the heavy machinegun zombies increasing the delay before they start firing with new animation frames (front only) where they wiggle their machinegun's barrels left and right. So they telegraph their intent. New sprites: TTR3 frames X and Y. On the downside, they fire much longer bursts now, laying down suppressive fire.
    - general: fixed roloff distance for the tank machinegun sound and the tank cannon sound. Due to this bug, heavy machinegun zombies and enemy tanks were totally silent because you encounter them at distances much greater than the doom-default roloff distance - an acute case of "wtf just killed me?"
    - map 02: added coop respawn redirects to avoid players bypassing the grand backtracking ambush by respawning past it
    - map 10: added a redirect for coop respawn to the entrance to the boss arena, triggered by any player reaching it
    - map 12: added a redirect for coop respawn to the entrance of the northern area, triggered by any player entering it
    - map 13: automap prettification
    - map 13: fixed minuscule HOM effect on one of the secrets opening
    - map 13: confirmed that the animated outro cutscene plays without issues in coop
    - map 13: removed the "walkable midtex" flag from some unrelated linedefs
    - map 13: fixed water being broken (not animated and blood/spent casings staying on it as if it was regular floor)
    - map 15: added a redirect for coop respawn to the final battle area, triggered by any player entering it
    - map 40: automap prettification
    - map 40: fixed the super secret exit showing on textured automap
    - map 59: automap prettification
    - map 41: automap prettification
    - map 42: automap prettification
    - map 42: added a redirect for coop respawn: to the castle corridors, triggered by any player walking outside, and to the red key position in the library, triggered by any player approaching the red key.
    - map 42: fixed minor HOM in one underground arch
    - map 19: upgraded the blocking wall + teleporter to respawn redirect for coop bypass for the timed part, triggered by the train crash
    - map 20: added redirect for coop respawn, two stages: the mall exit and the multi-story parking entrance
    - map 22: added a redirect for coop respawn to the entrance of the castle area, triggered by any player entering it
    - map 22: made the self-propelled AA gun parked near the castle only show on lower difficulties than UV
    - map 22: replaced the tank at the map start with a self-propelled AA gun. Reason: tank is *very* bad at traversing uneven terrain, crawls like a lame turtle. NOT fun.
    - map 22: adjusted straggler patrol route (only used to march unfinished demons missed by both the player and the NPC marines to the castle) to prevent them catching on terrain features
    - map 22: added demon corpses and one destroyed tank littering the bridge
    - map 22: made the music change when a player is riding the attack helicopter, similar to map 18
    - map 22: created a huge empty area flooded with lava the player can use to reach the castle in his helicopter. Decidedly not passable by any other means than the heli. Off limits to monsters.
    - map 22: replaced THE FUG all revenants with barons. Reason: anti-frustration feature. Revenant fireballs are silent sudden death for the heli.
    - map 23: changed the bosses' preemptive firing (when he uses heuristics to lead you popping in and out of cover) from his regular attack to his blindfire saturation attack
    - map 23: greatly reinforced the bosses' preemptive firing heuristics: the entire areana is now *smeared* in triggers, you can't avoid them. He must be much more preemptive-spammy now. Also, target is only triggered if the targeted spot is already in the bosses' line of sight. This is two-fold: avoid wasting chances on targeting spots he could not see sending this mechanism into cooldown and, fire on such a spot *immediately*, forgoing the natural monster behavior with missile chance.
    - map 23: removed the boss aggroing at any arch you duck into. Reason: the mechanism goes into cooldown effectively preventing him aggroing at a different arch you pop out of. Also moved the corresponding targets allowing the boss to lay saturation fire at that arch from 40% of the arena.
    - map 23: fixed the bosses' preemptive firing heuristics not working in coop at all
    - map 23: added coop redirect to outside the central tower, triggered by the boss going second wind. Reason: the regular start becomes boxed in between four cyberdemons who spawnrape you instantly
    - map 23: increased the bosses' aggression: while you prance out of his sight he accumulates frustration, which he could then expend in two or three insta-attacks that ignore normal monster missile chance.
    - map 23: for UV and coop, changed the bosses' health indicator headline from "BOSS" to "MURDERBOSS DEATHKING". This cyber had been *training*.
    - map 23: fixed *more* bugs related to the emasculated way Zandronum executes scripts as a multiplayer client. It was reporting breaking infinite loops for the second wind form of the boss and for some explosions.
    - map 23: fixed a minor issue with the map geometry: previously, sky was flush with the tower's back side so if you were, say, catapulted over the wall by the bosses' nuke but did not die, you could NOT fall out to your death because there was no outside to speak of, you just landed on the crenels. Now there is enough space to plummet on all sides of the tower. Isn't that nice?
    - map 23: *nerfed* the first stage's attacks and made them fixed pattern: no random fire breaths, always fires three double shots, then switches to fire breath if target is still in sight. If target goes out of sight, switches to saturation fire as before.
    - map 23: *nerfed* the preemptive strikes: now *only* performs them if his frustration counter is high enough. The frustration counter increases with each step but drops sharply with any attack... Except preemptive strikes. Meaning he won't go for preemptive strikes unles you are out of sight for awhile
    - map 23: changed the bosses' growling patterns. Now he only growls when he is being frustrated.
    - map 241: fixed the script moving the player to alt start potentially using occupied TIDs
    - map 241: added support for coop respawn to respect the alt start
    - map 242: added a redirect for coop respawn to the yellow door, triggered by any player walking through it
    - map 242: added support for coop respawn to respect the alt start
    - map 27: automap prettification
    - map 27: added two teleporters to the starting area, designed as coop shortcuts, leading right beyond the yellow and blue doors, opened when any player walks through those doors.
    - map 27: fixed one of the abysses having the plummeting angle set incorrectly, so actors could get stuck instead of falling to their doom
    - map 27: minor texturing fixes in the ancient cut-content-brought-back area
    - map 28: automap prettification
    - map 28: added a coop bypass teleporter near the map start, leading into the southern half of the skybridges area
    - map 28: fixed one of the two archviles designated to teleport as they walk out of their closets NOT teleporting in coop (were sharing the destination ID with several teleporter destinations with the same ID)
    - map 28: added two coop respawn redirects
    - map 28: moved the skybox initialization from player joining the game to map starting, to fix spectators observing uninitialized sky
    - map 29: automap prettification
    - map 30: automap prettification
    - map 312: added coop respawn redirect to a random spot around the map. Reason: mega pinkies may crowd the map start resulting in an endless spawnrape cycle

 

 

..and NOW, for sure, I am done. As Penny Pollendina would have said, it is multiplayer-ready!

 

 

Share this post


Link to post

Done May 25, 2024:
    - general: this is the Localizer's Delight update, ChebSkies v 1.22
    - brutalv21che: added localizability of names for cyberdemon, cacodemon, pain elemental, lost soul, baron and knight.
    - brutalv21che: added localizability for player class types in the selection menu
    - general: made the Russian localization work in GZDoom (previously, was only viable for Zandronum). Had to dublicate the LANGUAGE lumps because GZDoom is unicode while Zandronum is not, require different text encoding.
    - general: fixed Zandronum-specific quirks in the Russian localization (replaced the smalll letter ч with number 4 in map names: was showing as empty space with the large menu font)
    - general: renamed chebskies-ru.pk3 to chebskies-ru-zandronum.pk3 and moved the Russian localizations of standard doom stuff (like exit messages) from it to the main pk3. It now only contains Cyrillic fonts for Zandronum. DELETE chebskies-ru.pk3 as you update to avoid cluttering.
    - general: reorganized the skill levels. Reason: the BD skill level set is designed for classic DooM maps while EDAY is a cross-breed between ultra-hard and slaughtermap-lite. I removed all sorts of Nightmare from the list because some larger maps (which take up to 40 minutes to max on UV) become flat out unplayable with monsters respawning. All kinds of realism with its 700% damage received were replaced with Unrealism, with 450% damage received. All things considered, I DO NOT RECOMMEND playing on difficulties higher than Brutal Metal (which is like Black Metal but without monsters respawning).
    - map 23: made the cyberdemon minions and the boss unable to harm each other (wanted to make them minions, damageable but not aggroeable, but that failed). Reason: infighting much, too ez.
    - map 23: reworked the greeting comittee to prevent stray caco waking up too early, hitting the boss and thus deadlocking the boss in attacking that caco: he *cannot* aim up. Now the first gate is functional, lowers at the same time with the tower exit, with all the greeting monsters (except a few pinkies) tucked safely behind it out of sight.
    - map 29: added MG42 ammo to secrets
    - map 30: added MG42 ammo to secrets
    - map 311: added MG42 ammo to secrets

 

 

Share this post


Link to post

I figured it out how to bring forth humanity's dream of using coop monster lists in single-player without using fake local multiplayer and its quirks like respawning -- at least for EDAY.

1. Select all coop-only monsters using "select similar"

2. Copy-paste in place

3. Set flags "single player, difficulty 5 (nightmare)" for the pasted monsters

4. Repeat for each of the 40 maps in EDAY (what a CHORE)

5. Say goodbye to nightmare ("Nightmare Lite" will use monster list from difficulty 3). Create a bunch of new difficulties "horde-something" that work in single-player.

 

So I think this should be my real parting gift. Just one more update, in one or two weeks (because CHORE, boring).

 

Share this post


Link to post

Whoops. Some maps (like 061) DONT HAVE monster numbers adjusted for lower difficulties. Like, at all. I haven't noticed since I always playtest on UV.
That wasn't me, I try to never adjust monster population created by Mark-sensei... Guess this just tells us that EDAY was unfinished in more ways than I accounted for.

 

Balancing this out (as some insane difficulty levels call for less monsters because every one is too deadly) will take *more* time than I thought.

On the other hand, a good thing I caught it.

 

In other words, in the current version lowering difficulty below High Violence often doesn't do anything. Because the monster list is the same.
While *some* maps do have this variety nice and polished and even different kinds of monsters for different skill.

Share this post


Link to post
Posted (edited)

Done May 28, 2024:
    - general: this is the Horrible Embarrassment update, Chebskies v 1.23
    - brutalv21che: FIXED my new aiming algorithms not really working because I was too lazy to test them properly and forgot to adjust the spawned projectile's flags resulting in said projectile always being auto-aimed at you disregarding the monster facing direction. Resulting in changunners shooting at your invisible self out of their asses, just like those hexatronic nuisances in TF2.
    - general: fixed my new aiming algorithms for the heavy machinegunners. The fix for my duke of hell mini-boss will be packed with the next update.

 

 

 

Oh the shame :(((((((((((

 

 

On the bright side, I've finally discovered the holy grail of DECORATE aiming functions, an exceedingly rare and counter-intuitive set of flags that

A) allow monster aiming with delay or with not changing aim if target is out of line of sight

B) with vertical spread working to boot!

		// previous frames invoked A_FaceTarget

		//***Che: do NOT adjust aim if target goes out of sight or is invisible
		TNT1 A 0 A_JumpIfInTargetInventory("IsInvisible", 1, 4) // Brutal Doom specific powerup mechanics -- players only
		TNT1 A 0 A_JumpIfTargetInLOS(2)
		TNT1 A 0 A_Jump(256, 2)
		TNT1 A 0 A_FaceTarget

		// you can add a delay here to make the monster a slowpoke always aiming behind a moving target
		
		SPOS E 4 //A_FaceTarget
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 40,0)
        
        TNT1 AAAAA 0 A_CustomMissile("ShotgunguyTracer", 
			36, // vertical origin offset 
			0, // horizontal origin offset
			random(-7, 7) + angle, // horizontal angle -- requires to be absolute, not relative
			// note: with CMF_ABSOLUTEANGLE we finally get rid of forced autoaim 
				//and can use pure actor facing direction ("angle") plus random spread
			CMF_ABSOLUTEANGLE | CMF_OFFSETPITCH | CMF_SAVEPITCH, // the combination of flags that WORK
			random(-4, 4) // vertical spread, relative to the auto-aimed pitch
		)

So, in essence, what this update makes FINALLY WORK is that monsters aiming at an invisible player do not behave like they have a seizure (especially those firing in bursts -- rifle zombies, chaingunners, arachnotrons, knights kicked in the nuts, cyberdemons, masterminds, revenants when firing volleys of four) and saturate the space around with random fire -- making having the invisibility deadlier tha nimply facing them.  No. They fire their entire burst in a fixed random-deviated direction. MUUUCH more natural this way.

 

The vertical aiming remains on forced auto-aim, but who gives a crap about vertical.

 

 

Edited by chebmaster

Share this post


Link to post

Found a tiiiny snag with my new aiming: mancubi unable to hit you with their first shot because without the auto-aim the fireballs fly by your sides with you safely in the center. I suspect the same would happen to the flame streams.

Will fix later today (need make the attack more sophisticated: fire auto-aimed if has LOS and not invisible, fire as currently designed otherwise).

Share this post


Link to post
Posted (edited)

UPD: also BD's "IsInvisible" inventory item is a horrible hack that fails early and fails if you pick up a second invisibility sphere before the first one runs out. Monster scripts stop considering you invisible early while the parts managed by the game engine continue counting you as invisible properly -- resulting in ugly algorithm mishmash.

 

By researching the wiki I have found, tried and proved as working a much more reliable check: while the player is invisible he always has "PowerInvisibility" in his inventory, this is managed by the game engine and is consistent.

 

While "IsInvisible" is managed by BD script that *assumes* powerup duration -- and miscalculates.

 

Will echo this in the BD 22 thread as a bug report.

R&D for Zandronum is pain.

 

P.S. did "Replace in files"

A_JumpIfInTargetInventory("IsInvisible"

to

A_JumpIfInTargetInventory("PowerInvisibility"

on my BDv21che folder.

171 occurrences were replaced.

Share this post


Link to post
Posted (edited)

Done May 30, 2024:
    - brutalv21che: fixed the mancubus fireballs passing to the sides of you, unable to hit you with autoaim off
    - brutalv21che: added evil marine rifle and evil marine plasma to the club of monsters with improved aiming
    - brutalv21che: replaced the BD's buggy player invisibility check with a reliable invisibility check in all monster scripts
    - brutalv21che: fixed mancubus close-range attack, designed to launch twice as faster when enraged, not applying due to a typo in the script
    - general: fixed the player invisibility check for the heavy machinegunners in EdayTest001-resources.pk3. The fix for my duke of hell mini-boss will be packed with the next full update (1.24).

 

I will post a BD bug report and upload an example video (of how my invisibility monster behavior is much better) to youtube at a later date: there is a small snag at work, got no time for these.

 

P.S. The skills re-balancing is at 9/40. (nine maps out of forty done). The new horde skills will not only have all coop monsters added to the singleplayer roster but also new strong monsters with nastiest placement I could invent. I know those maps by heart, I know which surprises I'd hate, so I add them exactly there.

 

Ultra Violence is as far as my aging reflexes allow me to go, so testing the Hordes skills (even as the weakest High Hordes where monsters only inflict 66% damage) is a wringer.

Here, I overcame the map 07, sweating to never miss a shot, scrounging every last drop of ammo, luring monsters close to explosive barrels to conserve it. After the end-map 16 (sixteen!) improved-aim extra nasty arachnotrons we were the last ones standing. Me and my last hit point.

And my three remaining shotgun shells.

Screenshot_Doom_20240530_123331.png.26b79d3844f9a57aba898f4f2ee4d203.png

Edited by chebmaster

Share this post


Link to post
Posted (edited)

Done June 01, 2024:
    - brutalv21che: fixed the cyberdemon missing you due to his projectile origin's horizontal offset. As with mancubus earlier, made more complex code that enables autoaim back if tharget is in his line of sight and is not invisible

 

P.S. Compare:

 

The cyber's "Missile" state, vanilla BDv21:

	Missile:
	    TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_JumpIfInventory("Enraged", 1, "SpecialAttack")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR E 8 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,0,0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR EE 6 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,-7,0)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR EE 6 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,7,0)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR EE 6 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,0,0)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR EE 6 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR E 12
		Goto See

 

The cyber's "Missile" state, my handiwork:

	Missile:
	    TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_JumpIfInventory("Enraged", 1, "SpecialAttack")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR E 8 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)

		// MUST use auto-aiming at visible targets, otherwise misses at close range due to projectile's origin offset
		TNT1 A 0 A_JumpIfInTargetInventory("PowerInvisibility", 1, 2)
		TNT1 A 0 A_JumpIfTargetInLOS(3)
		// the version with auto-aim disabled:		
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,angle, CMF_ABSOLUTEANGLE | CMF_OFFSETPITCH | CMF_SAVEPITCH)
		TNT1 A 0 A_Jump(256, 2)
		// the auto-aimed version:
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,0,0)

		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		
			//***Che: do NOT adjust aim if target goes out of sight or is invisible
			TNT1 A 0 A_JumpIfInTargetInventory("PowerInvisibility", 1, 4)
			TNT1 A 0 A_JumpIfTargetInLOS(2)
			TNT1 A 0 A_Jump(256, 2)
			TNT1 A 0 A_FaceTarget
		
		CYBR E 6 //A_FaceTarget

			//***Che: do NOT adjust aim if target goes out of sight or is invisible
			TNT1 A 0 A_JumpIfInTargetInventory("PowerInvisibility", 1, 4)
			TNT1 A 0 A_JumpIfTargetInLOS(2)
			TNT1 A 0 A_Jump(256, 2)
			TNT1 A 0 A_FaceTarget
		
		CYBR E 6 //A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		

		// MUST use auto-aiming at visible targets, otherwise misses at close range due to projectile's origin offset
		TNT1 A 0 A_JumpIfInTargetInventory("PowerInvisibility", 1, 2)
		TNT1 A 0 A_JumpIfTargetInLOS(3)
		// the version with auto-aim disabled:		
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,angle - 7, CMF_ABSOLUTEANGLE | CMF_OFFSETPITCH | CMF_SAVEPITCH)
		TNT1 A 0 A_Jump(256, 2)
		// the auto-aimed version:
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,-7,0)

		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		
			//***Che: do NOT adjust aim if target goes out of sight or is invisible
			TNT1 A 0 A_JumpIfInTargetInventory("PowerInvisibility", 1, 4)
			TNT1 A 0 A_JumpIfTargetInLOS(2)
			TNT1 A 0 A_Jump(256, 2)
			TNT1 A 0 A_FaceTarget
		
		CYBR E 6 //A_FaceTarget

			//***Che: do NOT adjust aim if target goes out of sight or is invisible
			TNT1 A 0 A_JumpIfInTargetInventory("PowerInvisibility", 1, 4)
			TNT1 A 0 A_JumpIfTargetInLOS(2)
			TNT1 A 0 A_Jump(256, 2)
			TNT1 A 0 A_FaceTarget
		
		CYBR E 6 //A_FaceTarget

		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		// MUST use auto-aiming at visible targets, otherwise misses at close range due to projectile's origin offset
		TNT1 A 0 A_JumpIfInTargetInventory("PowerInvisibility", 1, 2)
		TNT1 A 0 A_JumpIfTargetInLOS(3)
		// the version with auto-aim disabled:		
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,angle + 7, CMF_ABSOLUTEANGLE | CMF_OFFSETPITCH | CMF_SAVEPITCH)
		TNT1 A 0 A_Jump(256, 2)
		// the auto-aimed version:
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,7,0)		

		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		
			//***Che: do NOT adjust aim if target goes out of sight or is invisible
			TNT1 A 0 A_JumpIfInTargetInventory("PowerInvisibility", 1, 4)
			TNT1 A 0 A_JumpIfTargetInLOS(2)
			TNT1 A 0 A_Jump(256, 2)
			TNT1 A 0 A_FaceTarget
		
		CYBR E 6 //A_FaceTarget

			//***Che: do NOT adjust aim if target goes out of sight or is invisible
			TNT1 A 0 A_JumpIfInTargetInventory("PowerInvisibility", 1, 4)
			TNT1 A 0 A_JumpIfTargetInLOS(2)
			TNT1 A 0 A_Jump(256, 2)
			TNT1 A 0 A_FaceTarget
		
		CYBR E 6 //A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		
		// MUST use auto-aiming at visible targets, otherwise misses at close range due to projectile's origin offset
		TNT1 A 0 A_JumpIfInTargetInventory("PowerInvisibility", 1, 2)
		TNT1 A 0 A_JumpIfTargetInLOS(3)
		// the version with auto-aim disabled:		
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,angle, CMF_ABSOLUTEANGLE | CMF_OFFSETPITCH | CMF_SAVEPITCH)
		TNT1 A 0 A_Jump(256, 2)
		// the auto-aimed version:
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,0,0)
		
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		
			//***Che: do NOT adjust aim if target goes out of sight or is invisible
			TNT1 A 0 A_JumpIfInTargetInventory("PowerInvisibility", 1, 4)
			TNT1 A 0 A_JumpIfTargetInLOS(2)
			TNT1 A 0 A_Jump(256, 2)
			TNT1 A 0 A_FaceTarget
		
		CYBR E 6 //A_FaceTarget

			//***Che: do NOT adjust aim if target goes out of sight or is invisible
			TNT1 A 0 A_JumpIfInTargetInventory("PowerInvisibility", 1, 4)
			TNT1 A 0 A_JumpIfTargetInLOS(2)
			TNT1 A 0 A_Jump(256, 2)
			TNT1 A 0 A_FaceTarget
		
		CYBR E 6 //A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR E 12
		Goto See

 

Share this post


Link to post
Posted (edited)

The video is 4-part:
1. invisible player vs vanilla BD 22: bullet hell, doom default
2. invisible player vs ChebMaster's aiming algorithms: monster aims once, then its firing direction is locked until the end of the burst. A) Much more natural, B) makes invisibility really USEFUL, could put it back in the maps.
3. visible player taking cover vs vanilla BD 22: monsters keep firing at the wall, doom default, making "move behind a wall, wait for the burst to end, pop out of the cover" a really powerful technique.
4. visible player taking cover vs ChebMaster's aiming algorithms: monster stops leading player as soon as player is out of its line of sight. Resulting, with a reasonably high probability, with the entire burst flying past your cover. The tried and true "move behind a wall, wait for the burst to end, pop out of the cover" will result in you catching the rest of the burst with your face -- which makes doom more BRUTAL.

 

 

 

P.S. Hordes conversion progesss this week: 13 maps out of 40.

 

Thought up another skill between "Brutal Metal" and "Death Metal": "Rabid Hordes". Combines the hordes roster with fast monsters, but doesn't change damage nor speed, unlike the "Metal" set (where "Brutal Metal" is aped after "Black Metal" difficulty from vanilla BD minus monsters respawning (UV roster; fast monsters; 150% damage received; 125% damage inflicted; 125% player speed), and "Death Metal" is the same but uses the Hordes roster instead of UV's)

This is for people with insanely better reflexes than mine, mind you. There's no chance I'd be able to playtest that except making sure basic things work.

 

 

Edited by chebmaster

Share this post


Link to post
Posted (edited)

Made a small detour because I felt I needed something special to spice some of the maps up...

 

P.S. Oh and the black one's specialization is actually anti-tank. His golden fire (damage type: bfg9000) inflicts 300% damage on the player's vehicles.

 

 

Edited by chebmaster

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×