Avatar

olmighty

olmighty

About

Username
olmighty
Joined
Visits
117
Last Active

Comments

  • @AmpersandUnderscore said:

    https://forums.bhvr.com/dead-by-daylight/discussion/comment/3968510#Comment_3968510

    So, here are just some of the things you can do simply by reading pixels, exactly as OP is doing:

    • Read the name of the map on load-in, and overlay a static minimap image in the corner of the layout with clock numbers (or really any map-specific image you like).
    • Read every buff or debuff in the corner of your screen, as well as read every hex or notification popup on the side. Between these two alone, it could also overlay a real-time killer build so you can track exactly what the killer is running.
    • Read and maintain a record of every gen's last known progress on the map, even if you don't know the location.
    • Read every perk and item on your character and give exact cooldowns/charges remaining. This could trivially track which survivors still have Pain Res charges to use and just show you that info.
    • Give an exact timer for the EGC.
    • Give a countdown for opening the gate based on the progress bar.
    • Read every BP event and give a real-time estimate for the match.

    You also have the added problem that, presumably, this also tracks StB, since it would have to follow the hook and understand that hook stage was transferred to another survivor. The only way to do that is by also tracking the audio, and knowing not only that a survivor screamed, but which one by hearing their voice. If you add audio to the mix, you can also easily:

    • Track killer cooldowns as survivor by listening for the M2.
    • Not only track cooldowns, but identify the add-ons used in a pretty big number of cases. (You could, for example, have an overlay that starts counting down the instant you reveal Ghostie that tells you when his shroud is back up).
    • With both audio and pixels, the system can narrow down the exact killer and just show you their picture within the first 30 or so seconds of the match.
    • Get a much wider range of confirmed perks and addons to display. No guessing "was that brutal?" The "mod" can just detect that the animation was exactly fast enough for that addon.

    I'm also going to point out that, while you seem to be basing your argument on the technical functionality here, I'm objecting from a principle standpoint. Especially if someone were to spend the time to train an LLM on the limited number of things in this game, there's almost nothing you can't do with just "reading pixels".

    I'm opposed to it on principle: these are all things you as the player can do, and should be expected to do. Can you keep track of the hook stages on a piece of paper? Absolutely, and it comes at the cost of turning away from the keyboard to mark it down. Can you track these cooldowns roughly in your head? Absolutely, this is called game sense. We shouldn't be pushing to offload things like game sense and game knowledge onto a 3rd party program to keep track of for us.

    This game is already not as complicated as people make it out to be sometimes, but rather than stepping up and learning, growing, or improving, we shouldn't be encouraging people to just give up and install software that does it for us. If the game is going to boil down to "who has the better 3rd party software installed", well… the same thing can be said of literal cheats or hacks.

    This is actually a good point. Exploring this method more leads to oversimplification of the game in the end, which would suck.

    Speaking from a technical standpoint, I doubt that you can do an app that would do ALL of the things that you mentioned (template matching is computationally expensive), but specializing in one thing is certainly an option.

    Of course, I'm not going to do this. I made this app to learn new things while trying to make the game I love better (as I see it).

    I don't think the hook counter and the timers the app provides are a problem, though. But I can see your argument - if we do this, where do we draw the line?

  • @jmwjmw27 said:

    When it comes to the EULA, this program might violate this term inside it:

    While participating in the Game, you also agree to comply with certain rules of conduct that govern your use of the Game (“Rules of Conduct”), for example you may not…

    Use or distribute “auto” software programs, “macro” software programs or other “cheat utility” software program or applications.

    Specifically, the part about "cheat utility" software programs/applications. Whether this program you made counts as one is open to interpretation, I am not a lawyer so I don't know how this would be interpreted. I'm sure the way their EULA is written they have the right to ban you for this, but I doubt they would bother even if you said you were using it (it is likely undetectable by EAC). That said, distributing this might put you on their radar.

    On an aside, I'm fascinated by the idea of a program like this. I'm assuming you made this in Python. What parts of the UI are you reading? Are you using a timer after a hook, the progress bar under the hook, or scoring events? Does this work with perks like reassurance, kinship, and scourge hook: monstrous shrine?

    It's made as a Windows Forms app using C#. I'm using Emgu.CV library to monitor the HUD. Mostly, I monitor survivor portraits and the space around them. To simplify: if the survivor's portrait matches the hooked icon template, they are considered hooked. If, after that, the survivor's portrait no longer matches the hooked icon template, they are unhooked.

    There are also a couple more scenarios I had to account for, like the survivor reaching the next hook stage before getting unhooked. For this, I monitor the area around the survivor's portrait and check it with the blood splatter template. The blood splatter appears when the survivor's status changes, including getting to the next stage. If I see the splatter and the hook template matches as well, I add another hook stage.

  • @LordGlint said:

    How does this interact when ppl are left on hook to hit stage 2 or when shoulder the burden is in play?

    The app detects and processes the next hook stage correctly.

    As for the STB, I decided to skip it for now. It seems that STB is bugged in it's current form. You don't see the yellow marker until you actually hook the survivor. When STB happens, I just press a hotkey to manually update the hook state.

  • @not_Queef said:

    I don't see how this is any different to using a reticule overlay for ranged killers like Huntress or Deathslinger, which many streamer including BHVR endorsed "creators" use.

    You probably won't get an official yay or nay for this, just the usual use at your own risk (aka. we have no idea if EAC will flag it).

    Now that they are introducing some form of basekit anti-tunnel, I hope they add individual hook counters for killers. It feels bad to kill someone early after not realising their dumbass teammates let them go second stage.

    It's EAC-safe as it doesn't interact with the game's code by any means.

  • Guys, I'm not talking about implementing this kind of mechanic without tweaking all the other gen-speed-related stuff (gen-defense perks, basic gen speed, etc.). The numbers can be (and should be) tweaked. 25% of a debuff is also just an example. I thought that was obvious, so I didn't even mention it.

    It's more about the idea of providing gen-defense for hooks. I'm talking about the gen slowdown because it's the most obvious reward for the killer, but it can be anything else (you are free to suggest). As long as it rewards the killer to go for any hook, not for a specific survivor.

    Because currently there is no in-built mechanic that would motivate the killer to go for any hook, and not just tunnel.