Doom 3 Forum  /  Load Remover
  qckdthqckdth
(edited: )

Hey there,

after asking around a bit, I decided to try and do a load remover for the source Port RBDoom3BFG on my own. Thx to the Speedrun Tool Development Discord (Special Thx to Ekelbatzen and 0Seren) I got everything together, and here it is:

A first version of a load remover that still needs to be tested in a full run.

Currently there is no possibility to activate this load remover on Livesplit since it is not submitted yet.
¤edit¤
I've now submitted the Load Remover. It's possible to change the code at any time if changes are needed.
¤/edit¤

Setup:
So here is an instruction for the setup for your own testing:

¤edit¤
- Code is freely accessible under:
https://raw.githubusercontent.com/qckdth/Autosplitters/master/D3-6.txt
- the load remover can now be activated in "Edit Splits" > "Game Name: 'Doom 3'", and press the "Activate"-button below the Attempts counter.
¤/edit¤
- to see the game time, you have to add a game timer in the Layout Editor as well

Load Remover Properties:
- works for main campaign, RoE and Lost Mission
- times out level loads
- times out manual loads (Menu loads and quickloads)
- does not time out quicksaves
- does not stop in the menu
- does not time out cutscenes

One remaining question that I'd like you to share your opinion about is whether it's good to have manual loads timed out as well since they are not obligatory in the game but man made and maybe advantageous for your run. I'm not even sure if a separation of level loads and manual loads is possible, and I'm also ok with having both kinds of loads timed out.

So please feel free to test and share your experiences.

If the load remover works fine, I'd like to suggest to have Game Time as the future priority in sorting runs over Real Time.

Greetings
qd

 
  qckdthqckdth
(edited: )

Hey there,

so the argument has been brought forward that RBDoom3BFG is a different game than Doom 3 BFG Edition and Vanilla Doom 3. Those other versions of the game don't have seperate leaderboards nor do they have distinct livesplit entries. Since I've been playing the game, Livesplit only had "Doom 3" as an entry for this game; it contains Any%, Ressurection of Evil and Lost Mission as categories. It never had an autosplitter or load remover to be activated as well.

The question is if these games should be seperated in Livesplit. In my personal opinion they shouldn't be since RBDoom3BFG is the now standardised competitive version of the game. You don't need a load remover if you're not going for times on leaderboards.

Since there was an argument about it, I wanted to include it in this thread and have your opinions on it.

Greetings
qd

 
  spddqdspddqd

Load remover is marvelous because of the different kinds of pc rigs. For example, someone, who's running the game from SSD, could take advantage of a someone who's running the game from HDD. I'm the latter case. Though the problem is that you might need to find different address for different builds of RBDoom, thus making it not really useful as a long term thing. Otherwise, you did a great job 🙂

 
  EwilEwil

Depends if both vanilla and RBDoom3BFG are same, but from what I remember, Kibbo (the original runner of vanilla D3) said that both versions have different movement. There's also barrel boost and spawn boost, not to mention different framerate, which could affect physics and so.

Btw, loading screens are significantly longer on vanilla.

 
  TheLonerDTheLonerD
(edited: )

@qckdth, hello. Thanks for making this. What about auto-splits?

The second problem, as @spddqd pointed, is a various builds of (rb)doom3. I saw that you already found a static variable where 'isLoaded' is located, but this address can be changed on new builds of rbdoom3 (let's take only official cygwin (?) builds github.com/RobertBeckebans/RBDOOM-3-BFG/releases). How will you handle this?
Anyway, I suggest switch to 'plugin' format. On plugins it is much easier to handle multiple versions of exe-file (or builds if you want). For example, look at this: https://github.com/drtchops/LiveSplit.Skyrim/blob/master/GameMemory.cs#L29 it's a great start if you really curious about multiple builds.

 
  qckdthqckdth
(edited: )

Hey there,

thank you all for your comments.

The different Doom3 versions differe in physics that's right. The question is, if we need a seperate Category for the RBDoom3BFG version on livesplit.

I don't think we really need an autosplitter. Load Remover is just enough for this game i think. I'm not really a programmer so I wouldn't really know how to do it right now. Also this base adress is working for every kind of load. Sticking an autosplitter to this adress will not work im sure (however it works).

Did anybody try the Load Remover and check if it worked? It works for me and SuicideMachine.
If it works for all of you right now, we use it. If it doesn't work anymore on later builds (not earlier builds!) then we can still change it.

Greetings
qd

 
  TheLonerDTheLonerD

@qckdth, I've just checked on official steam doom 3 bfg edition (Doom3BFG.exe, md5: 2d775a1abae43de24b4662bf3bd54c38, size: 5,727,368 bytes), it didn't work. But on rbdoom3 build (preview3-win32-20160411-git-7728dc3) works perfectly, thanks.

 
  qckdthqckdth

It also doesn't work on BFG Edition for me. But it works on the RBDoom3BFG.
Didn't check vanilla version but i'm sure it's not gonna work there.

 
  qckdthqckdth

Hey,

so TheLonerD, as I've seen you introduced your own version of a Doom 3 Autosplitter:
https://raw.githubusercontent.com/TheLonerD/Doom3asl/master/Doom3.asl

Can you tell us what's new about it?

Greetings
qd

 
  TheLonerDTheLonerD
(edited: )

I've made support of all versions doom 3 (1.3.1 Steam exe, BFG Steam, RBDOOM3BFG Steam and standalone). Plus, I've made that all cutscenes counted like a 'loading time', i.e. cutscenes not including on a game time, because why not? I can make an option where user can edit this behavior if it's necessary.

 
  qckdthqckdth

Thx for your work TheLonerD. In my opinion it doesn't matter that much wheather cutscenes are part of the ingame time or not. On the other hand, it is a part of a run to skip the cutscenes as soon as possible. You have to know when they will be and be prepared to cut them immediately. In that respect it involves an action of the player.

What's the opinion of other players on this?

Greetings

 
  EwilEwil

Cutscenes should always be counted.

 
  spddqdspddqd

The thing with cutscenes are just like loading times. You can't seamlessly skip cutscene, because on different rigs it will make a few seconds difference because of the stutter. Cutscene skip made in RBDoom is reliant on harddrive and a little bit on CPU, sadly. Though the overall difference might be just 5 seconds in finalized run, so not really much of a difference.

 
  TheLonerDTheLonerD
(edited: )

I've made an option (and already pushed update to livesplit) to count cutscenes (including stutterings when you press 'esc' to skip) like a 'loading time' in case that rules can be changed in the future.
http://i.imgur.com/aqqUrxd.png

 
  qckdthqckdth

I've finally tested the new Load Remover. It is precisely stopping the timer when starting a load (unlike my timer). It is timing out skippable cutscenes reliably if you want it to.

I am undecided what would be the best decision on having cutscenes removed from time or not. I know it takes more time to skip cutscenes on worse setups, so basically they have to be timed out completely. That this is a player action I find negligible.
So I'm for timing cutscenes out.

Please @ other runners: share your opinion on this.

The Ingame-Time will finally be prioritised. Now is a good time to find the proper handling for this.

Greetings
qd

 
  Tezur0Tezur0

you guys seem to be wroking a that thing now, so I added "time without loads" column (we'll move times which are in that column now, don't worry), so that from now on, if you use your load removal tool, you'll be able to post not only RTA but also time without loadings.

as for ingame cutscenes - normally they count towards game time, so I would say that you probably want to count them in your time, cause that's how it is normally done. Gl, I might still pick up d3 some day.

 
  qckdthqckdth
(edited: )

¤edit
I thought about it again, and I think we should include cutscenes and their skipping into ingame time. It's part of the player action, and it's usually done that way. This is part of the rules now!

The Time without loads can't be missing on the leaderboards now since it is the priority time now. That's why I had to simply take the time with loads as time without loads.

EwilEwil likes this. 
  CorpsefleshCorpseflesh

Yeah, cutscenes should be counted to the IGT. Still have to test that load remover myself.

 
  TheLonerDTheLonerD

What about auto-splitting on map change, should I make it? It's easy to implement and really convenient for tracking if someone need it.

 
  qckdthqckdth

If it is easy to do, I guess it would be great 😃
Does it interfere with manual qs/ql ?

 
Latest News
View all
No news
Recent Threads
View all
Thread Author
Xbox version
Last post
Wayne_MearesWayne_Meares
4 replies
Doom 3 in Windows no open
Last post
WhiteWallWhiteWall
0 replies
Level leaderboard
Last post
ReniReni
1 replies
Load Remover
Last post
qckdthqckdth
26 replies
Vanilla Doom 3 mods
Last post
Mucus.MiddletonMucus.Middleton
11 replies