First: that's a clever way of generating two numbers that neither player can unilaterally control. A lot like Diffie-Hellman key exchange! As long as at least one player is choosing numbers uniformly at random, then the result is also uniformly random, so each player is incentivised to choose randomly to minimize the control their opponent has.

The downside is that this means the chance that the buyer's number is at least as high as the seller's is only 50.5% - so very nearly half the time, no deal is possible, and there's no chance to change your lead vs your opponent. In fact, since neither player should accept a deal that would score them 0 points, **there's only a *mutually-agreeable* deal 48.51% of the time**. (47.53% if I insist on only accepting deals where I might have an *edge*)

I'd expect this would tend to frustrate players. Compare this to a game like Solitaire, [which has a solvability rate somewhere in the 80-90% range][1].

You may want to investigate whether you can find a way to **ensure the buyer more often gets the greater of the two numbers** - such as drawing chips with discernable orientation from a bag, held so each player only sees one face of the chip.

However, I think *some* possibility of an impossible deal is helpful, because it gives players plausible deniability: maybe I'm not being unreasonably stubborn/greedy, maybe my number's just on the wrong side of yours. That increases each player's uncertainty about their opponent's number and emphasizes the bluffing aspect of the game. So you might not want to *eliminate* impossible deals, just make them a less expected outcome. Especially if you explore [kaya3's excellent answer suggesting a reward for being the first to correctly identify the deal as impossible](https://gamedev.stackexchange.com/a/203006/39518).

The next problem is that, without any constraints on the negotiations, **each player is incentivized to be as annoying a negotiation partner as possible**.

ie. They should each start at the most extreme bid possible - $0 for the buyer, $99 for the seller - regardless of their secret price, to avoid revealing any information to their opponent. So the optimal first move is decided for you, and you're not really making a choice.

For the next move, well, the situation is the same, just with the domain of possible guesses reduced by one. That makes for a very tedious count-down, gradually narrowing the range of guesses toward the acceptable range.

The game can get more interesting once you've narrowed the range above your minimum sale price or below your maximum buying price, as you try to estimate  how much farther you can push. But since the penalty for a failed deal is always the same for both players, **your incentive to avoid a deal that's even slightly more favourable to your opponent than to yourself is stronger than your incentive to avoid no deal at all**. That means you should reject any deal that gives you less than about a quarter of your maximum theoretical profit, resulting in successful negotiations that move the game along only about one time in eight.

In practice, human players usually won't play in the way described above (it's mind-numbingly slow and robotic). But the incentives push them to get as close as they or their partner will tolerate. It's not a good thing when the optimal strategy is to exhaust the players' patience. 😉

You should **look for ways to break this symmetry** and punish a player who forces no-deal by being too greedy or drags out the negotiation well past their threshold of profit, so there's an incentive to take a deal over nothing, and an opportunity to bluff/play chicken with that penalty / opponent's reward. Again, other answers have great suggestions for specific mechanisms to do this, so I'll defer to them.

----

Despite all of the above, you probably find that the games you've played with your friends - at least the runs you've enjoyed most - deviate significantly from this behaviour. **It's likely you've invented unspoken "house rules" about what kinds of bids are "sporting" play**. If someone started negotiating in the manner described above, the group would likely protest that this person isn't playing "right". Those tacit norms can give hints into how to shape play in a way that's more fun.

Take some time to record a number of rounds that you and your friends have found enjoyable, and look for patterns in behaviour to try to suss out what these tacit rules of "good play" might be, and see if you can **formalize them into the game's explicit rules** in a way that keeps players from being too robotic, while still giving freedom of choice to find personal strategies within that range.

Some examples might be having a limited number of bids or ranges the bids can be placed within, so players have to gamble with larger steps and incomplete information, or even making those bids a resource that can be earned or banked so sometimes accepting a less favourable deal is worthwhile if it puts you in a better bargaining position for the next negotiation.


  [1]: https://math.stackexchange.com/q/121305/113006