One of the key elements of the Black Hack core mechanic is that it is geared almost entirely from the perspective of the character. A player rolls below their relevant ability score to attack, and then repeats the process to avoid damage from an attacking opponent. This places the onus on staying alive clearly on the shoulders of the character. There are some modifications based upon an opponent's Hit Dice which make such actions easier or harder for the character, but monsters in general do not have relevant abilities, or a "target to hit number". Again, this is all taken from the perspective of the character. Even Initiative is dependent on the character rolling below their dex to go before the opponent. I have also left out the mechanics of advantage and disadvantage, which are very simply ways to make this whole affair a bit more robust.
I have seen some criticism of this system, stating that having players make all the rolls ruins the sense of immersion. I think this is a valid argument from a certain perspective, and a certain playstyle. I don't personally see it as a problem, but that is just my opinion.
The real challenge for me with this system comes when an opponent has to deal with the environment. If a character uses a snare to trap an opponent, does the character roll each moment against their strength to prevent the opponent from breaking free from the snare, a trap that was on the ground? This doesn't make much sense. What about a character leaping over a chasm to escape a pursuing horde of goblins. It does not make much sense for the player to roll against their own dexterity or strength to prevent the goblins from making the jump.
I have run into this challenge with driving rules. Allowing a player to prevent an enemy from boarding their vehicle with a dex test makes sense. The player is actively trying to move their car away from the bandit or raider that is trying to jump onto it.
But consider a rubble strewn section of post apocalyptic highway that creates a driving hazard for the characters. The driver must make a handling check ( a dex check modified by the handling rating of their vehicle) to avoid the rubble and prevent rolling on the "crash table". It stands to reason that pursuing enemy vehicles would also need to avoid the hazard, and there is no way to abstract or rationalize a roll on the player's behalf to simulate this.
At some point, enemies will need some sort of stat to roll against, something more than hit points or hit dice, and this is where things get a little clunky. The system that works so simply, often described as elegant, starts to break down a little, and "work-arounds" are less "elegant".
WORK AROUND/ ALTERNATIVE
The solution I have found adds an extra layer of complexity to the "light rules".
Whenever an enemy is opposed by the environment, "they" must roll under a target number. This number can be a default difficulty number (17 for easy, 15 for moderate, 10 for easy, 7 for challenging, 5 for difficult, for example.), subtracting their hit dice from the roll. In this system, the GM must roll for the opponent.
Another alternative might be using a default number such as "9". and adding +1 for each hit die an opponent has, and this is their default "stat" to roll under (In the same manner that players roll). While this feels more organic as it is tied directly to the mechanics used by players, it does require the GM to determine the "STAT" for a monster. One way around this is to give monsters a value such as "STAT" in their description and chart. One problem is that it assumes that a monster/ opponent is equally skilled at overcoming every type of obstacle they encounter, and also creates a system that runs contrary to player's perspective. If a wizard casts a spell, does the wizard test their relevant stat (INT or WIS) to affect an enemy, or should the enemy have the chance to oppose the spell using their generic "STAT".
This could be taken even further, and one could argue that enemies could try to resist a character's attack using their "STAT".
I think, for my purposes, I prefer the generic difficulty table for enemies to roll against vs environment (GM must roll under a predefined target number and subtract "monster's" Hit Dice from the roll, a natural roll of 20 (5% chance) always resulting in failure).
This does not emulate the same system used by characters, and is easier to keep separate.
Whenever enemies are dealing with a character, the system always skews back to the perspective of the character.
Perhaps the only exception would be surprise attacks. A character should not be able to actively defend against an attack they are unaware of.
A hidden orc archer (raider sniper, etc.) takes careful aim at a party member. The GM makes a quick judgement on the difficulty of the task (Is the character moving? Does the character have partial cover or concealment due to obstructions or lack of light?. The GM rolls against the target number associated with the difficulty, subtracting only the difference between the orc's Hit Dice and the character's level (if the orc's number is greater) from the roll. - adding this extra element of comparing hit dice to levels compensates for the fact that this is not merely a monster vs environment situation, and is a compromise on behalf of the character.