speedrun.com speedrun.com
  • Games
  • Streams
  • Forums
  • More...
    Home Games Streams Forums
    News Knowledge Base About Support Hub SRC Supporter Speedrun Shop
    Night Mode
    Social
    Twitter Discord
  • Log in
  • Sign up
Language (Beta)

български

Català

Čeština

Dansk

Deutsch

ελληνικά

English

Español

Français

Gaeilge

Gàidhlig

Bahasa Indonesia

Italiano

עברית‎

Latviešu valoda

Lietuvių kalba

Nederlands

日本語

Norsk

Polski

Português

Русский

Suomi

Svenska

Türkçe

中文 (简体)

中文 (繁體)

български

Català

Čeština

Dansk

Deutsch

ελληνικά

English

Español

Français

Gaeilge

Gàidhlig

Bahasa Indonesia

Italiano

עברית‎

Latviešu valoda

Lietuvių kalba

Nederlands

日本語

Norsk

Polski

Português

Русский

Suomi

Svenska

Türkçe

中文 (简体)

中文 (繁體)

Cancel
Diablo II: Lord of Destruction
Diablo II: Lord of Destruction (2001)
Diablo series
PC
Leaderboards
    Full Game Leaderboard Category Extensions Level Leaderboard     All     Act 1     Act 2     Act 3     Act 4     Act 5
News Guides Resources Streams Forum Statistics Boosters
Diablo II: Lord of Destruction Forum  /  What constitutes a "load"?

DrClicheDrCliche

Texas, USA

  DrClicheDrCliche
30 May 2020, 17:37 (edited: 30 May 2020, 17:39)

During the rules discussion today (2020-05-30) I attempted to get anyone in Teo-'s chat to elucidate what constitutes a "load", but no one could tell me a definition that wasn't obviously inconsistent and/or incomplete.

If we want to automatically re-time old runs (that have videos) via a script, this information needs to be known. (And it is known, at least to whoever wrote the autosplitter.)

When and why does the autosplitter stop the timer to remove loads? (What player actions and/or what game states trigger the starting and stopping of the timer?)

 

hellojoehellojoe

Germany

  hellojoehellojoe
30 May 2020, 18:26

A load (I believe it came from the -ns discussion) is pretty broad: It's loading the game, entering a new map, clicking ingame items on the map (e.g arreat summit ancients). Unless you want to define when the timer should stop and start. I am not quite 100% clear of what you want defined.

 

DrClicheDrCliche

Texas, USA

  DrClicheDrCliche
30 May 2020, 18:35

What do you mean by "loading the game"? What player actions and game states trigger the starting and stopping of the timer? Exactly when and why does the timer start and stop? What is displayed on screen at the time?

What do you mean by "entering a new map"? What player actions and game states trigger the starting and stopping of the timer? Exactly when and why does the timer start and stop? What is displayed on screen at the time?

What do you mean by "clicking ingame items on the map"? What player actions and game states trigger the starting and stopping of the timer? Exactly when and why does the timer start and stop? What is displayed on screen at the time?

Are there any other instances where the timer stops? What player actions and game states trigger the starting and stopping of the timer? Exactly when and why does the timer start and stop? What is displayed on screen at the time?

An autosplitter for Diablo 2 which removes "loads" exists. If we are going to write a script to automatically process old videos that were run without the autosplitter, with the intent to replicate the behavior of the autosplitter, we must know the what, when, where, why, and how of whatever the autosplitter is doing.

 

Teo-Teo-

Germany

  Teo-Teo-
30 May 2020, 20:37

loadtimes between S&E and the opening door sequence pause the timer
the first part of the TCP/IP should have a set punishment-time - I wonder how we can implement this in the script
also the timer must run when the game is closed

-> the TCP/IP thing will have to be talked about still with Wafu - i am not sure how easy that is to implement.

 

blazer-flamewingblazer-flamewing

(He/Him)

British Columbia, Canada

  blazer-flamewingblazer-flamewing
31 May 2020, 02:09

The autosplitter works by reading a byte in memory that changes whenever the game enters a loading state and comes out of it, as far as I know. Wafu would know more about it as he wrote it, I only tested it.

 

DrClicheDrCliche

Texas, USA

  DrClicheDrCliche
1 Jun 2020, 18:22

Obviously we can't read a byte in memory for a VOD, but if we can describe how the game looks and/or behaves shortly before, during, and after the autosplitter pauses or unpauses the timer, we should be able to write a script that will very closely mimic that behavior for re-timing old runs.

Unfortunately I still don't understand what constitutes a "load". A good explanation would look something like this:

----

There are exactly two situations where the game is "loading", and thus the autosplitter pauses the timer:

1) The player clicks "Save And Exit Game". From the moment of that click until the character selection screen appears, the game is loading and the timer should be paused.

2) The entire duration of what is commonly known as the "opening door" loading screen, which occurs after you attempt to enter a game with a character. If this loading screen is visible, the game is loading and the timer should be paused.

----

Please note that the above is just an example of the type of explanation that would be helpful. As I personally don't know what situations are considered "loads", I just wrote something that sounded reasonable to me, but might be incomplete or incorrect in various ways.

If someone with this knowledge can precisely enumerate every situation that constitutes a load, taking care to account for differences that may exist between different game modes, different networks, and anything else that could potentially be relevant, that would be great.

Pretend you are talking to a malevolent AI that is simulating a perfect and catastrophic idiot, who knows nothing but what you tell him, except when the opportunity exists to misunderstand anything, in which case that will be exploited to maximum effect. That is, please make every effort to be as complete, consistent, explicit, and precise as possible. Someone has to turn your explanation into a computer program.

 

WafuWafu

(She/Her)

Czech Republic

  WafuWafu
2 Jun 2020, 00:02

@DrClicheDrCliche There can still be changes as to what actually counts as a load. The load removal may still be changed if issues are found, so it's a bit hard to tell exactly right now.

The question is, are you interested in doing this work? Because if not, then it's pointless for me to give you the explanation, because I know how to make the script, it's just not really needed that much from what was told to me.

But anyway, there's 2 things that we count as a load:

1. When player selects a character, it seems to be from the first frame where the doors start opening (not the frames when the doors are closed). If you'd check the frames where the doors are closed, you'd include the TCP/IP loads, which are only supposed to count as a load after the doors start opening, otherwise there's no punishment.

2. When player clicks save & exit, you should check if this part of the screen is stuck (basically the center of the pentagram): https://prnt.sc/ss0pva (that happens after clicking the button) once you're in the menu, the timer should continue again.

 

DrClicheDrCliche

Texas, USA

  DrClicheDrCliche
2 Jun 2020, 16:35

@WafuWafu Yes, my intent is to write this script. I think it's ridiculous to just throw away a decade of historical runs when we can so easily convert the times for most of them. Anyway, so far my understanding of loads is as follows:

1) Any frame of the "door opening" loading animation is a loading frame, except for at the start of the animation when the door is still fully closed.

2) As long as "the pentagrams" show that "Save And Exit Game" is highlighted, any frame in which those pentagrams' animation is in the same state that it was in the previous frame is a loading frame.

Are there other situations or exceptions to these rules that you can think of? Does this cover local games, LAN games, TCP/IP games, battle.net games, etc.? Are there differences between Windows and Mac? Don't some of those options have an additional loading bar under the (static?) door picture? Are there situations in which the player can save and exit and induce loading frames without the pentagrams highlighting "Save And Exit Game"? Does the use of a glide wrapper affect the appearance or behavior of any of these UI elements?

Radicalman33Radicalman33 likes this. 

IndrekIndrek

Estonia

  IndrekIndrek
2 Jun 2020, 18:02

The leaderboard is already looking really awkward. We should go ahead and retime personal best runs at least. I'm all for it.

BokserKabatyBokserKabaty likes this. 

Teo-Teo-

Germany

  Teo-Teo-
2 Jun 2020, 19:15 (edited: 2 Jun 2020, 19:16)

we could revert back to the 1 column with a variable that says "RTA / IGT" or sth - not really happy with retiming those old runs, because then we have to remove the now "illegal" -ns runs and classic start runs

edit: will only do this if there is more there is a reasonable amount of runners for this option

 

IndrekIndrek

Estonia

  IndrekIndrek
2 Jun 2020, 19:37

Why would the illegal runs not get grandfathered if we retime? Could we just not retime illegal runs and set IGT for them same as RTA?

SirbruteSirbrute likes this. 

Teo-Teo-

Germany

  Teo-Teo-
2 Jun 2020, 19:57

that would only work with the API working - not gonna do that with hundreds of runs manually.

1 column -> old times having the Tag "RTA" and new runs getting "IGT" would be doable. No retiming required and the old runs can be grandfathered in.
i am against retiming of "now illegal" runs because then we will constantly have to explain the when and why - so they must stay with their RTA time or go away.

this is my opinion, and probably the most consistant with what was decided on saturday

but once again - not doing that without another vote... which we mb can do on saturday or so...

 

IndrekIndrek

Estonia

  IndrekIndrek
27 Mar 2022, 14:01

Diablo.run has been developing a tool to measure IGT from a video source and I have similar questions as DrCliche did.

I understand that IGT starts after clicking on "save & exit", but where it stops exactly is a bit confusing, because it has black screens between the loads. Does the load end when the black screen appears or after? Example of this situation: https://i.imgur.com/xV5hfUt.png https://i.imgur.com/uC0S2Gv.png

Need to clarify if IGT stops after black screen or before.

 

blazer-flamewingblazer-flamewing

(He/Him)

British Columbia, Canada

  blazer-flamewingblazer-flamewing
19 Apr 2022, 22:40

there's also when saving and exiting, there's the lockup between when you click save/quit and before a black screen happens (the spinninng pentagons stop spinning for example), as far as I know that counts as a load and would be hard to read with video detection algorithm

 
Latest News
View all
No news
Recent Threads
View all
Thread Author
Idea: bot speedrun category
Last post 13 Mar 2023
ifexsonifexson
2 replies
Pacifist Leaderboard? (And Rules Discussion)
Last post 4 Jan 2023
DrClicheDrCliche
61 replies
What constitutes a "load"?
Last post 19 Apr 2022
DrClicheDrCliche
13 replies
-act5 runs
Last post 16 Apr 2022
blazer-flamewingblazer-flamewing
4 replies
Made changes and built co-op board
Last post 16 Apr 2022
IndrekIndrek
0 replies
Moderators
LaVLaV  Teo-Teo-  KanoKano  blazer-flamewingblazer-flamewing  fuzziboyfuzziboy  IndrekIndrek  MekalbMekalb  Bender_Bender_  MacroBioBoiMacroBioBoi 
speedrun.com speedrun.com
Overview
Games Forums Streams News
Support
Knowledge Base About Support Hub Partnerships
More
Become a Supporter Speedrun Shop Privacy Policy Terms of Use
Socials
Twitter Discord
Copyright 2023
Elo Entertainment Inc.