DoomRL > Requests For Features



Kornel Kisielewicz:
Beta 3 is up!

Apart from what you can read in the changelog - I adjusted and fixed some things based on the previous thread feedback, also we're starting two big features with this BETA

1) overhaul of the controls - while I don't intend to dumb down the controls (no worries, diagonals will be here FOREVER), some of the choices in terms of keybindings want their Altavista website back. SHIFT-DOT for entering the next level HAD to go. I'm also trying out a streamline here - SPACE is a universal action key - Open, Close, use Lever and Descend stairs can all be done using SPACE. The old keys DO work, but unless someone gives a valid reason I will remove them at some point. Also, use from ground has been moved to SHIFT-G (shift pickup), this includes wearing/wielding from ground, and also will trigger a lever if present.

2) overhaul of the speed and timing system - this SHOULD be fairly invisible now - if you spot anything weird, report immedately! The reason this needs to be done is so we can have smooth mouse movement and smooth animations later down the line.

Feedback on the changes, both forementioned and the ones below needed!

Raw changelog below, comments, reports and requests welcome - join us on the Discord in #doomrl!

DoomRL BETA 3 Windows LQ

If you're not on Windows, you can always compile the development branch from github - find me on the Jupiter Hell discord if you need help with that!

--- Code: --- BETA 3
[new] -- BETA  : WARNING - speed system rewrites!
[new] -- GH#080: keybindings updates - SPACE is action key (open, close, descend, pull)
[new] -- GH#080: keybindings updates - SHIFT-G is use/wear/wield/pull from ground
[new] -- GH#074: UnlockAll option in config.lua to unlock Challenges and Difficulties
[new] -- GH#063: WK3 available for techs at clev 12+ and allows 1 more assembly mod!
[mod] -- GH#078: increased amount of enemies on Deimos and Hell
[mod] -- GH#075: overcharging a BFG doubles dice count instead of +2 dice
[mod] -- GH#075: assembly buffs - micro launcher, tower shield, ballistic armor, env boots
[mod] -- GH#075: assembly buffs - speedloader pistol, assault rifle, mother in law
[mod] -- GH#075: buffed Gothic Arms set, slightly nerfed Inquisitor Set pieces
[mod] -- GH#075: buffed Necroarmor and translocator, changed Cybernetic Armor resistances
[mod] -- GH#063: you can still mod an assembly if you take WK2 after assembling
[mod] -- GH#070: nightmare enemies are resistant to floor effects
[mod] -- GH#078: nightmare arch-vile deals 20 plasma damage (was 25 fire)
[mod] -- GH#078: nightmare imps are 20% faster and more accurate
[mod] -- GH#059: Techs get starting mod on challenges that allow them
[mod] -- GH#053: you can now properly firestorm-mod a tristar blaster
[mod] -- GH#078: buffed danger/XP and weight for elite for/ser/cap and nightmare demons
[mod] -- GH#078: former commandos and pain elemental spawn level range increased
[mod] -- GH#078: lava elemental buffed, Erebus/Lava pits have diff dependent envirosuits
[mod] -- GH#077: swapped positions of Vaults and Cathedral, Vaults enemies buffed
[fix] -- GH#050: Containment Area conquered status only achieved by full clear
[fix] -- GH#049: Deimos Lab conquered status only achieved by killing the Shamblers
[fix] -- GH#040: fixed loud/silent sound for wall-destroying levers
[fix] -  GH#052: fixed error message when attacking crates with a melee weapon on AoPc
[fix] -- BETA  : fixed on-kill effects (crash with DS/BA and Beretta wins and Megabuster)
[fix] -- BETA  : fixed Backpack/Schematics bug
[fix] -- BETA  : fixed Ironman + Berserk granting resistance above 95%
[fix] -- BETA  : Vampyre blocks Ironman 

--- End code ---

Just a quick bit of feedback: it doesn't work under Winlator on Android, while does. It's probably just a low-quality version thing, or me having to mess with my container settings a bit. Incredibly low priority, but it's good to know (it could just be a newer version of the SDL .dlls as well, that happens sometimes). Are there any major graphics or sound implementation changes between the releases? Could be the new timing hooks perhaps, not sure. I'll have a fiddle and see if I can get it going, and report back if I do.

The easier controls will be a godsend for setting up touchscreen interfaces for phones (due to limited screen space).

Kornel Kisielewicz:
If you're talking on the difference between, and then, well, everything changed - SDL 1.2 -> SDL 2.28, OpenGL 1.2 -> OpenGL 3.3 and the fixed pipeline rendering into shader based rendering. Audio SDL_mixer -> SDL2_mixer.

Omega Tyrant:
To ensure they don't get buried in the Discord channel, I'm gonna compile a list of bugs here:

BUG #1

The "repeat level feeling" command still does not work for me. Is it a file pathway issue or from me modifying my keybindings? (though I'll note I did not modify the default keybinding for this command):

Spoiler (click to show/hide)
The error code is:

--- Code: ---Timestamp   : 2/6/2024 18:11:20
Error level : CRITICAL
Message     : Player action exception!

Error message : ...0\Downloads\doomrl-win-0998-beta3-lq\keybindings.lua:74: attempt to call field 'repeat_feel' (a nil value)
--- End code ---

BUG #2

The error messages from enemies killing themselves seems to have been mostly fixed, but I still occasionally get them when an enemy kills itself with a barrel (from what I recall it has been Shotgunners):

Spoiler (click to show/hide)
The error code is:

--- Code: ---Timestamp   : 2/8/2024 13:36:55
Error level : ERROR
Message     : Lua hook OnAttacked caught ELuaStateException!

Call path     : beings[soldier].OnAttacked
Call params   : (<object>,<object>)
Error message : Lua error : attempt to call a table value
--- End code ---

Also got this error code that I believe was from another one of these instances:

--- Code: ---Timestamp   : 2/9/2024 15:31:36
Error level : ERROR
Message     : Lua hook OnAttacked caught EAccessViolation!

Call path     : beings[soldier].OnAttacked
Call params   : (<object>,<object>)
Error message : Access violation
--- End code ---

BUG #3

When trying to assemble the new Mother-In-Law, the assembly didn't work and I got this error:

Spoiler (click to show/hide)
Spoiler (click to show/hide)
You can also apply seven mods to this failed Mother-In-Law:

Spoiler (click to show/hide)
The error code is:

--- Code: ---Timestamp   : 2/25/2024 20:31:01
Error level : ERROR
Message     : Lua hook OnUseCheck caught EPropertyError!

Call path     : items[mod_power].OnUseCheck
Call params   : (<object>)
Error message : Cannot write to property "Desc".
--- End code ---

BUG #4

Similarly, the Environmental Boots assembly, which also had its assembly requirements changed, results in an error too:

Spoiler (click to show/hide)
You can also repeatedly try to make the assembly, which results in this funny naming error. Note too that the movespeed penalty of Environmental Boots was still applied to the failed assembly, but the resistances weren't:

Spoiler (click to show/hide)
Here is the error code:

--- Code: ---Timestamp   : 3/30/2024 5:41:53
Error level : ERROR
Message     : Lua hook OnUseCheck caught ELuaStateException!

Call path     : items[mod_bulk].OnUseCheck
Call params   : (<object>)
Error message : Lua error : lua\\mod_arrays.lua:514: attempt to index field 'resist' (a nil value)
--- End code ---

BUG #5

The Medical Powerarmor still only recovers health to 25%, despite the normal Medical Armor having been buffed to heal to 50%. Don't know if this is a bug or if you forgot to apply that buff to the Medical Powerarmor, but noting it here to be fixed for either case.

BUG #6

This is a bug I think still remains from older versions, where it appears when either the player or an enemy is hit directly by an explosive attack, damage calculation occurs after knockback. This results in explosive attacks doing less damage than they should on direct hits as the entity is knocked into the weaker edges of the explosion before damage calculation, or they can even take no damage at all if knocked far enough out of the explosion radius. An easy way to observe this to have Phaseshift Armor on and when an Archvile is about to attack you, stay still so you get hit directly by the center of the blast, where you then take no damage as it knocks you out of the explosion radius, while conversely, if you are moving around and so get hit by the sides of the Archvile zap, damage still occurs as normal since this error seems to apply to direct hits only. Another way to observe this is to use a powerful explosive weapon with a small explosion radius like the Tactical Rocket Launcher or Napalm Launcher, where often when they hit an enemy directly, the enemy will be sent flying far back but take no damage, especially if you power-modded them, got substantial SoB investment, or are playing in Angel Of Max Carnage. Unfortunately got no screenshots on hand to demonstrate this at the moment, but I could get some the next time I find a Phaseshift Armor if needed.

BUG #7?

Killing the Apostle in A100 doesn't immediately end the game. Don't know if this is a bug or a deliberate change, but will note it in case this isn't intended.

Spoiler (click to show/hide)

Bug #8 (?)

Sometimes when you use a phase device at Phobos Anomaly, you're been thrown all the way to the right, behind the nooks of Bruiser Brothers. IIRC this behavior was explicitly limited in 0997, so any phase devices used would only drop the doomguy in the left or middle room (or starting room). Just finished an AoMr UV run with a phase device landing me almost at the upper right position of the level, some 6 north 1 west from the teleporter, and I was able to escape there without a hit from BBs.

Bug #9 (minor)

The image of a lost soul is distorted by text in 0998b3:
Spoiler (click to show/hide)
--- Code: -------------------------------------- Lost soul ----------------------------------
                    .     rrrS2SW0 BB880BWW8W8MBr                               
                .::ri:;:i:;S:2i ,Xr,.7,28aX;7SXrrrSi                           
               Xrrr;,i;7;ri.ii:,;. ;ra: ,MMZ7X;7777r                           
      i     2r;r7::.,i7:i7iZ8X;r;;ir, SaLost0soul  ,                           
   i . i2:X7;ii.iXX7i77:i;;i:.:r.:;ai:, Quick flyingafiery skull. These are     
   ,SXiX,r;ii7:;i,,rii:ir;;i:,raSr .i7;Mthe soulsrlost in Hell. Let them rest   
          ;7ir;7r,.r;:;:.,i,.:i.72a7,82iin8peace,ior rather, in pieces...       
           ..  . .,Xr,:i7iX;;;iri,i, ir ,     :,,;,:,                           
                       .   .:;i:;;;,  ...Sii:r                                 
                              .,  :,ir;rii.,X2, .                               
--- End code ---
Decided to show my wife why I'm playing that ASCII game and stumbled upon this.

Bug #10 (AI deadlock)

During my last AoMr run I've encountered a vault like this:

--- Code: ---==#########
--- End code ---
There were some items inside, at least a med-pack under upper-right demon, which probably was the reason of why did the two h's inside the vault not move away. But the two h's on the left are not expected to not move due to inability to reach a goodie, so should at least move leftwards eventually. That corpse was another h BTW. I went upwards instead of trying to dismantle these formers, but when I have returned after clearing the entire level, those formers remained stationary, which should not be the case of at least some of them. Also while I was dismantling the "ambush" from the right, the leftmost former didn't move until getting aggravated. This is at least weird, and at most an AI bug.

Bug #11 (sounds):

When there are more than 8 sounds being played (6-8, but I assume it's library-dependent, and old blasters were not supporting mixing more than 8; also the amount looks like 8), an attempt to play another sound results in silence. This applies to a lot of stuff: run-waiting beside the vault; radar or corner shooting a shotgun at several enemies (esp if something died from that shot; it plays 2 sounds for that enemy alone); having a ton of enemies be spawned in lava, shooting a rapid-fire weapon with TH2 and high accuracy, etc etc. This produces garbaged sound if there are short delays between playing sequential sounds, and indicates a sound programming error regarding stopping oldest-playing sound or something that looks like this.


[0] Message Index

Go to full version